What does being agile mean?

The Oxford Dictionary defines agile as being “Able to move quickly” and being “Able to think and understand quickly”. Years ago, a group of smart software engineers thought about how being agile can be applied to software development. They came up with the Agile Manifesto that includes twelve principals for agile software development that are summarized in the following.

Deliver valuable software frequently

Instead of working for months on software that is never validated by the customer before the release the team should focus on small chunks of work. It delivers these chunks continuously to the customer.

Give trust to the team

The team should get the support it needs which includes taking care of a suitable environment. Usually the members of a team are the experts for a specific domain. Hence, they should be trusted to solve a specific problem. This also means that the team organizes itself.

Do not plan for the far future

Requirements change frequently. Creating a fixed plan means pretending to forecast the future which usually does not work. Instead, only short iterations are planned and the plan is adjusted regularly taking into account changed requirements.

Adjust and improve continuously

In set intervals the team reflects on how to become more effective. It adjusts its behavior and ensures that performance and mood within the team is kept up.

Keep it simple

The team should not build the Swiss army knife. It will probably not be needed in the future. This saves time and makes what you are working on easier to understand for others (and yourself in half a year).

Following those principles ensures that the team will work sustainable and at constant pace. Some of these points sound really promising to be applied in a relationship and I will go deeper into the topic in later posts.

Post image taken by me, published under CC BY-SA 4.0.