As developers, we are used to working in small iterations. It makes our work more productive and allows us to do less mistakes. We also like to see the result very quickly. We like to receive feedback quickly. This is what drives us. We iterate on the Architecture. We iterate on the Code. We iterate on the Code Review, Problem-Solving, Frameworks, Patterns…
If we don’t follow the rules of the dynamic environment, something will eventually bite our asses. We all learn that by experience.
It does not mean we are not able to focus on a bigger picture. We just treat it like a Context we operate in. It makes it easier for us to split the work into iterations. It helps to predict the next steps. It helps to avoid disappointments.
It takes time to realize that the iterative approach is the only way to deal with the uncertainty we have to face. But once you cross that point, you cannot operate without the iterative approach anymore. Our consciousness will fight everyone and everything that exposes our world to the risk that we won’t be able to get things done in an iterative way.
Once you realize that, you can make use of that.
Keep this in mind next time you want to predict all the cases upfront.
Keep this in mind next time you want to design the whole app before the development starts.
Keep this in mind next time you prepare a comprehensive specification.
Keep this in mind next time you plan the work weeks ahead.
Keep this in mind next time you block some stuff because of the process that * needs to happen*.
Keep this in mind next time you put to many things on your plate.
Keep this in mind next time…
Originally published at https://www.bernad.co on June 23, 2020.