Knowledge hub
Aug 8, 2022

Don’t You Dare Say You’re Agile If You Don’t Know These 12 Principles!

In 2001, representatives from Scrum (Ken Schwaber and Jeff Sutherland), Extreme Programming (Kent Beck), Crystal (Alistair Cockburn and Jim Highsmith), Feature-Driven Development, and others created the Manifesto for Agile Software Development – aka the Agile Manifesto – which outlines 4 values and 12 principles. Self-named “The Agile Alliance”, this group of individuals who created the Agile Manifesto gave birth to what the world knows as Agile today.

The content of the Agile Manifesto is important to all those who work with and practice Agile. More important than any framework, method, or role, are the 4 values and 12 principles that sustain it all – the pillars upon which the manifesto is built. I’ll focus here on the 12 principles of Agile and the message behind each. It is important to keep in mind that originally, this manifesto was created for a software development context. However, it can and should be applied to a broader context, which encompasses teams working in all fields. Also, keep in mind that all the principles are directly or indirectly connected to at least one of the 4 values. With that in mind, let’s get started with the first Agile principle.

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

One of the main differences between classical project management and Agile is the fact that while the first is oriented on phases, and value is delivered only at the end of the project, the second focuses on customer satisfaction by delivering value incrementally and iteratively. Customer satisfaction tends to have a higher focus, as the customer has the opportunity to inspect the product at every step of the way.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

One of the values outlined in the Agile Manifesto is the ability to respond to change, rather than following a strict plan. In complex environments and in contexts characterized by lots of uncertainty, change is inevitable. It can be driven by several factors: technology, users, market rhythms, market events, competitors, and everything in between. We need to enhance the customer’s ability to remain competitive by adapting to the changes brought about by these factors and by delivering value frequently. Learning is key when we talk about iterative and incremental development.

3. Deliver working software frequently, from every couple of weeks to every couple of months, with a preference to the shorter timescale.

This principle is related to principle #1, outlined previously. In Agile, value is delivered frequently to satisfy customers and to speed up learning and adaptation. However, “frequently” may have different scales based on the context, organization, and product. This principle dictates that the preference always goes to a shorter and more sustainable time frame. “Frequently” depends on your context, organization, and other factors. For example: while once a day may sound too frequent for you, it works perfectly for teams in other organizations.

4. Business, people, and developers must work together daily throughout the project.

Two integral values of the Agile Manifesto are “Individuals and interactions over processes and tools” and “Customer collaboration over contract negotiation”. This principle relies on these two values. Everyone involved in the project needs to work together to collaborate, exchange thoughts and information, and talk about what’s going on. That means absolutely everyone: from business, to developers, and all other members and teams in between. We must have good communication and collaboration between all actors involved, in turn ensuring transparency, trust, shared responsibility, and ownership.

5. Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.

The people within your organization are the ones doing the work. These people need to be motivated. They must have everything they need to deliver value frequently. We trust them to do just that. In theory, this sounds pretty straightforward. But in practice, it’s not that easy to achieve. Trust, ownership, purpose, mission, intrinsic motivation, decentralization of decision-making, a safe environment – those are just some psychological aspects that need to be present to enable motivation within your teams.

Learning is key when we talk about iterative and incremental development.
Raul Barth

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Remember the value mentioned earlier: “Individuals and interactions over processes and tools?” . Well, there is no more effective method of communication than face-to-face conversation. The contemporary work environment has changed, as more and more organizations are adopting the remote or hybrid approach, which also requires an adoption of tools that facilitate face-to-face communication at a distance (such as Zoom or Microsoft Teams) to maintain effective interaction between individuals. The key takeaway here is that bureaucratic conversation and interaction is best avoided whenever possible, in turn exchanged for a manner of conversation which is more direct and to the point.

7. Working software is the primary measure of progress.

Principle 3 says we need to deliver software frequently. Moreover, one of the values is “Working software over comprehensive documentation”. How do we really know how the creation of the project, product, or solution is going? Well, by inspecting what is being incrementally delivered. Software here is the value being built and delivered incrementally and iteratively. If you’re not in a software development context, replace “working software” with “working solution” or “value delivered”. In any case, this is your primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

We work at a sustainable pace. Together. Every stakeholder should be engaged with the vision throughout the development, realistic expectations must be set to keep morale high within teams, and teams must learn how to best maximize the efficiency and quality of their work, in turn maximizing the value delivered.

9. Continuous attention to technical excellence and good design enhances Agility.

Value is important. New functionalities are also important. But don’t forget that architecture, technical aspects, technical debt, and correction or avoidance of defects are also extremely important and may lead to a decay in value over time if you don’t pay attention to them. Don’t forget that software being built is software that needs to be maintained. Excellence and good design keep your path clean to implement and deliver new pieces of value.

10. Simplicity – the art of maximizing the amount of work not done – is essential.

Simplicity is essential in Agile. Maximizing the amount of work not done means we need to avoid building non-valuable functionalities, over-complicating development, and lacking prioritization. The focus must be on building the most impactful functionalities to produce more value. You must ask the important questions: ‘What is high priority now? What can be done next? Is it really bringing value?’

11. The best architectures, requirements, and designs emerge from self-organizing teams.

We talk a lot about self-organizing teams in Agile. This is because we want to encourage the creation of teams that can make decisions, propose solutions, find the best ways to implement functionalities, solve conflicts, innovate. We want auto-sufficient units that can operate and deliver value by themselves, without the fear of failure. Teams need to take responsibility and accountability for the project, the product, and the progress. To help that, in Scrum, for example, we have the Scrum Master accountability. In SAFe, meanwhile, the Release Train Engineer is also there to ensure things are going according to plan.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Inspection and adaptation are the key words here. From time to time, the team must reflect on how well they work as a self-organized entity, and whether they adapt based on the result of this inspection. They must ask themselves the important questions: ‘How are we working? Is communication going well? Do we have collaboration? Do we lack skills? How was last week? What problems did we have? How can we get better?’ Those are questions that come from the team’s introspection.

The Agile movement aims to restore balance within an organization. In Agile, we embrace modeling and rational, useful documentation – not the kind of documentation that is abandoned to gather dust in a corner. We embrace planning, but we also realize that every plan has its limits, and that change is unavoidable. “The Agile Alliance”, by creating the Agile Manifesto, hoped that their work could help people to think about software development, methodologies, and organizations in new – and more Agile – ways. And that’s exactly what they achieved. The Agile Manifesto is a must-know for all those working, using, or being Agile.

Article by Gladwell Academy Trainer, Raul Barth. Raul Barth is a SAFe Program Consultant (SPC) and certified Release Train Engineer (RTE). He has a Green Belt in Lean, also holding Professional Scrum Master I & II (PSM) and Professional Scrum Product Owner (PSPO) certifications. With over 12 years of international experience (Brazil, France, UK) in the areas of Agile, software
development, IT, R&D and team management, he also has more than 7
years of experience with Agile. See below a schedule of upcoming trainings offered by Raul.

Filter 0 results
Learning Style
No results found, clear filters to show all options
Written by Gladwell Academy, but most of our content is created by trainers and partnering experts!