Agile Methods and the Need for Speed
When asking people why they want to use agile delivery methods, one of the most common reasons I hear is that they want to “deliver faster.” It seems that there is a widespread frustration with the way administrative bureaucracy, inefficient development processes, and overburdening governance processes impede project performance. In many cases, an apparently simple, short development project cannot be delivered quickly because of the process and governance overheads that stretch the project out across the calendar and act as a multiplier on the estimated project budget.
Of course project sponsors are frustrated with this situation – I’d be frustrated too. If there is needless red tape slowing down a project, that is an evil that should be rooted out and eradicated within our organizations. The problem, however, is that agile methods are not about delivering faster; rather, their benefits are in other areas:
- Lower Risk of Building the Wrong Thing — With frequent demonstrations of the evolving solution, the project sponsor and other stakeholders can see where the project is headed and they can redirect the project team’s efforts if there has been a misunderstanding of requirements. Additionally, this redirection can include the addition of new requirements or changes to existing requirements to ensure the project is delivering optimum value. It is important to note that the business stakeholders’ understanding of what they asked for evolves over the course of the project, bringing new insights and new requests.
- Rapid Reduction in Technical Risk — Through careful prioritization, the project team can quickly eliminate technical risk in the project by validating the solution design in early iterations. If an assumption proves wrong, or if the solution design does not work, then there will be minimal rework required (and possibly plenty of time remaining on the schedule) to correct the issue. Once the major technical issues have been resolved, the remainder of the project should proceed without further major interruptions.
- Higher Quality — By testing throughout the project, defects are found early when there is time left in the project to correct them and relatively low level of rework required to correct the problems. This is very different from the waterfall method wherein testing is performed at the end of the whole project, leaving little time left for correcting issues and a higher likelihood that corrections will require significant updates across many areas of the completed solution. Add in the benefits of regression testing – retesting past features/deliverables to ensure that recent changes or additions have not impacted them – and we can see that our most important items are tested and then retested over and over to ensure that they are of the highest quality at the end of the project.
- Reduced Waste — Agile methods put a very strong emphasis on continuous improvement activities with an aim to improve efficiency of the delivery process, allowing teams to reduce waste. At the end of each iteration, the delivery team holds a retrospective — a “lessons learned” meeting – where team members identify processes that are working effectively, those that did not work well, and what changes can be recommended for the next iteration to improve the teams’ productivity and the quality of its deliverables.
- Improved Trust — Under the agile delivery model, a project team makes smaller, short-term commitments that are easier to estimate and to achieve. As a result, the team develops a reputation for meeting their commitments, which helps build trust with the business sponsor.
- Open, Transparent Communications — Agile methods recommend frequent, open communications between team members and also between the project delivery team and the project sponsor. Daily team meetings help team members understand each other’s issues, fostering collaboration, mentoring, and early identification of issues to the project manager for resolution or escalation. Daily access to the project sponsor helps with escalation and rapid decision making. Agile status tracking techniques, such as requiring the delivery team to demonstrate completed deliverables at the end of each iteration, also help to improve transparency by revealing the true progress of the project — there should be no last-minute surprises for the sponsor of an agile project.
- Improved Morale — With a team able to meet its commitments by delivering completed solution components on a regular basis, the team members feel productive. Combined with the positive results of continuous improvement activities, team members know they are being efficient and see the value they are creating for the business. Shared team goals lead to cross-functional cooperation, which also adds to team productivity. All of these lead to good morale among team members.
- Lower Risk of Being Late or Over Budget — The above benefits combine to reduce the risk of the project completing late or over budget. Frequent feedback cycles ensure that misunderstandings are surfaced earlier when there may still be time to correct them without impacting the timeline. Continuous testing finds defects earlier to that they may be fixed earlier, reducing the risk of a major defect being found in the last days of the project. Continuous improvement activities (retrospectives) ensure that the project focuses on delivering efficiently. Transparent communications help to reduce misunderstandings that may lead to rework or other project delays. As you can see, many of our agile practices contribute towards reducing the risk of the project exceeding schedule and budget constraints.
The above items are the most common (and substantial) benefits that organizations achieve through the use of agile methods and none of them related to speed. There are a couple of other benefits, however, that do tie in to the need for faster delivery:
- Earlier Delivery of Business Value — By breaking the project down into segments that are delivered incrementally in regular intervals, the project creates the opportunity for the sponsor to make some use of a completed portion of the solution partway through the project. The sponsor may decide to use the partially-completed-but-still-functioning solution to beat competitors to the market and capture valuable market share, demonstrate to business partners what will be forthcoming when the project is complete so that they can begin aligning their own business offerings with the new solution, begin training users of the solution before the entire solution is complete, or any number of other beneficial scenarios. To capture early benefits in this way, the project sponsor needs to carefully prioritize project requirements and work with the project team to build a release plan that aligns with the business’ strategy. Each release to a production state requires a significant investment in acceptance testing, independent quality assurance, data migration, training support staff, and other production-readiness activities. Business sponsors should carefully consider these activities and costs when determining how often they should promote work-in-progress into production, as too frequent promotions can negatively impact the business case.
- Possibility of Completing the Project Early — Something that rarely happens under the waterfall method but which becomes feasible using an agile approach is the early completion of the project, saving significant time and money. If a waterfall project is terminated three quarters of the way through, the project team is probably still building the solution or is just entering the testing phase. At this point, the solution is untested and likely has many defects preventing its use by the project sponsor to achieve the expected business value. With the delivery of the solution in fully-completed segments throughout the project, with the ordering of those segments in order of business priority, and with early and continuous testing, there is the opportunity with agile methods for the business to decide to end the project early, when the remaining work is of lower priority not being worth the extra investment to build those pieces.
These last two items, when implemented, can lead to faster delivery. Project sponsors should be very conscious, however, that the early promotion of a partial solution to production incurs significant extra costs for acceptance, production readiness verification, and other transition activities. The option to end the project early also comes with the cost of cutting out some of the lower-priority project scope.
In both of these cases, increased speed of delivery comes with a significant cost that needs to be carefully considered. Sponsors citing “the need for speed” as their primary reason for pushing for an agile approach may not understand the other benefits that may be easier to obtain and may more meaningfully impact their bottom line. Single-mindedly pushing for speed may jeopardize the attainment of the project business case without a sound understanding of the activities required to transition deliverables into a production state. Project sponsors should engage in broader discussions with the delivery team to understand the required transition activities and to prepare a delivery strategy that maximizes the delivery of business value considering all relevant costs. As always, increased communication is vital for project success.
Kevin Aguanno, PMP, MAPM, IPMA-B, Cert.APM, CSM, CSP is a principal consultant with GenXus Management Consulting, a specialist in project and programme management strategy consulting with deep expertise in agile delivery frameworks. Author of over 20 books, audiobooks, and DVDs on agile topics, Aguanno teaches agile methods at several universities and at conferences around the world. Find out more at www.AgilePM.com.