The 12 principles bring more concrete examples of the culture of change that an organization must welcome in its journey towards agility. Many organizations will say they are “doing agile” but only by applying a fraction of the values and principles. We will now assess how these principles are core for economic and human development when adopting Agile.
1 – Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (replace “software” with any other knowledge work that is delivered to customers)
- Software is built on someone else’s time and money, and if they have to wait long to see the deliverable, they will not be satisfied and most importantly, it will not match their expectations. It’s valuable to have early and continuous feedback, with deliverables that add something of value for the customer.
2 – Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage
- We must embrace change since the world is evolving at a rapid pace and disruption is the new normal. However, businesses don’t like surprises, and even less to waste money on activities that become not relevant in the marketplace. Hence, competitive advantage can be observed if the organization advocates for a culture of assessing hypotheses with their actual customers and most essentially their non-customers.
3 – Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale (replace “software” with any other knowledge work that is delivered to customers)
- Continuous and frequent delivery will enable us to provide valuable work for customers early. This principle means that shorter timescales, like days or weeks, produce more feedback moments opportunities for the customer and reduced risk regarding spending resources in less valuable work.
4 – Business people and developers must work together daily throughout the project
- Historically, technical language and business language didn’t match. Developers and business people worked in different silos and interactions weren’t very clear which consequently led to implications on the work that is delivered. Agile wants to remove these barriers and have developers and business teams aligned to make better decisions and produce successful outcomes.
5 – Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done
- An Agile team must have the required skills to produce the expected work. Also, there must be an environment around your team of trust and psychological safety. Otherwise, even with a mature and responsible team, they will be demotivated and the organization isn’t likely to succeed.
6 – The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
- The best way to communicate is always face-to-face. Facial expressions and body language are important signals for our brains to evaluate and reduce any misunderstanding. Since 2001, organizations have changed drastically, and teams can be remote or even spread across different time zones. However, even if face-to-face is recommend, remote teams can still communicate throughout a plethora of available tools and be successful.
7 – Working software is the primary measure of progress (replace “software” with any other knowledge work that is delivered to customers)
- This is one of the most important principles of the Agile Manifesto. If you have completed models, design, but not working software ready to be delivered (or shipped as developers say) to your customers, it means that no progress has been made since you’re not creating any value.
8 – Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely
- Many organizations misuse Agile by focusing on scope, resources, speed and not on quality. When that happens, code becomes unmaintainable over time, teams get stressed, burned out with a feeling of helplessness as the technical debt grows and the new way of work is compromised. A team must be able to establish repeatable and maintainable speed with discipline, and use the adequate tools that can help automating mechanical processes, in order to be healthy.
9 – Continuous attention to technical excellence and good design enhances agility
- Customers and organizations usually don’t pay too much attention to the technical excellence of a product, unless it impacts the user experience or financials. If the team neglects a good technical design, it will have consequences on the quality of the software, and the ability to react to market changes. Developers must have the time and space to be able to commit to technical excellence. This means the organization must provide an environment that pursue quality.
10 – Simplicity – the art of maximizing the amount of work not done–is essential
- The team should spend its time developing just enough to get the job done for now. This procedure saves time and money in order to focus on delivering more value. It is an ongoing effort that requires constant improvement during the process.
11 – The best architectures, requirements, and designs emerge from self-organizing teams
- This principle is the consequence of a combination of several mentioned principles, namely, having development and business people working together, having working software as the measure of progress, and motivated and responsible individuals. Self-organized and motivated teams take ownership and share ideas that deliver quality products.
12 – At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
- There are no perfect teams. Hence, self-organizing teams, more mature or not, must always look for ways to improve the situation at regular intervals, and then prepare a plan to take action.
ABOUT THE AUTHOR
DAVID CUNHA’S PROFILE
David Cunha is a Agile Consultant and Software Engineer with more than 7 years of experience, specialised in building scalable applications, teams, and businesses.
His wide knowledge and experience in several domains provide him the ability to see things in both a holistic and detailed perspective, which capacitates him to facilitate the transformation that your organization and people need.