Agile Manifesto
In 2001 the Agile manifesto was presented in the form of
4 values and 12 principle. This page explains the 12 principles in a bit more detail.
Agile Manifesto Principle 1
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
Deliver early and often. Focus on giving the customer as much value as possible. Don't wait until everything is finished. You deliver early so you can get early feedback from the customer and get better insight what is valuable and what is not. Then improve over and over again. This is the way to deliver as much value as possible.
Agile Manifesto Principle 2
“Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.”
Being Agile is about asking for feedback on the product. So changes are good. If the customer says he/she values one new feature over a feature which has been brought up months ago, you should listen to your customer. So make the process of accepting changing requirements as easy as possible. In this way you deliver the most value to your customer. Don't just only add new features, but always be open to remove less valuable features from the whish list.
Agile Manifesto Principle 3
“Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”
Deliver working software, so the customer can use it. This is the best way to get feedback on the real product. The more often you deliver working software, the quicker you can learn and steer your product in the right direction.
Agile Manifesto Principle 4
“Business people and developers must work together daily throughout the project.”
Break the silo's separating the Business and Developers. Use face-to-face communication on a daily basis,
instead of communicating using e.g. requirements documents. This principle emphasizes there should be a commitment, direct collaboration and cooperation in all the phases of a project from both Developers and Stakeholders.
Agile Manifesto Principle 5
“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”
The team members are hired because they are good at what they do. So the only thing you have to do is make sure nothing is in their way to effectively and efficiently do their work. Give them the room to organize themselves and give them the trust they deserve. This will motivate them and keep them on a high performance level.
Agile Manifesto Principle 6
“The most efficient and effective method of conveying information to and within a development team is the face-to-face conversation.”
"Software development is a communication problem.". Everybody knows face-to-face communication is the most efficient and effective method. The problem is that nobody does it. We love e-mail, we love working with requirement documents as handover pieces.
Being Agile is about feedback; feedback on the product and feedback on the process. This needs lots of interaction.
Agile Manifesto Principle 7
"Working software is the primary measure of progress.
The most important measure for business should be working software. This short principle has many implications. The first is the difference between traditional progress (task based) and Agile progress (result based). A simple example: if you have finished analysis, design and coding, how much time is needed for testing? The good answer is: I don't know. In testing you probably will find something that needs recoding and retesting and maybe even redesign. With an Agile process you mainly measure progress on features/functionality that are completely done.
Second: a happy customer is a result of working software, instead of focusing on unnecessary QA, sales and productivity metrics, we should measure value and listen to customer satisfaction.
Agile Manifesto Principle 8
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
In the long run teams are more productive when they have a sustainable pace. If you run a marathon, you also do it in a sustainable pace; not in short bursts. If the team works overtime there is a much higher chance of stress in the team, and people make more mistakes. In the end this causes many impediments and demotivation in the teams.
Agile Manifesto Principle 9
Continuous attention to technical excellence and good design enhances agility.
Quality is non-negotiable. If you focus on quality, you make less mistakes, the product is better maintainable and extendable. This is exactly what you want in a good product. In the long run the teams will be much more productive.
Agile Manifesto Principle 10
Simplicity — the art of maximizing the amount of work not done — is essential.
This is the Lean principle of eliminating waste. Keep it simple. Keep the product simple by only focusing on features that are valuable. Eliminate any feature that is not valuable (work NOT done). Eliminate deliverables that are only there for the complex proces. Also keep the process simple. Complex problems need less management and more self-organisation.
Agile Manifesto Principle 11
The best architectures, requirements, and designs emerge from self-organizing teams.
Self organized teams deliver the best architecture, fully refined requirements and design. Don't create a separate architecture team and design team, but have those skills in the teams and let the teams work together.
Agile Manifesto Principle 12
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
There are 2 elements in here. First you need to reflect regularly on how you are doing and how you can improve as a team. But this is only valuable if you change your behavior and actually improve as a team and as an individual.