Now that my Beyond Agile book has been published, I would like to thank some people who helped shape its content and ideas. Alistair Cockburn and Joshua Kerievsky helped me appreciate the balance between people-focussed activities and effective processes.
“...Agile approaches combine a mixture and equal balance of people and process approaches to delivery. One way to picture these interwoven elements is like the twin strands of DNA. In figure 4.1, we see a blue thread of people elements such as empowerment, collaboration, and team decision-making, mixed with gold process elements such as backlogs, prioritization, and short iterations.
If you have not noticed it before, agile approaches weave people elements and process elements together through the agile mindset, values, and principles. For simplicity of understanding, we pull these elements apart to talk about them individually, but in reality, they are inextricably linked and self-supporting, like the blue and gold elements shown in figure 4.2.
The people and process elements are present in all views of agile, no matter how you slice it. Also, they are in an equal balance. This is not a matter of coincidence or hidden code, but rather the sign of a balanced system. Let’s look further.
The Agile Manifesto has two values focused on people and two focused on process:
When we examine the 12 Agile Manifesto principles again we see six focused on people (shown in blue) and a counterbalancing six based on process (shown in gold).
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable Sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity — the art of maximizing the amount of work not done — is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Let’s examine the frameworks of Alistair Cockburn’s Heart of Agile and Joshua Kerievsky’s Modern Agile, first looking at the original models and then superimposing views of people and processes.
In Alistair’s Heart of Agile model, the Deliver and Improve process concepts are complemented by the Collaborate and Reflect people-focused concepts. Likewise, Joshua’s people-focused Make people awesome and Make safety a prerequisite are balanced and complemented by the ideas of Deliver value continually and Experiment and learn rapidly.
Both models are evenly balanced between people and process advice; this fact, along with their clarity and simplicity, is what makes them both powerful and compelling.
We should always be aware of these two elements in the tools and approaches we use. Additionally, looking for a healthy balance of attention within teams is a useful diagnostic. People sometimes have a personal bias or natural aptitude for the people side of things, or for the process side of things. So why not ask the team if they think the system is in balance and, if not, what they suggest to restore to balance any imbalances?..."
Thank you, Alistair and Joshua. Your insights and skills in distilling ideas have helped many people increase their understanding of collaboration and teamwork.