Pete is a VP of Technology at ThreeWill. Pete’s primary role is driving the overall technology strategy and roadmap for ThreeWill. Pete also serves as ThreeWill’s Hiring Manager and is constantly looking for new talent to join the ThreeWill Team.
Many of us have been “lucky” enough to work on projects that have spiraled out of control (“lucky” only because it taught us a lot of valuable lessons). If we were to summarize many of those projects in simple terms it would go something like this:
Companies waste millions of dollars because nobody has the courage to say “this isn’t working, we need to stop or change course.”
This is possibly the biggest reason we advocate Agile methodologies here at ThreeWill: using short development cycles to provide immediate feedback, and asking whether we need to stop, or change course, is built into our process and happens on a regular cadence for all of our projects. “Inspect and adapt” is fearlessly carried out so that we avoid wandering down a futile path.
In the spirit of inspecting and adapting, ThreeWill Labs has decided to shift its focus away from reimplementing the “Fab 40”, which were modeled on the legacy SharePoint Application architecture and move on to other SharePoint Application Development endeavors which leverage the new SharePoint 2013 app model. Why are we making this change? In short, we’re being true to the Agile way and recognizing that the more we worked on this project, the more we realized that the patterns that were used on the original Fab 40 just simply don’t fit the world we live in now with respect to SharePoint customizations.
We started a Labs organization to enable ThreeWill to mitigate our customer’s technology risks, forge new technology directions, and innovate for our customer’s future. Those of you that are MythBusters fans, you know the phrase “failure is always an option!” While this is meant to be a humorous line, this is the value and risk mitigation that a Labs organization brings to our customers. There is value in arriving at an unexpected result, and there is value in moving fast enough to make some mistakes – simply to fail. However, for failure to be a positive, you must recognize and learn from those failures. Here are some important things we learned:
An App is a very different thing from a site template
Much of the previous Fab 40 was built around site templates that constructed a site that addressed a particular kind of need or project. As we began to work with the Fab 40 we had some spirited debates about whether we should write an App that programmatically provisioned a site that looked very similar to its earlier Fab 40 cousin, or whether we should write an App that implements the functionality that was encapsulated in the earlier Fab 40 template. We chose the latter approach and, while we still believe in that choice, it led us down some paths with unexpected turns.
Given our decision to go down the path of writing Apps for the Fab 40, we had to decide whether they would be SharePoint Hosted or Provider Hosted. We had a lot of conversations about this topic, but in the end we drew these conclusions:
- If these apps were to be free, then they had to be SharePoint Hosted, because the overhead of setting up and maintaining the back-end infrastructure of a Provider Hosted app simply isn’t practical for a free App.
- If it’s SharePoint Hosted then there are some specific technical deficiencies of the SharePoint Hosted models (such as the absence of App Installed/Uninstalled Events).
- If it’s SharePoint Hosted then anyone with a debugger can inspect your code and easily modify it’s behavior without changing the source. (Come to the webinar. You’ll see it happen live).
There are other lessons learned, but in short, we didn’t feel comfortable continuing to pursue Apps once a critical eye had been cast on the options evaluated, the implementations, and the degree of value these apps provide for our customers, the community and our efforts to innovate.
So where do we go from here?
We will still provide the Absence Request and Vacation Management app for download, but will point back to this post and others to explain why we have stopped creation of additional templates. We have learned a great deal from converting Fab 40, the benefits and risks of the SharePoint 2013 App Model, new technologies and techniques to deliver value to our customers, and that our process of inspecting and adapting is of great value to us and our customers. ThreeWill Labs will continue to proactively invest in our people, process and technology. Stay tuned, we’ll have more to say about our coming projects very soon.