Wednesday, June 18, 2014

Peak SharePoint?

Although SharePoint Server has historically been one of Microsoft’s fastest growing products, it may just be that the world is approaching, or perhaps has even reached, Peak SharePoint [Adoption]. I am not naively suggesting that SharePoint adoption will drop off precipitously, but I think the case can be made that SharePoint’s best days may be behind it.

I am currently co-authoring a new edition of Applied Architecture Patterns on the Microsoft Platform for PACKT Publishing. The new chapters that I have written include a SharePoint Primer, and one of the first points I make is that SharePoint is not a product, but rather a business application platform. It is the breadth of capabilities in SharePoint (and a fiendish viral sales and marketing strategy) which have made it such a popular platform, but it has also made the platform incredibly complex, and difficult and costly to manage, administer and maintain. I posit that it is this complexity that will ultimately bring about SharePoint’s slow demise.

SharePoint is a distributed ASP.NET web application, which uses complex HTML, CSS, and JavaScript, and a .NET-based API, which  makes COM Interop calls to COM components in an ISAPI Extension, which  accesses data stored in a hyper-normalized SQL Server database and XML files stored in the Windows file system. And that is just the core system; SharePoint also exposes a plethora of other services, each with their own complexities and idiosyncrasies.

Before the 2010 release, SharePoint was not considered a serious contender in the Enterprise Content Management space, and adoption was generally limited to the departmental level. SharePoint 2010 hit a sweet spot, providing sophisticated ECM capabilities at a price point that was impossible to ignore. SharePoint 2010 was also necessarily much more complex than SharePoint 2007, and upgrades to the new version were painful and costly for enterprises, and created an entirely new and very lucrative IT consulting sub-sector – SharePoint Wrangling. 

I have worked with multiple organizations who have SharePoint Site Collections that have 100GB or more of content stored in them. Many of these Site Collections have been in existence for years and have been subject to significant entropy and Bit Rot. Administrators of these Site Collections have no simple way to differentiate relevant and useful content from trash, and often need to use 3rd-party discovery, management and migration tools, to get a  handle on their SharePoint infrastructure.  By the second law of thermodynamics  the entropy will be ever increasing, while the potential value of the Site Collections increase as content is added; value that is going to become more difficult and expensive to extract as these Site Collections age.

Clearly Microsoft’s plans for SharePoint are in the cloud. I was told by an ex-colleague who attended the recent SPC14 conference that the sessions were dominated by topics related to Office 365 and SharePoint Online. Microsoft is also regularly releasing new versions of SharePoint Online, while the on-premises product lags behind; SharePoint Online already reports its version as 16.x, while the on-premises version is still 15.x. Despite Microsoft’s focus on SharePoint in the cloud however, enterprises have not rushed to move all of their on-premises content to Office 365. I suspect that this is because of the current price-performance/scale characteristics of SharePoint Online and a lingering distrust of The Cloud. I image that Microsoft will address the former soon and the latter will dissipate over time, but I do not believe that a move to the cloud will drive a new wave of SharePoint adoption and upgrades.

Organizations who have a significant existing investment in SharePoint have not rushed to migrate to SharePoint 2013, either on-premises or in the cloud. 

Migration from SharePoint 2007 to 2010 was so painful for many who accomplished it that they are probably reticent to attempt it again with SharePoint 2013, and the new features in SharePoint 2013 do not seem to be compelling enough to justify the effort or risk. In particular, the new Social Computing features seem half-baked when compared to what is available in Yammer. The Yammer acquisition obviously happened too late to influence SharePoint 2013’s feature set. The Mobile Device features also don't seem particularly compelling, given the super-high-resolution screens and highly-usable browsers that are now the norm on mobile devices.

So what could Microsoft do to drive a new wave of SharePoint adoption and upgrades?

The promise of ECM is that it can turn any organization into a Learning Organization by enabling the extraction of significant Knowledge and Wisdom from all the content they generate and store. This has been the Knowledge Management Holy Grail. Unfortunately, like the elusive chalice in the Arthurian Legend, it has in almost all cases remained unfound. In my opinion the failure to deliver the promised Return On Investment of ECM is because Knowledge Management is currently heavily predicated on human classification of content, and because to date ECM systems have heavily relied on Search capabilities to extract Knowledge. It is abundantly clear that in general humans are terrible at consistently  categorizing and classifying content (probably due to innate human cognitive biases). Machine Learning and Natural Language Processing technologies have now reached a point where they can, on average, do a far better job at automatically classifying content (in a computationally cost-effective manner), and can even improve the accuracy of their classification over time.

With SharePoint, Microsoft brought Enterprise Content Management to organizations of every size, by providing a powerful, usable, feature-rich platform at a price point that almost any company could afford. Perhaps if Microsoft did the same for sophisticated Machine Learning- and Natural Language Processing-based automatic content classification, they might give the SharePoint platform significantly longer legs, and allow all of their customers to realize the promise of ECM and Knowledge Management. The substantial value that this would add to the SharePoint platform should also offset any issues associated with the increased complexity of the platform.

Given the staggering potential value of the content currently stored in SharePoint instances the world over I don’t doubt that it will be around for decades to come, but I also suspect that it has grown overly complex, and difficult to manage and maintain. If Microsoft doesn’t do something disruptive with the platform soon I strongly suspect that we will shortly reach Peak SharePoint, if we haven’t already.