A software project is code delivered at a specific point in time

Steve Yegge has posted this rant called “Good Agile, Bad Agile” that I’ve seen posted a couple of places, and there’s over 100 comments on it, and it’s just a steaming pile.

It’s hard to discuss the article, because Yegge’s just painting broad strokes to be outrageous. His saying “Take Pair Programming, for instance. It’s one of the more spectacular failures of XP. None of the Agileytes likes to talk about it much, but let’s face it: nobody does it.” is no different than a bad standup comedian saying “And what is the deal with these bad women drivers?”

The key to his “good agile” is removing the ability to know when a project will be complete as in:

You don’t need “war team meetings,” and you don’t need status reports. You don’t need them because people are already incented to do the right things and to work together well.

So the project gets done as fast as it can, but the customer for the project has no idea when that will be.

He calls this the “tyranny of the calendar”, and how open source projects don’t have them, as if that’s an endorsement. That’s true that most open source projects don’t give dates, and in at least one case, it can be damaging to the project to not be able to have dates. I’m thinking specifically of Perl 6. I regularly get email to the Perl Foundation email address asking when Perl 6 will be done. I don’t have an answer. I have customers for Perl 6, publishers wanting to write about Perl 6, etc, and I can tell them nothing more than “I dunno.” Those are lost customers.

But Google doesn’t need dates, because “Google isn’t foolish enough or presumptuous enough to claim to know how long stuff should take.” That’s because they are big enough that they have that luxury. A late project won’t hurt them. How many of us elsewhere can afford to tell a customer that “we’ll be done with it when we’re done with it?” I count maybe Microsoft, and probably not even them entirely.

For us in the real world, a project is not about a chunk of source code, but a chunk of source code delivered at a specific point in time.



One Response to “A software project is code delivered at a specific point in time”

  1. http://www.wgz.org/chromatic/ Says:

    When will Ruby 2 be done? When will Perl 5 be done? When will Linux be done? When will Git be done?
    I can tell you the dates of the next several release dates of Rakudo Perl 6.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: