Editor's Forum

The Structure of Software Development Process Evolution

The history of our profession is marked by metaphors [1], evolving methodologies, and pithy platitudes [2]. The waterfall approach that dominated decades of development made its mark and hit its limit while giving rise to a caste system now considered mostly counter-productive (were you an analyst, designer, or “just a programmer”?). The rallying around reuse has faded as we learned, counter-intuitively, that the best way to keep software flexible is to do only what is needed and no more, refactoring on demand as new requirements surface. The pendulum has indeed swung back to lighter methodologies as the heavy processes of the past have failed to scale. In this issue, invited author Mary Poppendieck explains how lessons learned in leaning-out manufacturing processes are helping software development projects cut waste and deliver better products sooner. Good Stuff.

But the pendulum will surely swing back someday, and object orientation and agile development will eventually hand off the Baton of Coolness to other codifications of development wisdom. What remains constant in all this pendulation, one hopes, is that programmers and processes together continue to improve in providing value to customers and to our industry [3]. Whether they do or not, market pressures and their ensuing project deadlines have a way of issuing wake-up calls that we can’t ignore. Here’s wishing you profit and progress, as I’m off to enjoy a week on the Oregon coast. I leave you with the latest installment of Mr. Typecraft’s pertinent poesy.

Let’s Ship

(with apologies to David Bowie’s “Let’s Dance,” and to the many good release managers out there)

Let’s ship, let all our customers sing the blues
Let’s dance to the song they’re playin’ in Marketing
Let’s ship, while dollars light up your face
Let’s ship, jump competition to an empty space

If you say it’s gold, I’ll agree with you
If you say promise, we’ll promise
Because service pack two will make it all come true
If users should fall
Into our arms
And tremble in our power

Let’s ship, for fear the ax should fall
Let’s ship, for fear this release is all

Let’s ship, who needs code reviews, you guys,
Let’s ship, under the deadline, this serious deadline

If you say it’s done, I’ll agree with you
If you say promise, we’ll promise
Because service pack two will make it all come true
If users should fall
Into our arms
And tremble in our power

Let’s ship, let all of our customers sing the blues
Let’s dance to the song they’re playin’ in Marketing

Let’s ship, who needs beta four or five,
Let’s ship, under the deadline, this serious deadline.

— H.P. Typecraft

Notes

[1] See Miro Samek’s article in this issue.

[2] “Write Once Run Anywhere” comes to mind.

[3] Do yourself a favor and read what Pragmatic Programmer Dave Thomas has to say in “How to Keep Your Job” at http://roots.dnd.no/2003/speakers/material.html.

Chuck Allison
Senior Editor
cda@freshsources.com