Finding it difficult to put together fixed price contracts under your existing IT procurement guidelines as you move to an Agile approach to software development? Well, you’re not alone.
The most common contract approach for technology projects that follow Agile methodologies is time and materials. But this approach results in the client carrying all the commercial risk and often is frowned upon by procurement professionals and executives, due to its potential for cost overruns.
The generally accepted approach for low risk procurement of complex systems by organisations, that do not have large development resources inhouse, is to engage a system integrator using a fixed price contract (or lump sum).
This is the preferred approach because many delivery risks are outsourced to the integrator by the client and it uses the integrator’s project management disciplines. Finances are also better aligned with the business case process (i.e, the funds available can be matched with the fixed price contracted amount at the commencement of the contract.)
However, the difficulty with fixed price contracts is that they invariably require the client to define the technology solution to level of detail sufficient for the integrator to adequately price the whole scope of works at the time of bidding.
This always requires more detail than is available at the commencement of an “Agile” project.
What is Agile?
Before I go any further I need to define what I mean by an Agile development methodology. According to Wikipedia, it’s a software development approach that uses adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. This is a good high-level summary that embraces the Agile Manifesto.
As discussed earlier government and some large corporates typically procure the external resource component for their “Agile” team using time-and-materials contracts. This approach results in them taking the delivery risk but it has the commercial flexibility to allow a government client to deliver systems using an Agile approach.
Conversely, government procurement rules presuppose a waterfall approach and require fixed priced contracts to be retendered after detailed design and for the delivery phase of a project. This is done to ensure the incumbent design phase contractor is not unduly favoured by just giving them the delivery phase project.
Function points and project estimates
One solution to overcome the need to retender for delivery and to provide better budget estimates is to use function points coupled with a project costing database.
A function point is a unit of measurement to express the amount of business functionality an information system as a product provides to a user. Function points are used to compute a functional size measurement of software.
Sign up for CIO Asia eNewsletters.