I was reading yesterday (a couple months late, as usual) the March issue of Communications of the ACM, and ran into Phillip G. Armour's The Business of Software column talking about the need for an Operational Executive Sponsor to ensure success of any software development process change initiative.

I can say I'm in 100% agreement of Phillip's statement that for process to change, those involved must be willing and committed to making it happen, but more importantly, those at the top (owner, CEO, and so on) must really want change to happen (both of which I think are related to James Shore excellent "Change-Diary" columns. Not just saying they want it, but acting in a manner consistent with that will:

When the boss says "quality is the most important thing " and then overrides the quality gates to force a shipment of a product to meet a deadline, we get it. Software developers are able to decode this situation quite correctly. We learn that what people say is what people say, but what people do is what is important to them.

Yep, that sounds about right. Things like this can be really demoralizing to a team, and sooner or later is going to have people stop believing you when you say you care or want quality.

Phillip goes on to say that "Commitment is not doing what you want to do. Doing what you want to do is, well, doing what you want to do. Commitment is doing what you don't want to do - because it is difficult, expensive, or inconvenient".

But probably what caught my attention the most in Phillip's article was this: "If the core goal and purpose of a business is simply to make money, then the organization should be a bank or a casino." [1]. I think he's right to a large degree. In an [ideal world], making money should be a side-effect (yes, a very nice side effect, but a side-effect nonetheless) of the business providing a valuable service or product that serves the needs of its customers. But I think focusing on just making money makes that "serving your customers" part a secondary objective, to the detriment of the business as a whole. I've long said that the reason most software shops don't really care about quality, good practices and good people is because it is not (or they think it's not) in their best economic interest to do so.

When you can make most of quality-related problems go away by sweet talking the customer (and it happens, believe me), why would you really invest in changing your software development practice to improve quality when that is more expensive?

[1] I actually think Phillip is wrong on this one, by the way. Banks and casinos actually are (or should be) just like any other business in this regard, regardless of the fact that they provide services around money themselves. But hey, at least casinos give you a free drink before taking your money :-)

Tomas Restrepo

Software developer located in Colombia.