I often enjoy watching Gordon Ramsay's Kitchen Nightmares and I've wondered if his approach could be used to illustrate common problems with software development.
Some come on people, it's not exactly fucking rocket science is it?
Update June 2008 -- It appears I'm not the first to have made this connection, and again
- Know what your customers want and will pay for: i.e. Get the requirements right
- Lack of training and experience can be fatal
- Don't expect kids with 6 months experience in only one language to implement large complex systems without significant supervision and mentoring
- There is no substitute for passion and hard work
- Success comes from the whole team working together
- Keep things as simple as possible
- Ensure equipment is clean, working and eliminate 'bad smells' from the materials
- Version control
- Build environment
- Test planning and infrastructure...