I drew this not-very-good doodle during a meeting in which we’d finished coding and were about to ship … something. Our director said, “Beat on it [the latest build] a bit, then we’ll send it out.”
Tom DeMarco, the author of PeopleWare and some other fine books, once gave a talk at Apple concerning The Hidden Quality Agenda. I have a cassette tape of the talk, which I should really MP3 someday before the tape turns into dust.
Anyway, the gist of his talk was:
- Management often applies pressure – sometimes subtle, sometimes not – to developers and testers to bring in the schedule.
- At the same time, “Quality is Job One”
- What really happens, of course, is that quality suffers.
His proposal for fixing this is to have “professional estimators” that objectively figure out how long it’s going to take you to do a project, based on your prior performance. DeMarco admits it would take a few years to get a track record you could base estimates on. And if you’re a start-up trying to wrap up your first project … feh.
“Add two weeks to the developer’s estimate” or “Double and round to the next unit of measure” or “Ask the magic chicken in my Auntie’s back yard” all seem to be equally valid estimating techniques if you’ve never done something before. If you didn’t know you had to be compatible with garble frotz beemthings because HugeSoft just announced them, and your customers want them, who’s fault is that?
Actually, most of the schedule slips I’ve been involved with in the past few years have been due to ill-defined (sometimes un-defined) requirements, or additional work that’s been piled on without much understanding of the cost. It takes time to stick in a basement once you’ve got the framing up, that kind of thing. No change is for free [and I used to think that some were. I guess that youthful innocence has died 🙂 ].
I’ve gotta go to work now…