Agility is now indispensable for developing products and services. Indispensable? Really? Perhaps not always.
Agile approaches are not the answer to all our woes, and it would be interesting to ask ourselves in which contexts they are most relevant.
Why is building a bridge using an Agile approach not a good idea?
Because a bridge is a monolithic construction, the scope of which is mostly inflexible and where value is obtained only once, i.e. at the end of construction. This is why we would tend to build a bridge using a detailed plan that ensures the integrity of the structure.
Furthermore, the uncertainty associated with the Champlain Bridge can be identified before it is built. It seems to me that in 2016, engineers are pretty good at building infrastructures. We have a solid understanding of the St. Lawrence River and the Montréal climate and we can anticipate the future use of the bridge.
In a context such as this one, in which the initial information is reliable, in which there is nothing to be learned during construction, in which the scope of the project is largely inflexible, waterfall methods are the most suitable.
A waterfall method is effective in contexts that are certain and where there is no room for error. It begins with a comprehensive preliminary analysis that measures the full complexity and uncertainty of a problem, and continues with the detailed product design while accounting for all aspects of the problem. Once the solution has been designed, the risk now becomes delivering this solution efficiently, i.e. within budget and on schedule. To do so, we use an activity planner such as a Gantt chart, coordinating the effort of all contributors as efficiently as possible.
To which contexts are Agile methods best suited?
It is not always possible to reduce the uncertainty of a problem by designing a detailed solution. When the initial information is inadequate and the product is sufficiently flexible to allow for experimenting, empirical approaches such as Agile methods are most effective. Agile methods address the uncertainty of a problem by quickly producing an increment—as indicative as possible—to validate or invalidate an important assumption. Once this validation has been made, one can move on to the next assumption with greater certainty. With each increment, one gets a little closer to the most optimal solution possible.
That said, one sometimes has the impression that our projects are more certain than they are uncertain, as in the case of the bridge. Here are a few personal perspectives that might challenge your convictions and will help you to better choose between a waterfall approach and an Agile approach.
Implementation of ERP software: feasibility uncertainty
From the suppliers’ perspective, implementing enterprise resource planning (ERP) software is probably more certain than it is unpredictable, as they have a perfect command of the nuts and bolts of their platform. A supplier would thus have a tendency to propose a waterfall approach to deliver efficiently.
- product development
- process improvement
- designing a building using Building Information Modelling (BIM)
What is uncertain is the customization for the client. The more the client’s needs differ from the vanilla version of the platform, the more important it becomes to validate certain assumptions. For example, is it true that the new platform will be more useful than the old one? That the new dashboards will be more reliable? That operational efficiency will be enhanced?
Configuring a single useful or frequent operation would help validate both that the ERP platform and the client’s environment are a good fit and that the anticipated benefits are obtained.
Thee results of this experiment would allow the supplier to better evaluate the required customization, while allowing the client to measure the return on investment as well as the effort required for adapting the processes, integrating the platform, as well as performing data cleansing and change management.
From one operation to another, the client and the supplier would enhance their collaboration while moving together toward the most optimal configuration.
Marketing campaign: market impact uncertainty
Because image is everything and advertising campaigns are costly, companies don’t leave much room for error to agencies. As a result, agencies may believe that a waterfall design will enable them to develop large-scale campaigns in which nothing is left to chance. Unfortunately, it is very difficult to predict the true impact of a campaign and how it will be received by the target audience.
- training program
- change management program
- redesigning a space
- hiring strategy
- writing a book
- development of a new product
- sales strategy
One increment of the campaign—testing messages with the target market—can reduce uncertainty in the major concepts of the campaign and would make it possible, one increment at a time, to produce the most “punchy” campaign possible.
My daughter’s homework assignment: experience and skill uncertainty
For her junior high school science class, my 13-year-old daughter had to build a self-propelled front- or rear-wheel drive vehicle. The teacher encouraged the students to design their vehicle using a waterfall approach, first by learning the physics of energy transfer (springs, gears, axles), then by designing a vehicle using these concepts, purchasing the materials, and carrying out the steps of construction. The final step would be a classroom competition for the vehicle travelling the greatest distance.
My daughter, who had complete confidence in her design, was surprised when I suggested that she test the car before the contest.
– Why? The teacher validated the design and I followed it.
The test run was a bust, however. The propeller that she had built herself offered no thrust; as a result, the car didn’t move at all. It was a disaster, and we only had the weekend to modify the car before the competition.
- research and development
- adoption of a new technology
Normally, engineering is a rather exact science, and it is possible to believe that the vehicle design could have sufficed. However, my daughter’s limited know-how called for an incremental approach, which ensured her of a certain minimum performance in the contest.
Team project: team dynamics uncertainty
Do you have fond memories of your group projects in school? It’s not uncommon for students who are used to working alone to lack chemistry when working in a team. Often times, one individual finds him- or herself responsible for incorporating all the material the night before the deadline.
In this context, an incremental approach allows a team not only to reduce uncertainty in the final product, but especially to improve collaboration between its members by frequently comparing one individual’s contribution to that of their peers.
- Integrating deliverables produced by different individuals or teams
Uncertainty is therefore not always associated with the business or technical fields, but can also be related to our working processes.
Agile or not Agile, that is the question
Agile approaches are not the solution to all problems. When the initial information is sufficient, when the product is not particularly flexible, or when we don’t have the latitude to experiment, Agile methods are less effective.
On the other hand, a field whose complexity appears certain can prove to be more hypothetical than anticipated:
– Is the business value or impact of our product guaranteed?
– Do we fully understand the technical field of the product?
– Will the team dynamics be effective?
Agile methods are highly relevant when uncertainties cannot be verified through analysis, but rather through experimentation.
To use or not to use an Agile method is therefore, in my view, not a choice by default, but rather a decision that must be made before each of our projects.
What about you, how do you go about choosing between Agile and waterfall approaches in your respective projects?