The Agile Manifesto

Agile Manifesto

It has been a long time since I looked at the Agile Manifesto. Today, I will write down an overview of what the Manifesto contains.

The Manifesto contains 4 statements of value. It is a valuable resource for teams. It can help them with guilelines that helps with the project management process.

Teams should be aware that there is no one-size-fits-all plan for managing their project. Forcing an unsuitable methodology will not deliver the desire results. However, there is no detailed list of instructions what to do. There is only 1 advice to keep in mind.

Teams should adapt it for their own needs.

Take tame with your team to go through the principles and the four core values. See what inspiration they draw from the values and principles. Look what works for you. Figure out how you can adjust it for your team in your situation.

But what is now in the Manifesto? Let’s look at the 4 statements:

4 statements in the Agile Manifesto

Individuals and interactions over processes and tools

Back in the old days, there were developers and testers. They did communicate with each other via documents or tools. They used a process that all followed to achieve results. Some persons noticed that these practices did not work well in modern times (or with software development), so they decided to throw away all those processes and start to talk very often to each other.

Agile software development creates value in face-to-face interactions and collaboration. Processes and tools are still useful, but only to the extent that they help Agile teams rather than obstruct and distract.

Working software over comprehensive documentation

The waterfall approach demanded a lot of documentation, sometimes even before the actual building of the software. Things like features, specifications, layouts, and requirements needed documentation long before their implementation. This caused in most of the time a significantly delay in the actual project rollout.

For the customers, a lot of documentation was not that important. They rather have software that actually works. If the team does create working software and a less documentation, the customer are more happy than with correct documentation. In case there is software with reduced functionallity, the customers mostly are already satisfied too. They can now give already feedback before the complete product is finished. Therefore, agile is usefull in rapidly changed environments.

Customer collaboration over contract negotiation

It was common when you provided software to a customer that you had a contract that stated how everything was passed through or how the software should look like. What it does etc… Agile developement prefers that the customer is involved in the project throughout the development process to let give him feedback to what already has been made (and maybe is not yet finised) This is early feedback. Quality will benefit with this early feedback.

Agile manifesto does not say that you do not want to negotiate contracts, it just says that close collaboration is better.

Responding to change over following a plan

In traditional times, software development creates detailed plans in the planning stage. Then the life cycle continues by following that plan through the project. Agile values favor an adaptive approach that responds to obstacles or new insights. Environments change, new legislation, new competitors, new technology, they all influence the project and its objectives.

When the project is influenced, it needs to change. To response quickly to the changes situation is better that stick to an old plan. In this case the team creates additional value to the product.

12 Principles of the Agile Manifesto

The previous values are all captured in the 12 principles:

1. Customer satisfaction

The highest priority of the manifesto is to satisfy the customer through all stages of delivery.

To keep your customer happy is the number one rule in software development. Aim to deliver software at regular intervals throughout the project life cycle. That is way better than keep your customers waiting for one final deliverable.

2. Embracing changes

Agile processes welcome change at any point in the development to serve the customer.

Software developers should be capable of handling last-minute changes to a project. They should be flexible enough to turn these changes into improvements very quickly. This can be in any time in the development process. In early stages, but also very late in the software development.

3. Speedy delivery

The manifesto outlines frequent software delivery, ideally within a shorter timescale.

Agile teams break projects down into short timelines to guarantee regular delivery. In the Scrum methodology, these timelines are known as sprints, which often run between one and four weeks long.

4. Collaboration

The Agile Manifesto promotes collaboration between business people and developers.

As mentioned, collaboration is key to Agile project management. When the project stakeholders communicate on a daily basis, it minimizes the risk of confusion and ensures that everyone’s goals remain aligned.

5. Empowerment

The manifesto aims to empower motivated individuals and support completing projects.

Choose the perfect team, equip the team with the resources they need, and trust them to deliver exceptional results. In that case, the project is more likely to be successful.

6. Effective communication

The drafters of the manifesto believe face-to-face conversation is the optimal method for conveying information.

Barriers are broken easily when teams can converse in person. Co-locate teams where possible to promote good communication and boost the flow of information. In the after covid period, we use teams and zoom meetings a lot as alternative to email or phone. This enables interaction too.

7. Good metrics

The primary measure of progress is working software.

To keep your customers satisfied, you must deliver high-quality software. That is your first priority and your metric for success. Everything else is a secondary consideration.

8. Steadiness

The drafters outline that Agile processes should be sustainable and that developers and users should maintain a constant pace.

Agile teams must be consistent throughout their project life cycle, maintaining their speed throughout. This means they can sustain a constantly evolving environment. Then they become predictable and the customers know when to expect new features, updates and so on.

9. Operational excellence

Attention to detail and good design enhance the processes.

In Agile, your focus should be on continuous improvement and innovation. Each iteration should bring with it a new update, feature, or advancement of some kind.

10. Simplicity

The manifesto states that simplicity is “the art of maximizing the amount of work not done.”

The Agile approach is to not overcomplicate things. Meet your requirements and do just enough to complete the task. Don’t waste time with additional steps that don’t add any real value to your product.

11. Self-organization

The manifesto states that self-organizing teams produce the best designs.

Why micromanage teams when they are skilled enough to work on their own? By allowing them to work within their own structures, you create more room for ideas to flourish, ultimately delivering better results.

12. Continuous improvements

The authors of the manifesto outline the need for teams to meet at regular intervals to reflect on the work.

When you review team performance regularly, you can spot issues before they escalate, as well as potential areas for improvement. A healthy Agile team is one that self-reflects in order to eliminate unhelpful practices and advance skills.

Conclusion

I think it is a good idea to reflect at some points again to the Agile Manifesto. See that the values are still valid in your team. It it is, you will have better communication. This will result in better quality of the product and satisfied customers. And that is what it is all about.

References