Holism and Agility
Holism and Agility
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
Agility is often seen as a young paradigm which works only at low scale, especially because some Agile methodologies work good at small scale, but are difficult to use at large scale « out of the box », as the practices they suggest to use cannot be scaled.
For example, SCRUM or XP (Extreme Programming) may not be scaled so easily in a big organization or for complex products. This is because such approaches bypass the holistic understanding of a situation, and neglect possible solutions, especially the technological ones, by a lack of vision, adaptability, or knowledge.
SCRUM stand up meetings or “post-its” user story boards may work when the number of involved people is small, when the number of stories to implement is not too large, and when dependencies between teams are not so complex to manage.
In nowadays ecosystems, products complexity and organizations dimensions cannot be a show stopper to the possibility to grow, to adapt fast to the changes, to produce faster and cheaper, with high quality standards. This is especially true in software development and online products branches, as competition is dramatically enforced due to the technological evolution speed, and the transparent information access resulting of information diffusion on the planet.
Product complexity, technological evolution speed, fast information diffusion and market globalization seen as handicaps for some will be the success factors of some others. And this is where agile management will play its role, by assisting companies to reach high competitiveness levels, to grow and to adapt fast to the changes.
Teams working on one single product may be distributed over several countries or continents, as a consequence of the market environment on one side, and the possibilities offered by object oriented, component oriented and network based developments, communication means performances and subsequent globalization on the other side.
Can such teams produce new products releases frequently and on time, keeping the quality level high, growing in throughput and size, while sticking to customers’ needs, market changes?
Yes they have to, and yes it’s possible! But this has nothing to do with SCRUM or XP. This has something to do with the roots of agile management, and especially the holistic understanding of the markets and production environments. With such an approach, the pragmatic solutions which lead to speed, schedule respect, quality and cost quantum leaps are combinations of best practices (processes, technologies, organizational changes), rather than a blinded-eyes implementation of one single methodology.
In the end, the management itself must be managed in the agile way, and not only the projects which are to be managed.
Clear prerequisites to this “pragmatic agility” are then to have a good knowledge of the best practices palette, and to keep the possibility to adapt chosen solutions depending on existing and rising constrains, as chosen solutions are never static in time. In the end, the management itself must be managed in the agile way, and not only the projects which are to be managed.
Experience shows that best practices population contains four invariant, or fundamentals management patterns, which can be tuned and adapted, but which are part of almost every efficient agile management organization of any scale:
• To keep customers and their needs close to the teams in charge of production, in order to be customer and market driven,
• The transparent monitoring, especially of work progress and quality, based on negotiated and agreed metrics,
• The promotion of teamwork (and customers should be part of the teamwork), rather than keeping isolated islands and black hole areas,
• The systematic use of technology and automation when possible.
These four invariants are linked to each other. Technology and automation can ease reporting, reporting can be used to promote teamwork by sharing agreed metrics providing a common referential, and customers and their needs can be kept in the loop thru teamwork, by participating in planning and priority management.
Beside those four invariants, a large number of market best practices should be used to ease and support agility. Continuous and delta integration, test driven development, are some of them. But, as for the four fundamental invariants, they are also linked together: an automated build system may generate a lot of noise in the quality signal it generates if not coupled with an efficient configuration management system. Fundamentals and best practices are linked together, and this is what the holistic approach is about.
In the end, the combination of fundamentals and best practices leaves little room for multiple isolated situation understandings, and promote a global teamwork were customers and providers share one common goal, and were production is eased and controlled.
Although agility, as any concept, can be seen as a purely theoretical and sterile approach, using best practices combinations can really give a boost to productivity and quality, while reducing costs and allowing size growth.
Opinions expressed by DZone contributors are their own.