Thursday, 30 April 2009

Agile and SharePoint

My take on using Agile acceleration with SharePoint is pretty straight forward. SharePoint provides, for a price, to users and developers a massive set of code and function for reuse.

At the start of a project you can deploy a SharePonit virtual machine during requirements gathering. This will allow you to rapidly spike requirements in the first days of analysis. This is something that is a bit difficult to precisely describe.

A spike is when you take a discovered use case all the way to a proven implementation. You can start this rapidly in SharePoint. You can also get rapid feedback.

In most SharePoint projects I have worked on the business driver is generally to use SharePoint to meet as many business needs as possible at as low a cost as possible. Technically that is not much of a business driver I know, but the key base of development is that a client exists who wants something. If what they want is to use SharePoint for as much as possible than that is the requirement.

I generally start out a conversation with stakeholders by doing a mind map of communication uses in the company. I will move this to a set of gaps as quickly possible. These I will then spike out during the initial conversations, sometimes building things on a virtual machine with the users right there.

Then development will always be done in 2-3 week iterations. Iterations in SharePoint are short because its fairly easy to scope out BUT testing is critical. All code developed in SharePoint Object Model will have tonnes of dependencies on code you have no access to. You have to test constantly and developers are more researchers than creators much of the time.

Once you get your clients machines set up, which should be done in weeks and not months and should start with virtual machines when ever possible to start out. You can start moving work as a mixture of back ups and/or features and solutions.