[original French version of this post available here]
We saw, in a previous article, that creating a software product was not complicated… And therefore, we saw that methodologies inspired by heavy industries or public buildings and works sector are not a perfect fit. But that doesn’t mean we have to stay with no points of reference. So, I’m offering you a concentrate of agile. Three principles that will serve you as a mini guide, a motto or even a credo. And yes, I said 3 principles instead of 4 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 remembering, just as already seen, that creating a software is a situation certainly not complicated but that remains complex, and moreover, complex adaptive. That means that seeking a solution is already going to change the situation. Thus, it is impossible to anticipate the results of our actions. We are only able to link up a cause with its effects a posteriori. When I’m getting something, I become able to establish it as the result of something else I’ve done first. And 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 creation process of a software. Any prediction in such a complex situation is unreliable.
Principle of Proactivity
While doing something alters the problem, one might think taking action doesn’t help and could be tempted to stop it all. But that would mean leaving aside the following truth: you not getting the expected result, or the problem getting altered don’t imply that you didn’t achieve anything or that you failed to create any interesting situation. That’s exactly what our second principle is highlighting. That is the principle of proactivity. Even if proactivity, such as originally set out by Viktor Frankl, includes a specific focus on risk management, it doesn’t mean acting in anticipation, though. Therefore, it is not the opposite of reactivity. Proactivity does consist of performing actions that could be performed after something’s happened (so, in reaction to it), but always aiming at making the best out of some situation, or even at trying and extracting 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
People acting should be own these qualities more than anyone else. That’s the third and final principle: the principle of persons. « Those who do, do know ». This is how I would sum it up. Meaning that those who are out in the field, in the heat of the action, are in the best position to make the most suitable decisions, and to know which qualities or skills or resources are necessary, etc. These persons are going to choose what’s best among the possibilities they conceive. So, there is no evil person, wishing the creation of the software product to fail. Nevertheless, it is important to ensure ideal conditions for people to express their full potential and abilities. In particular, you need to satisfy at most their basic requirements (in the transactional analysis meaning).
We could play a simple matching game with these three HEART principles and the four values from the Agile Manifesto as well as its 12 underlying principles. This way, we could check everything from the Agile Manifesto can be derived from one of the 3 HEART principles or from some combination of them. Leading to the moniker of “essence” I allowed myself to give to these principles. Some people have even gone further about condensing the Manifesto, by thinking Agile can be condensed into one single principle! So have Michael Sahota and Alexey Krivitsky.
Remembering these 3 principles is far easier (and far more efficient, in my opinion) than memorizing the 4 values and 12 principles from the original Agile Manifesto. Keeping the 3 principles in mind and following them allows creating a software product in the best possible way.
However, besides this easier memorizing that reminds us of how simple and common-sense the agile bases are, besides the beauty in 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 the HEART. The implementation of the 3 principles (especially the last two of them) is not necessarily easy. But their wording allows defining fairly quickly the contours of a role as an agile specialist guide. We’ll develop that in another post (the French version already exists here.