Ship It! LIVEShip It! LIVE
home about services writing contact

We develop, test, and create fine software products, and design creative solutions to your problems.
The development of software is an intrinsically creative process. We are dedicated to improving our mastery of the art.
Links · RSS Feed
Popular Pages

.. it is a really special feeling when you give someone a book and it changes the way they think and act. So I'm really pleased to have just finished reading a book that I know I'll be handing out ...
-Jeffery Fredrick
...It would be really nice if, as an industry, we could stop being such a bunch of screwed-up clowns and start living up to our potential. Ship It! is one of the things that could help, if only tho...
-Mike Gunderloy
With much code, all eyes are shallow
-Jared Richardson

Drive By Requirements (Jan 25)
I'm working on the requirements chapter of Ship It! That work led to a spirited discussion of the ideal (iterative requirements) or real life (we're rushed, on a schedule, and underfunded. Can't be done right. Just has to be done.)

This paragraph (which may or may not be in Ship It!) was inspired. I'm tired and it's been a long day, so take it for what is. :) I'd love to hear your thoughts.

This sounds like a lot of work! We're under extremely tight schedule pressure. We simply don't have the time to revisit requirements. What can we do?

Consider that by not taking the time to revisit requirements, you're instead choosing to build similar to, but different from, features than what your customer wants and needs. How close will you be? That's the dice you're rolling.

If you're really lucky, you'll be close enough to still get paid. Is the product what you agreed on? No. Is it what you promised? No. But they can use it, and your parents are friends of theirs, so, sure. You get paid. What's that you say? The next contract? No, they won't be using you again.

If you're moderately lucky, you'll be able to spin your entire team back up for "minor" retooling that changes half of your application's behavior and introduces a whole new set of bugs. Somehow the "minor changes" the customer asked for have very little in common with the "minor changes" to the code base, or the development team's sleeping schedule!

If you're entirely unlucky, you'll throw away everything your team spent the last six months building and start over. Sure, the team will tell you they reused parts, but that's to make you feel better. They won't reuse anything that couldn't be rewritten in an afternoon. And by the way? You now have six weeks or we not only withhold payment, we also sue you for breach of contract. Sure, it might bankrupt your firm, but that's your problem not mine.

So tell me.

Requirements punk.

Do you.

Feel.

Lucky?


---------------

I've gotten a few replies offline. Since this blog doesn't take comments, I'm posting a few as I get them.

From Tim Wingfield
Whether you build it beautifully or crappily, if you build what the customer doesn't want it's 100% waste.


Category: Agile


© 2007 Agile Artisans.