Heroic Software Development
It's common to hear some development teams bragging about their heroic efforts saying things like.
- I was up until 3a fixing some bug.
- Unless you're doing a 60 hour week, you're not pulling your weight.
Try googling for Heroic Programming and you will get thousands of hits, many of them littered with similar phrases. Why ? A development team that requires Heroic programming is badly broken as their as their software is likely to be. Software that requires an contentious Heroic effort to fix is either overly complex, badly coded or both.
A Management team that demands or even allows Heroic programming is verging on the incompetent. Good management should see heroic software development efforts at a symptom of big problems in their development process or team. The best Software Developers don't need to make heroic efforts. They leave on time, they have a life outside work and still produce high quality software. Good software works well and is easily changed without Heroic efforts. Good software is written for programmers. Good Software is understandable by the most junior member of the team.
Heroics are for fire fighters not for Software Engineers.