Microsoft ships SharePoint with a lot of out-of-the-box features. However, no out-of-the-box portal is going to give you everything you want out-of-the-box. So at some point in your implementation of SharePoint you are going to need to do some custom development. Have you thought about your development strategies for SharePoint?
If not, Forrester has thought about that and on September 30, 2011 published a report titled “A SharePoint Custom-Development Strategy Is More Crucial Now Than Ever“, by John Rymer, Rob Koplowitz and others. Like Forrester, we see a strong interest and adoption rate of SharePoint 2010. With the latest release, SharePoint is bringing very good capabilities to build custom applications. But there are still issues with custom applications that must be considered and addressed before you get too far into the development lifecycle.
Data from the Forrester report is based on the recent SharePoint survey (see my recent blog post: Forrester’s SharePoint Survey) so there is some repetitive data from the previous report. There are three main points relative to custom coding that Forrester points out in this report:
- Custom code raises migration risk – some interfaces in MOSS 2007 did not migrate to 2010, breaking some custom applications
- Custom code slows application delivery – bad code can bring down an entire SharePoint farm and all the websites. Extensive testing must be performed, which can delay implementation.
- Custom code may not play well with others – Forrester reports that there are sometimes conflicts between custom modules that are hard to overcome, leading to greater complexity and potentially slowing down performance.
- Make SharePoint your “fast app delivery” platform – here consider using SharePoint where users would have previously built applications in Excel or Access. Leave the heavy lifting to applications running on platforms intended for high volume transactions.
- Use SharePoint custom applications to improve major business processes – Use SharePoint’s strengths in collaboration to improve your business processes. You can integrate SharePoint into your existing processes with some custom coding. See Duet Enterprise for SharePoint and SAP as an example of extending business processes using SharePoint.
- Use SharePoint to improve analysis and reporting – SharePoint’s built-in tools provide a lot of features in the area of visual analysis. Combine these features with SharePoint’s collaboration features and you have a winning combination.
- Design your SharePoint architecture for the long run. Its easy enough to just plop down a SharePoint server and get started. However, you should avoid this temptation and plan the architecture appropriately.
- Look for third party partners for custom development. There are already lots of third party applications and web parts available for SharePoint. Take advantage of them where you can.
- Make sure you plan for integration testing whether you develop custom code or obtain it from third parties. You should test third party applications in your environment (you’ll need a test environment in your long-term architecture) to ensure compatibility with your other SharePoint components.