In my first article of the Agility in the Nutshell series, we dealt with agile values. This time I will write about agile principles.
The agile manifesto contains 12 principles according to which agile software development should be done.
- Our highest priority is to satisfy the customer by early and continuous delivery of valuable software (products).
- Radical changes in requirements are welcome even late in the development process. Agile processes use changes for the competitive advantage of the customer.
- Deliver working software (products) regularly within a few weeks or months, preferring the shorter period.
- Experts and developers must work together daily during the project.
- Set up projects around motivated individuals. Give them the environment and support they need and trust that they will get the job done.
- The most efficient and effective method of communicating information to and within a development team is face-to-face discussion.
- Functioning software is the most critical measure of progress.
- Agile processes promote sustainable development. Clients, developers and users should be able to maintain an even pace for an unlimited period.
- Constant attention to technical excellence and good design promotes agility.
- Simplicity – the art of maximising the amount of work not done – is essential.
- Self-organised teams create the best architectures, requirements and designs.
- At regular intervals, the team reflects on how it can become more effective and adapts its behaviour accordingly.
If we considers agile work also apart from pure software development, we recommend considering the following principles for method-free agile work:
Self-organisation: Cooperation in teams is self-organised as far as possible – so that the experts can do their job in the best possible way.
Iterative approach: The cooperation in the team is iterative according to the Plan – Do – Check – Act – Review cycle.
Continuous learning: Result and process reviews enable the team to learn and develop further.
Customer in focus: Everything the team produces happens with the customer in mind. You should not do what you think is the best, but rather to create in the best possible way for the customer.
Prioritisation according to added value: Actions that are set are prioritised according to the added value for the customer.
Focus on the next stage: Instead of long-term planning, the focus is always on the next step.
You can learn more about this in our training Cooperation in agile teams.