Poorly implemented custom solutions can introduce security or performance risks, increase the cost of support, complicate deployment, and reduce productivity. Over the past years I have seen that developers do not always know how to develop good solutions for SharePoint. Even though SharePoint is build on .NET, developing for SharePoint is a totally different discipline than developing for .NET. More than often I have seen developers delivering code that was either seriously affecting the environment, not using the SharePoint deployment framework or very poorly documented.
In order to guarantee quality, it is very important to create a solution intake process. The process verifies if certain best practices have been followed and the solution is safe to deploy the environment:
- Create a code acceptance checklist for the developer to fill out.
- This checklist forces developer to sign off their solutions against a list of Best Practices.
- Check the code using SPDisposeCheck.
- This tool checks the custom code for memory leaks and proper use of disposable objects.
- Check deployment documentation.
- Check if the deployment documentation is correct and contains the required information.
- Check solution package
- Check if the solution package is created properly, using the Solution Deployment framework technologies.
- SharePoint Online Dedicated Custom Solution Policies and Process (October 2010)
- SharePoint Online Dedicated Custom Solution Developers Guide (October 2010)
Check list example: http://technet.microsoft.com/en-us/library/cc707802.aspx
Using Disposable Object: http://msdn2.microsoft.com/en-us/library/aa973248.aspx