Sunday, May 25, 2014

Implementing Agile on fixed price project

People often say agile is good for developing project where there is no pressure of fixed price, scope and deadline and not suitable for fixed price and deadline. Reasoning that we often hear is fixed price project always has clear scope and since there are hardly any scope changes so why to follow agile.
Before jumping on how agile can be useful for fixed price project let’s see what is agile. Agile project management follow below four values and every agile framework like Scrum, Kanban, Lean, DSDM and XP helps in achieving these values.
Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
Now look at closely how these four values can be implemented successfully in fixed price project.

Individuals and interactions are essentials for high performing team and communication plan needed not only to share the project progress status but also to facilitate inspect and adapt cycles. These inspect and adapt cycles can range from every few minutes with pair programming, to every few hours with continuous integration, to every day with daily stand-up meeting, to every sprint review and retrospective. We do prepare communication plan even in waterfall model but usually only to share progress status and but agile communication focus more on inspect and adapt cycles.

Working software is main object of every project either using waterfall or agile but as agile manifesto stress delivering small pieces of working software to the customer at set intervals. All agile teams must establish the meaning of “working software” at the beginning that often called definition of done. Since scope is clearly defined in fixed price project so product owner should start converting scope is product backlog followed by prioritization of backlog. Team picks the items from product backlog for current sprint and deliver working software at the end of sprint. Frequent build gives customer an opportunity to review the progress and adjust priority instead of discussing progress based on percentage completion.

Customer collaboration is key for success of fixed price project. Team often works in onsite and offshore model to collaborate with customer but agile gives another level of collaboration where product owner (proxy of customers) is involved throughout project and keeps working on product backlog. Sprint review gives an opportunity to get early feedback from customer about deliverables. Having early review of working software gives an opportunity to adjust priority as well. Frequent reviews and feedbacks help in coming up with release plan and avoid critical defects during deployment.

Responding to change is one the four agile values. Since we have frequent reviews and feedbacks so changes are expected but how to respond is the key. Though fixed price project has defined scope, we still prefer to have change management system is place because we know some changes may come and sometime those are part of contract but usually we charge customers separately for changes those are not part of scope. We can follow the same change management system even in agile but only difference that these changes will come early instead of coming very late where team often ask to stretch.  

No comments:

Post a Comment