Business is the land of the panacea, and IT is its capital. Sensible people … people who would never ask, “What do you think — should I take tetracycline, Vitamin D, or have surgery?” before undergoing the minor inconvenience of a medical diagnosis to determine (a) if they are ill; and (b) if so, with what … ask whether they should undertake CMM, ITIL or COBiT without first having any idea of what is and isn’t working well.
Let’s dispose of something right now: Ignore CMM (the Software Engineering Institute’s Capability Maturity Model).
That, more or less, is the advice given by Capers Jones, one of CMM’s strongest advocates.
CMM is waterfall application development methodology taken off a cliff. (Come to think of it, waterfalls always go off a cliff, by definition. Oh, never mind.) Had everyone followed CMM, the World Wide Web would never have happened. By the time the first few thousand websites had been deployed … with maybe one tenth the content and functionality of the ones that actually happened … everyone would have lost interest.
According to Capers Jones, CMM is essential for just about any run-of-the-mill IT shop that employs more than 1,000 developers and undertakes 10,000+ function point projects. He has solid evidence that this is the case.
So if you lead more than a thousand developers, it’s just barely possible that you really do need CMM. Probably not, though, because even if you do, you rarely have a reason to charter a 10,000+ function point development project, for two reasons.
The first: You’re almost always better off chunking your projects down into a succession of small projects instead. Risk goes down, success is more reliable, and business value happens faster. And, (he said, never passing up an opportunity to plug his books and seminars) you can employ the Bare Bones methodology instead of something bulkier.
The second: Most business IT groups spend the majority of their applications effort integrating, configuring, maintaining and upgrading commercial software packages rather than developing from scratch. The square peg of development methodologies has limited relevance when it comes to the round hole of integration and configuration, despite decades of attempts to pound one into the other.
But I digress.
Four major factors determine the success of any IT organization: Business alignment, process maturity, technical architecture, and human performance.
Which of the four is most important? Human performance, without a doubt. As mentioned here in recent columns, the proof is easy, and geometrical in its rigor: Great employees routinely overcome bad or non-existent process, ineffective leadership and governance, and messy technical architecture. Bad employees just as routinely cause even the best process designs to fail while turning elegant architecture into a tangle of spaghetti, and efficient governance into meaningless committee meetings as projects become eternal.
Bad employees don’t routinely fail in the face of excellent leadership for the simple reason that excellent leaders hire bad employees less often, and when they do either coach them to success, reassign them to more suitable roles, or terminate them. Strong leaders don’t tolerate weak employees.
That doesn’t stop us (us being IT Catalysts, my consulting company) from advising clients on how to make their processes more effective. Far from it. One of the questions we often ask struggling managers is how (but really whether) they know if the processes they’re responsible for are healthy.
Am I speaking out of both sides of my mouth?
Not at all. Here’s the distinction: Effective leaders place their emphasis on people. Effective managers insist on delivery, and recognize the importance of process in achieving that end.
If you are responsible for a business function you have to be effective at both leadership and management, and they aren’t independent topics.
Effective management depends on effective leadership for all the reasons enumerated here over the past few weeks and summarized above: Effective leadership puts motivated employees with the right skills, attitude and focus in the right roles, allowing processes to be effective.
Effective leadership is equally dependent on effective management, although the reason is more subtle: Because effective managers know how to monitor and manage processes, they can know what’s going on without having to micromanage.
One other reason for the dependency: If you are in charge of a business function, you have to know how to manage first, because results … process outputs … are what you’re paid for.
Fail to deliver them and your own manager might insist you spend less time leading and more time closely supervising the work.
Pingback: Capability Maturity Model revisited | IS Survivor Publishing