In a previous post, we saw that creating software product was not complicated… And therefore, we saw that methodologies inspired by heavy industries, construction and public works are not a perfect fit. But that doesn’t mean we have to remain without benchmarks.
So, I’m offering you a concentrate of Agility. Three principles that will serve you as a mini-guide, a motto, even a creed. And yes, I said three principles instead of four values. These principles are inspired by Simon Powers’ work. In all modesty (and especially for the pun), I allow myself to use the encompassing term “HEART”: Heart and Essence of Agile Related Theories.
Principle of Complexity
The first thing you need to do is to remember, as we have seen, that creating software is not a complicated situation, but it remains complex, and moreover, complex and adaptive.
That means that seeking a solution is going to change the situation. Thus, it is impossible to anticipate the results of our actions. We are only able to link a cause with its effects a posteriori. When I obtain something, I become able to establish it as the result of something else I’ve done first. Proceeding the other way around is impossible.
Accordingly, over-detailed planning, estimations using cumbersome calculation rules, or very long-term commitments, are ill-suited to the creative process of software. In such a complex situation, any prediction is unreliable.
Principle of Proactivity
If doing something modifies the problem, one might think that taking action does not help and could be tempted to stop. But that would mean putting aside the following truth: not getting the expected result, or the fact that the problem is being altered, does not imply that you did not achieve anything or that you failed to create an interesting situation.
That is exactly what our second principle is highlighting. That is the principle of proactivity. Even if proactivity, as originally defined by Viktor Frankl, includes a specific focus on risk management, it does not mean acting in anticipation. So, it is not the opposite of reactivity.
Proactivity consists of performing actions that can be performed after something happened (so, in reaction), but are always aiming at making the best out of a situation, or even at trying to extract some interesting opportunity from it, whether the situation was originally a threat or not.
Proactivity is only possible if we have the freedom to choose. It requires courage and will and above all awareness of our responsibilities.
Principle of Persons
The people who are acting should possess these qualities more than anyone else. That is the third and final principle: the principle of persons.
« It is those who do who know. » This is how I would sum it up. It means that those who are out in the field, even in the heat of the moment, are in the best position to make the most suitable decisions, and to know which qualities, skills or resources are necessary, etc. These persons are going to choose what is best among the possibilities they foresee. There is no evil person, wishing the failure of the software product.
Nevertheless, it is important to ensure ideal conditions for people to express their full potential and abilities. In particular, you need to meet their basic requirements as much as possible (especially in the sense of transactional analysis).
We could play a simple matching game between these three HEART principles and the Agile Manifesto’s four values and twelve underlying principles. This way, we could verify that everything from the Agile Manifesto can be linked to one of the three HEART principles or to some combination of them. Hence the name of essence, even “quintessence”, that I allowed myself to give to these principles.
Remembering these three principles is far easier (and far more efficient, in my opinion) than memorizing the four values and twelve principles from the original Agile Manifesto. Keeping the three principles in mind and following them allows the creation of software products in the best possible way.
However, besides this ease of memorization that reminds us of how simple and full of common sense the basics of Agility are, besides the beauty of the quasi-mathematical reduction exercise of the Agile Manifesto, which is certainly sufficient, into a necessary version, it is above all highlighting an unusual approach that is the first interest of HEART.
The implementation of the three principles (especially the last two) is not necessarily easy. But their wording allows defining fairly quickly the contours of a role as an expert Agile guide. Il will talk about this in a next post.