Try convincing a non-Agile practitioner of the Agile way of working; the most prominent and probable question will be, "What is the benefit of Agile/iterative development/incremental delivery?"
The problem with this question is that the questioner actually wants to know how it will help in the projects and environment they are working on and in, about which we don't have any idea. So it's generally difficult to explain in the context of the software development the work the questioner is doing -- but it's easy to quote real-life examples that one can relate to.
As a result, I'm continuously looking around to find real-life examples of Agile. This article is the result of one such example I found in Bangalore, India.
This example is of building a flyover on an extremely busy crossroad near major IT establishments like IBM, Cognizant, Nokia, and Phillips (to name a few). This flyover project demonstrated how incremental delivery can indeed be extremely useful for the project as well as for the end customers.
During flyover construction, which usually lasts approximately 18 months, one of the challenges is handling high traffic inflow (especially during morning and evening rush hours).
Before getting into the details of this case, I'd like to let you know that, traditionally, Bangalore flyovers are constructed in three steps:
1. A temporary road is constructed next to the main crossroad.
The main crossroad
2. Flyover construction work is started from both directions.
3. After 18 months or so, the work is completed and the temporary road is removed.
Now in the crossroad we're talking about in this article, the construction was planned to have incremental delivery, so that one direction of the flyover would be constructed before starting the work on the second direction. The construction happened in following steps:
1. A one-way temporary road is constructed.
2. A one-way flyover construction is started.
3. The one-way flyover construction is completed and opens for two-way traffic. The overall traffic is still slow, but much better than without any flyovers. Here the end customer (commuter) is using what we call a product of incremental delivery.
4. The same temporary road is used along with the original road.
5. The second-direction flyover construction starts.
6. The second-direction flyover construction finishes.
This incremental delivery helped customers use the project (the flyover) in nine months instead of waiting twice that long (plus some inevitable delays). I could see many benefits to this approach:
The completion of the one-way flyover was much faster (completed in approximately nine months).
With a divider on the flyover, the same flyover was marked for two-way traffic, which managed to reduce the load on this crossroad.
The traffic situation improved at the junction, though it's still slow at peak hours.
With two-way traffic on the flyover, there was no need to construct another temporary road.
The second-way flyover was constructed without any extreme pressure, as one flyover was already operational, which reduced the pressure.
The end user got to use the flyover in half the time (9 months instead of 18).
Aren't the benefits comparable to Agile software development, with incremental benefits? At least I believe so.
So next time, if someone ask what the benefit of incremental delivery is, you have one more example to share.
Here is the actual picture of this junction (taken during the construction phase). You can see that one direction of the flyover is completed and open for two-way traffic, using temporary dividers, and construction on the second way is in process.