In a little while I’ll be heading to Charlotte, NC for this weekend’s SharePoint Saturday event where I’ll be presenting on SharePoint 2010’s Personalization features. This is really one of my favorite topic areas since I think this is a key area that can make the difference between a modest system with some user engagement and a truly collaborative environment with high user engagement.
Aside from my session there is a long list of great speakers and sessions lined up which has led to a strong turnout with over 200 attendees registered.
I look forward to seeing everyone there!
Other Scheduled Events
SharePoint Saturday Huntsville – Saturday, May 1st, 2010
SharePoint Saturday Houston – Saturday, May 1st, 2010
SharePoint Saturday Belgium – Saturday, May 8th, 2010
SharePoint Saturday Brisbane – Saturday, May 8th, 2010
SharePoint Saturday Philly – Saturday, May 8th, 2010
SharePoint Saturday DC – Saturday, May 15th, 2010
Over the past few years there has been tremendous progress in making many components and solutions available in the open source markets like CodePlex, SourceForge, or even individual blogs and sites. Many of these are community driven projects supported by individuals, with some by commercial companies. For some reason many companies avoid or strictly limit allowing these solutions to be installed or used. When approached properly I think these solutions should be considered. This article will cover the advantages as well as outline an approach to make take when evaluating which solutions to install and how to test them.
The first advantage of implementing any solution is that it should make it much quicker to solve a business problem. In some cases it might be a complete solution, like commercial software components, but at the very least it should act like an “accelerator” offering you a springboard to the final solution. One advantage that it has over commercially packaged systems is that you have the source code in case changes, additions, or fixes need to be made.
Another advantage is that it can expose the development team to different coding techniques so that they can better address similar problems in the future. Microsoft has been providing sample databases and applications for years for this very purpose. People tend to learn more by seeing examples in action versus class diagrams.
Review Project Status and Activities
Not all solutions are of the same quality and grade. In some cases there are a few quick samples while in others there was a more formal project with full QA that has gone through multiple release cycles. It is therefore important to review things like the product status and release number. It is also important to review the Issues log to see how much activity there is and how quickly issues have been addressed. You can typically get a good idea about how widely it is used. In some cases you may be familiar with the developers which offers the advantage of discussing questions and issues directly with them.
Approach to Testing
To increase your chance of success and mitigate risk, it is important to always fully test the components to meet both functional and performance testing. With commercial software the expectations are normally pretty high, but I would approach this as if a member of the project team produced it even if no changes were made. This includes specialized testing like the “DisposeCheck” tests typically done to custom code that interacts with SharePoint’s API.
When expectations are properly set, and the solution is fully reviewed and tested, including these open source solutions can contribute to the team’s ability to effectively deliver solutions quickly.