Having been ‘doing’ both Waterfall and Agile for quite some time now I feel fairly qualified to point out the idiosyncrasies in both approaches. None of these approaches is completely wrong, and equally, none of these approaches is completely right. It all depends on the circumstances, the organizational maturity, attitude, culture and inclination.
So, while I have had my fair share of frustrations with pure command-and-control organizations, my beef today is with Agile advocates that are exhibiting less than agile attitude when attempting to bring Agile into large command-and-control environments.
The scenario I’m referring to is as follows:
An organization with long and established ‘Waterfall’ methodology and way of working is convinced to give Agile a go. The Agile practice is getting momentum in certain quarters of the organization and the Agile portfolio is steadily growing. While it is growing in absolute numbers, in relative terms it is still but a small percentage of the overall development effort managed throughout the organization. Furthermore, crucial support services, like Release Management, Production Support, Infrastructure deployment, Enterprise Architecture, Enterprise Testing, and others are not yet fully integrated into the “Agile way of working” and are still operating with what would, traditionally, be referred to as Waterfall.
The reality in such circumstances is that while the software development aspect of the project/program can utilize Agile methods, the project in its entirety is still bound to interface with non Agile delivery teams, operating with a different cadence, different milestones, and different operational requirements.
For Agile professionals, such an environment is an ongoing challenge. It requires them to accept that being adaptive also means being able to operate within a Waterfall set of constraints. Integrating Agile into a Waterfall, command-and-control organization is not a nuisance, it is not a hindrance, it is not an anomaly, it is just the way things are.
Clearly, “operating” Agile in a fully ‘Agile-committed’ organization is relatively straight forward but many organisations are not yet adapted to allow for Agile practices to flow through the organisation structure, and in such cases, being insistent of doing ‘pure’ agile is not just childish but also unproductive at all levels. Attempting to force Agility down an organization is not being able to accept the fact that agile does not operate in an organizational vacuum. As an agile professional you need to remember that it is not the ideology that is important but rather the ability of the organization to reap the benefits of its technology investments.
Think about it!