Agile Principles: The Forgotten Half of the Agile Manifesto
Did you know that in addition to the Agile Manifesto that the authors listed their twelve principles of Agile software? Based upon my very unscientific survey of recent CSM students, only about 20% to 30% of people who were simply aware the Agile Manifesto existed were also aware of the twelve Agile principles. My colleague from San Diego, Woody Zuill (@WoodyZuill), would probably say that the Agile principles are the most important part of the Agile Manifesto. I have seen Woody do some great work with Agile just starting with the principles, so I definitely agree the principles are the key to unlocking Agile thinking.
So if understanding these principles are so important, why are they so poorly known? I think part of the challenge of using the principles to create change is defining the word “principle” in way that is meaningful and useful. For me, a principle is a statement about what you consider important in a given situation. Principles are helpful to me because they offer a guide, or a maxim, that helps shape my thinking, my approach and the way I do the work. For example, this principle below encourages me to strive for technical mastery and reminds me to remain thoughtful while doing the work.
"Continuous attention to technical excellence and good design enhances agility."
Additionally, our fifteen years of putting Agile into practice has given us greater insights on the depth and breadth of the principles that surround and support Agile thinking. Like our discussion of the Agile values from January, I am going to refresh the twelve Agile principles based on the ideas from Gil Broza’s book, Agile Mindset.
The first thing you notice in Gil’s book is that he has identified twenty-six principles related to Agile thinking and organized them into six categories! When I first read that I was a bit shocked. How did we go from twelve to twenty-six?! Gil’s answer, by using the basic concept expressed in the Agile Manifesto with a lot of different types of teams and organizations, we have learned what works, what does not work and what is outside the world of Agile. I think Gil would also say some spectacular failures probably helped too.
OK, so now we have twenty-six principles. How can we make sense of all of that? By conceptually grouping the principles into six broad categories. The six categories identified by Gil are supporting business objectives, making the work count, making progress, individuals, interactions and a meta category that amplifies the principles in the previous categories. In this case, the meta category is an overarching classification that speaks to a common theme connecting all the principles..
While I think the updated principles are worthy, I think Gil’s unique contribution is finding the right categories to describe Agile thinking in broad terms. With these five (or six) categories, one can really see what is the true focus of any Agile process. So with that, I introduce all twenty-six principles (and six categories) for your reading pleasure.
Supporting Business Objective
- Cadence: deliver value as frequently as needed at a regular rhythm
- Reliability: deliver value now and avoid compromising your future ability to deliver value
- Cost of Change: organize the work and team to reduce the future cost of change, not the future cost of the work
Making the Work Count
- Outcome: begin with the end in mind
- Effective: take care of meeting the customer’s need, then discover how to be more efficient
- Defer: postpone decisions until the last responsible moment
- Simplicity: maximize the amount of work not done
- Experiment: fail fast and cheap in order to maximize the amount of learning
- Shippable: when the timebox ends, have the product in a working, shippable and (preferably) deployed state
- Quality: pay constant attention to quality and technical excellence
- Timebox: constrain the complexity and the amount of work with timeboxes
- Results: value delivery by the team matters more than individual utilization
- Respect: honor each others’s humanity and sense of worth
- Trust: assume others will act professionally and conscientiously
- Transparency: have easy access to the information that guides decisions and actions
- Safety: expect no harm or retribution for acting in what you think is the shared interest of the team, organization or customer
- Focus: allow yourself (and others) to focus on one task at a time
- Sustainable: be able to perform for a long time on the team without sacrifice
- Self-organizing Teams: given known priorities and parameters, team members decide who will do what and when
- Collaboration: team members share ownership of results, artifacts and knowledge
- Communication: keep colleagues informed with relevant and timely information
- Consensus: Everyone who takes part in making a decision will support it outside of the room
- Leadership: Servant-Leaders will grow teams and build communities that are trusting, supportive and humane
- Feedback: establish short, actionable feedback loops everywhere
- Learning: continuously learn about the customers, the business, the team, and the work
- Improvement: Process and teamwork improvements are welcome anytime and product improvements almost anytime