He who is most slow in making a promise is the most faithful in performance of it.
What is commitment?
When it comes to software development, there are two reasonable definitions:
- the act of binding yourself to a course of action
- confinement to a mental institution or hospital
And sometimes there will be great difficulty telling the difference.
In the ideal world, the perfectly architectured codebase has neat little modules with perfectly separated concerns, all perfectly tested of course. Santa Claus, Big Foot and the Leprechauns all love it, pay tons of money for it and are waiting patiently for the next version.
In the reality of software projects I have participated in directly, indirectly, discussed with colleagues or watched from afar, there are often competing internal and external pressures involving time, money, quality, ideology and last but not least ego. That isn’t to say that all these projects went poorly, it is just to recognize the pressures.
So what does all that have to do with commitment?
The original model targets executive decision making, which is paramount obviously.
But… effectively communicating these higher level objectives and the implications they will have in a software product or process in and among the development team, then being willing and able to adjust to the feedback may have an even bigger impact on a software company’s success in the long run.
That doesn’t mean all decisions require consensus to get commitment, but that dissenting voices are an opportunity to reevaluate, clarify and optimize. Simply exercising that opportunity can create an incredible sense of team duty in those who offered the dissent, even if they still disagree.
This is going to be a re-occurring theme, but if you are a software company, and you don’t have smart passionate people building your software, just give up now.
Seriously. . .
Now that there are smart passionate people building the software in a culture of trust and healthy conflict, get everyone unified and committed and you’re pretty much set.
With all the internal and external pressures, the success of a project and often a company hang in the balance.