« Automation below the GUI | Main | Developing Testers - What Can We Learn from Athletes? 1 »

Process improvement is a waste of time 1

Why are practices (good, bad or indifferent) used by people in organisations?

Stupid question perhaps - it's far too open for a reasoned answer isn't it? But I ask it because when I get involved in 'software process improvement' assignments, the reasons why things are 'the way they are' reflect external drivers and constraints, the underlying problems in the organisation, and the culture and personalities involved. But why are these important? (Now that is a stupid question. Rhetorical of course.)

The most common reasons for improving testing are to reduce the number of production failures, to speed up testing or to reduce its cost. These are all reasonable motives for wanting to change (although the required changes probably wouldn't be limited to the test team of course!).

So, we decide on our change action plan, that might involve giving some training to testers and developers; documenting a new process for component testing and acceptance perhaps; implementing reviews with a little formality, and so on. So the training takes place, the processes are written, a formal review is scheduled. But, nothing happens. People don't show up, the processes are ignored, the testing doesn't change. And why is that?

The problem is that the barriers to change are hardly ever technical. External constraints such as budget, existing customers, pressure to deliver or make money fast absorb what slack might exist so there is no time for people to change. Cultural pressures from management (delivery first, cost second, quality third), mean that management attention is always on the first two, never the third. Peer or internal cultural pressures may make cooperation or behaviour changes impossible. If everyone in the company has a crisis-driven, can-do, heroic attitude, not many are going to be able to introduce formality, process, documentation, ceremony for example.

I'm drawn to the inevitable conclusion, that to achieve change at all, you need to understand why the things are the way they are and work within existing constraints, OR be prepared to change those constraints. The problem is that evolving relatively slowly as cultural attitudes change is rarely fast enough.

Inevitably, you need to invest money and time and make some radical choices. To recruit whole new teams; to be prepared to let people leave; to change your recruitment policy and reward schemes; to continually promote new ways of working from the top, and from below, and invite collaboration, encouragement and incentives from your suppliers and customers. The talk has to be talked by leaders, before it is walked by the followers. You have to plan for resistance and tackle it head on convert the sceptics into supporters.

If you believe that just by changing 'the process' you will achieve your business goals, you really are wasting your time.

Oh, while I remember. That's why I'd rather work on Software Success Improvement assignments.

TrackBack

TrackBack URL for this entry:
http://mt.uktmf.com/blog/mt-tb.cgi/8

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)