Third part of excerpts and my notes on classic mistakes from the book Rapid Development.
- requirements gold-plating – users tend to be less interested in complex features than marketing and development are, and complex features add disproportionately to a development schedule.
- feature creep – even if you’re successful at avoiding requirement gold-plating, the avg project experiences about a 25% change in requirements over its lifetime (Jones 1994). there’s no escape from changing requirements.
- developer gold-plating – devs are fascinated by new technology and are sometimes anxious to try out new features of their language or envt or to create their own implementation of a slick feature they saw in another product — whether or not it’s required in their product.
- push-me, pull-me negotiation – one bizarre negotiating ploy occurs when a manager approves a schedule slip on a project that’s progressing slower than expected and then adds completely new tasks after the schedule change. it’s like rubbing salt to a wound.
- research-oriented development – if your project strains the limits of computer science by requiring the creation of new algorithms or new computing practices, you’re not doing software development; you’re doing software research. software-development schedules are reasonably predictable; software research schedules are not even theoretically predictable.