Google

March 13, 2006

What's Wrong With Process? Part 1 - Introduction

In doing some background research for an upcoming software product development project, I happened across the CMMI* Overview document, put out by the Software Engineering Institute of Carnegie-Mellon University (a heavyweight in the software engineering standards world). I've had some exposure in the past to the CMM stages, and have usually dismissed the methodology as being too rigid and unattainable in the fast-paced Internet software development world (I'm not alone in this feeling). This won't be a discussion of the relative merits of the CMM or the new version, CMMI. There's lots of discussion already about that...

It's been said that the best work is born of frustration. In looking through the CMMI document, there is one slide in this PDF file that struck me based on a continuing, smoldering frustration I've had in implementing large-scale enterprise software packages over the last five years or so. The slide on page 10 is titled, "Common Misconceptions," related to the role of "Process" in software design. The related frustration deals with trying to make the implementation process smoother and more effective for all concerned. The CMMI is one way to do this, and again, not arguing its relative merit, the items on this slide are things I've heard in one way or another from clients at some point in the process (some more than once).

For some reason, the folks in charge of implementing enterprise software in many companies apparently consider themselves exempt from established engineering practices (many borrowed from the physical engineering world) when implementing this software. Many times this can be traced to schedule pressure from senior management, which they have no real control over, but many times it's due to the abandonment of the software development process in the form of scope creep, bad time estimates, resource constraints, and the like.

In this series of articles, I will list the items on the CMMI slide in question, and give my thoughts about the complaint. The topic next time..."I don't need process, I have really good people..."

* CMMI stands for "Capability Maturity Model Integration"

Directional Change

With the (Chinese :-D ) new year, it's time for a change in direction of this blog. Frankly, the BI world doesn't really produce enough news on a consistent basis to be the focus of this blog - I don't deal in press releases, and I don't necessarily favor one platform over all others.* So, the focus of the blog will now primarily be on writing short essays about things that interest me from a larger viewpoint - how software projects run (or don't run), and how they can run better.

This change will accomplish a few things - it will give me writing practice, so that I might actually "officially" publish something someday. It will also hopefully be more interesting to read, and a little less snarky. Let's see how it goes...

So, without further introduction, here's the first series of essays...

* Yeah, yeah, I know - I've focused primarily on the vast silliness of Oracle over the last year - that's really just been residual hostility about the PeopleSoft takeover, having been in mourning since it happened...