Both the developer and the customer are battered and bloody, if not dead, after
the typical project. And the project delivers sub-par software at best. Usually it's
junk that everyone is at least a little bit ashamed of. In private.
Based on the prevailing way of doing things, this shouldn't be surprising. Scope
got out of hand fast and changing requirements invalidated the original design.
Pretty soon, nobody even remembered the original design anymore. Under the
intense time pressure, developers took all sorts of shortcuts and did all sorts of dumb
things. Remember, they're just trying to survive. Communication broke down, too.
Who had time for meetings or coordination?
In the end, the software they created looks something like a 1975 Ford Pinto
held together with old speaker wire and duct tape. It's a time bomb with no resale
value. And don't slam the doors too hard or stuff falls off. It's full of bugs, or is a
patchwork of fixes commented with "Not sure why this works - DON'T TOUCH!"
It's brittle. Changing it is so risky that developers perform unnatural acts in an
attempt to squeeze new features into spots not made to accept anything new. That's
the only way to avoid new bugs. Management and customers don't understand why
it seems to be so hard to get the new features in for the next release. Now the
pressure is on again.Developers don't want to produce software like this. Customers don't want to
buy and use it either.
No comments:
Post a Comment
Your comments are welcome!