After over a decade of working, these are the behaviors and programmer memes that I refer to all the time.
1. Draw the rest of the owl
2. Yak Shaving
2. Automation ROI
3. Bugs become features
4. Ballmer Peak
5. Bike Shedding
6. Chesterton’s Fence
7. Ninety–ninety rule
8. Gold-Plating
Requirements gold-plating: Some projects have more requirements than they need right from the beginning. Performance is stated as a requirement more often than it needs to be, and that can unnecessarily lengthen a software schedule. Users tend to be less interested in complex features than marketing and development are, and complex features add disproportionately to a development schedule.
Developer gold-plating: Developers are fascinated by new technology and are sometimes anxious to try out new features of their language or environment or to create their own implementation of a slick feature they saw in another product – whether or not it’s required in their product. The effort required to design, implement, test, document, and support features that are not required lengthens the schedule.