Is Agile for project delivery only?June 15, 2012
In many organizations Agile is considered a solution to their project delivery problems. They are struggling with long delivery cycles, low quality and higher costs. Their competition is responding faster to customer needs and changing market dynamics and is releasing new features frequently.
The obvious solution they find is to adopt Agile in their delivery organization without changing any other part of the organization.
Traditionally, these organizations follow a well defined process which guides people how take an idea from vision till launch and maintenance. This process consists of cascade of phases, based on traditional processes. The number of step vary from one organization to another. Most organizations have three to five phases. These include,
- Vision, idea and evaluation phase: during this phase vision and ideas are gathered. These ideas are evaluated by different committees, forums and individuals. Ideas that meet a certain criteria are given a go-ahead.
- Project mobilization phase (many call it project initialization): detailed information about the approved ideas is gathered during this phase. Detailed requirements are gathered. Architecture and design is conceived and evaluated upfront. Finance and project management office require this upfront analysis to allocate funds and resources to projects. Once funding gets approved and resources are allocated, the projects are allowed to move forward to the next phase.
- Project development and delivery: during this phase a project team is put together. It is given a set of requirements, architecture and design documents. It is responsible for development and delivery of this project. A project manager is named.
- Maintenance phase (many call it business as usual phase): during this phase active development doesn’t happen. Smaller enhancements and maintenance work is carried out.
As organization start to adopt Agile, step 2 poses tough challenges.
Agile projects work with emerging requirements and plans. This provides a challenge for the part of the organization responsible for budgeting and resource allocation. The finance and project management office require detailed upfront information about the scope, schedule, delivery and resourcing plan. Funds and resources are released to projects only after receiving such information upfront.
Many organizations take the easy route. They adopt Agile only in the third phase, during development and delivery. The process before the development and delivery remains traditional and rigid as ever.
They do get a few benefits during the project delivery phase. However this leads to suboptimal results at best across the organization,
This approach, more often than not, creates tensions between the Agile projects delivery organization and the rest of the organization which is still working in traditional waterfall fashion. In the new changed “Agile delivery process”, other team and units still require upfront requirements, architecture and resource analysis to release funds and resource. Once the resources are sanctioned, projects are given a go-ahead for Agile delivery.
This ‘new Agile delivery’ process retains most of the disadvantages of the waterfall approach. Requirements, and bulk of architecture and design work is carried out upfront. A plan is developed based on this analysis. Then ‘Agile Delivery Teams’ are measured to deliver on these plans. As the Agile development teams move forward, new requirements start to emerge. Customers and fast moving competitors force new features to be added, and changes in some existing features. Architecture and design decisions made earlier now need to change in order to reflect change requirements. Lots of work put into upfront architecture and design goes to waste. In many cases, design and development work done based on earlier assumptions during phase 2, now hinders rapid changes design and development of new requirements. This not only limits agility of the project team, but also pushes cost upwards.
Organizations need to find out where the challenges lie. They need to point out the areas that need improvement. What do they want to achieve? Do they want to be able to respond to market changes rapidly? Are they concerned with product lifecycle cost? Are their product releases taking painfully long time? Is quality becoming an issue? Do they want to break into new markets and feel the market pulse while controlling risk? They need to develop clear objectives. These goals and objectives are likely to change as they embark on your journey, but Agile will help them cope with the change.
Agile delivery often looks like the low hanging fruit. Agile certainly helps in sorting out some pressing delivery issues. Organizations reap limited rewards in terms of agility until they look across the whole lifecycle, the complete flow, from concept to cash.