8 June 2012

Why SharePoint Solutions Fails

SharePoint applications are best suit for bucketed solutions.
SharePoint is powerful, but need to be used for what it is intended for. For All type of web applications SharePoint is not an answer. SharePoint should be best suited for bucketed solutions. Where the major processing take pace beyond SharePoint and SharePoint provides the results of that processing .SharePoint is not a good option for large data processing, large content management, complex ORM models etc. Using SharePoint for a small percentage of what SharePoint is capable of doing will be poor on ROI.
SharePoint is not a closed application but a frame work.
One of the myths on SharePoint is SharePoint is a finished Product capable of doing our entire requirement. Out Of Box is a common terminology that got popular with SharePoint. Many people think that SharePoint is a finished product and don’t need any tweaking or customization to fit our need. This is not absolutely true. For example If a Customer ask us can we have a Document Management System in SharePoint without any customization we will say yes and this is true to an extent , but without customization like applying the policies , retention logics the Document management system in SharePoint  can’t stay for long. Because governance is an important part of SharePoint Solution. A SharePoint solution without a governance plan can’t survive for long or can end in disaster.
SharePoint Capacity planning is important factor
Lack of proper capacity planning A SharePoint solution can fail, SharePoint internally use different patterns and ORM models to make the functionalities. Some of them add complexity if we don’t follow the capacity plans benchmarked by Microsoft. Like any other application servers from Microsoft stack proper infrastructure resources are required for SharePoint for its optimum performance. We also need to consider optimizing the use of servers and the application services running on them in a Farm.  
Performance Tuning and SharePoint
There is lot of room for optimizing SharePoint application from the way OOB SharePoint provides. It include thinning  master pages / web pages, using optimized model, throttling mechanisms, proper and best coding practices while customizations, using best and optimal cashing mechanisms that suit the application. Users will abandon SharePoint applications if it won’t have the expected  performance.
SharePoint is all about delegation
Unlike a.net application SharePoint is a framework that can be extended by the end user for the needs. An end user with the proper permission can extend the functionalities of the SharePoint application by adding new features web parts etc. Lack of knowledge on this will results in using SharePoint as .net application. In most companies SharePoint applications are used AS –IS delivered from a project. If a minor change need to be done like adding an OOB web part or in co-operating an in-house functionality in SharePoint involvement of a developer is not required. Not using the delegation capabilities of SharePoint again is not proper utilization of the SharePoint.
SharePoint is not a permanent storage solution so retention must be in consideration.
SharePoint uses Sql server to store its content, so if we are planning to use SharePoint to store the documents or other assets by time it will impact the Storage and Performance. So we need to implement retention policies for the content, archiving mechanisms etc. to withstand the content growth adhere to the business requirement. There should be proper plan and policy for what should be retained and kept and what duration it should be kept.
Governance in SharePoint is important.
Governance in SharePoint should be an outcome of standard policies, rules and regulation to keep the SharePoint intact optimal and durable. Governance comprises three areas: IT governance, information management, and application management. Training users and users adoption is also a part of Governance. Inadequate or nil governance will end up in SharePoint solution failures.