Make Developers Work Long Hours
This is one of my favorite ways to send a project into oblivion. Don't get me wrong; there are times in the project lifecycle when a few long hours can be expected (the final dash to the finish line; the panic session to fix the broken build). Sometimes, it does make sense to work long hours.
The expectation of long hours can become part of the development team's culture. How late you work is an index of your dedication. Pull an all-nighter, and you're elevated to the ranks of the immortal. Hard work and dedicationwhat could be wrong with that?
The continual long hours wear down the project team. The result is that error rates increase, documentation is discarded, and quality deteriorates. There are two main challenges in development: listening to the client and building the software to meet their requirements. How can you listen effectively to team members and customers when you're exhausted from a regime of long hours?
The law of diminishing returns comes into play as rework is increased: resolving defects and redevelopment of functional missteps consume the team's time.
If you find the team is living in a death-march syndrome, better stop and figure what is wrong with your project. You have fundamental issues to deal with. Adding more resources will slow down development and sidetrack you from fixing the core problems.
Bottom line: Work smarter, not harder. Go home. Take the dog for a walk. Kiss your kids. Rebuild yourself, and see your quality go through the roof.