Thursday 22 March 2007

The new SharePoint...smaller steps, greater strides

Microsoft's new SharePoint offering, MOSS 2007, offers many new and improved features that compliment and extend previous versions of the product. Rather than clumsily repeating the Microsoft marketing spiel here I would like to discuss a less tangible, but equally important aspect of this new framework - incremental development.

Collaboration is the key here, it is one of the principal benefits that a SharePoint portal provides and promotes. Ironically, the SharePoint framework also supports a collaborative and incremental approach to development that offers an attractive, lower risk alternative to up-front, big budget project implementations.

Slip into the cautious shoes of an IT manager looking for the ideal provider for his new corporate extranet. Excited by the prospect of sharing, managing and interacting with information that literally sits at the end of your fingertips yet troubled by the memory of past projects that never quite delivered what they promised. You have to justify large, up-front commitments to your project sponsors whilst convincing yourself that the arbitrary 30% cost increase for a fixed price quotation is a small price to pay for supposedly heaping all of the risk on your provider. Or do you?

Agile advocates will tell you that lightweight, throwaway prototyping is the way to go; RUP followers suggest a comprehensive set of document artefacts - your sponsors just want to see results.

SharePoint enables customers and providers to work closely together; building prototypes that can be continually reviewed and refined in small steps. The system being built is under constant scrutiny and changes can be made in real time. This removes the need for large, verbose functional specifications that are often misinterpreted and constantly changed. Rather, time is spent implementing the actual system; each functional area may be refined until an agreed point is reached before moving onto the next requirement.



Your sponsors are happier; with a small, initial investment they can see immediate results. As confidence is gained further investments may be made. Your providers are happier; they are keen to produce good work to ensure future investments. A lower risk approach is common to both sponsors and providers and the burdens of missing fixed cost schedules and costings is considerably reduced.

At the end of each discrete iteration, a decision is made to continue with the project or call an end to the proceedings.

Of course, the whole concept of iterative development has existed for a good while and may be attributed to both successful and unsuccessful projects. For once, I have to hold up my hands and say that SharePoint (in its new 2007 livery) really has given me the opportunity to offer our customers a credible and advantageous alternative to fixed cost deliverables.

Please take the first, low risk step and give it a try - you may find that the shoe really does fit :-)

2 comments:

Anonymous said...

Iterative development with Sharepoint 2007 seems to be the only realistic alternative as this is a new product and as such needs to be discovered by both developers and users. However will the product sponsor accept it? They always moan about estimates, which may be inaccurate at this case...

Wibbo said...

Estimating software is a difficult exercise and many studies have shown how poorly (in general) this is done within the IT industry.
The whole idea with an incremental approach is to invest a relatively small amount of time during which better estimates may be established.
The customer chooses a typical requirement which is then developed collaboratively where feedback may be addressed immediately.
Once the requirement has been satisfied, the time taken may be extrapolated to determine estimates for subsequent requirements.
In this way, customer and provider alike have modifiable, real-time estimates that represent a real-world view of the time taken to implement system features.
The problem is not the approach as such but finding a framework and infrastructure that supports it.
SharePoint, where appropriate, provides a framework where this approach may be utilised.