”Agile thinking” has taken over big time. Majority of us think that it is good, or even necessary, to be agile and a few of us even have a clue about what it means in practice.
Agility comes in two breeds (or three, if dogs are included): agile development and strategic agility. The origins of agile development are in a set of development principles inspired by lean philosophy, known as ”agile manifesto”, and a highly rigorous fast-cycle teamwork method known as ”scrum”. Strategic agility, on the other hand, is a management principle that emphasizes adaptive organizational learning through market sensing and experimentation. Agile development and strategic agility are both fundamentally work culture issues.
“…the agile ideology has already proven its power.”
The two breeds of agility aim at responding to the same challenge, but otherwise they have little in common. The common challenge is to achieve better market response quicker under volatile conditions. All agile approaches seem to boil down into two lean principles: rapid feedback cycle and minimization of work in progress.
The early adopters of any ideology or method tend to be enthusiastic, competent, and hungry for success. Therefore, initial success is usually guaranteed. This happened with agile methods too. Today, in its early years of maturity, the agile ideology has already proven its power. Now it meets three new challenges: business integration, scalability, and architectural sustainability.
Business Integration of Agile
Agile development methods have a built-in assumption that the ”customer” is inherently interested in the progress of development and eager to give frequent input to steer the development. While this sounds like a fair assumption it is rarely true. In real life the ”customer” is busy with other things. Likewise, strategically agile business management greets with joy an agile organization that is eager to receive ever-changing market requirements and take fast turns whenever the business calls for it. Unfortunately business management also tends to assume that while welcoming changes, the development teams will also keep all of their earlier commitments. Integration of agile development and strategic agility is still taking its baby steps that will lead to a painful organizational learning exercise.
Scalability of Agile
Integration of agile development and agile business can be made successful in a small scale; even so successful that the borderline of the two vanishes. On a larger scale success stories are still few. Success of agile development is very much based on team autonomy. When scaling up, team autonomy will be threatened from two directions: business integration and other teams. There are notable efforts for scaling up agile, Scaled Agile Framework (SAFe) probably the best known of them. However, real success stories are still rare and the majority of those that exist appear to be success stories of initial agile transformation rather than implementation of scaled agile setups.
Solid Architecture and Agile
Agile methods tend to make a naive assumption that architectures evolve mystically and that they can be ”refactored” every now and then to keep them healthy. This may work on a small scale but in a large-scale setup such thinking is intolerable. A rotten foundation remains rotten no matter how much you refactor it. To be fair, the non-agile methods tend to produce rotten architectures too. For agile methods the sustainability of the architecture is a matter of do or die. It is impossible to deliver the core promise, better and quicker market response, without a solid architecture.
“For agile methods the sustainability of the architecture is a matter of do or die.”
Years ago when agile methods hit the mainstream for the first time, the advocates claimed that nothing else is needed. Since then we have already learned that documentation still has value, that some kind of framework for scaling up agile is necessary, and that solid architecture still matters. New methods have already proven to be better than the old. But many of the best practices still remain to be invented to replace those that have been thrown away.