Defer commitment

At the time of starting a new agile development project, the developers often tend to make the mistake of shifting their focus on the technologies that they should use. This is where they will take a look at the solution, develop a proof of concept, and then pick the right technology. Only after few months of starting developments, the team will figure out that they have made an incorrect decision. This happens not because we take incorrect decisions. It happens because we fail to consider some of the decisions at all. This is why it is often recommended to try and delay decisions.

One of the basic recommendations that you can see in agile decision making is to defer the decisions and delay them. It is not the responsibility of the architect to make decisions. Instead, the architect should develop a structure, which is providing freedom to defer and delay the decisions as much as possible. When you delay a decision in an Agile environment, you will be able to collect more information, which can be helpful when making the correct decision.

When you defer decisions in the agile environment, you will not completely refrain from making a choice. You should have a place to start, so that you can work on the project. Selecting a technology is just one thing. However, committing to it will be another thing.

The software architects should be careful about the way how the system is designed to integrate some of the technologies. It is important to maintain flexibility in the solution, so that one integration can be replaced with another one in the future. This will help to get the most out of agile decision making process.

— Slimane Zouggari