Given the well known increased risk of burnout for an extended "Crunch Time," why do developers put up with it?
My theory, from personal experience, is that workers put up with crunch time because
1) they don't realize that much of their "progress" during overtime is marred by defects caused by fatigue. The illusion of progress propels them. But the poor quality is revealed later, possibly to someone else who tests the software.
2) younger people's bodies tolerate stress better than older people, so the young are more likely to put up with crunch time
3) many career-oriented people care more about job progress than balance in their lives an relationships
4) they may be unaware that agile methods (such as Scrum) offer a more sustainable form of progress
5) they may be aware that agile methods offer a better way, but they cannot influence their managers and users to adopt agile methods
6) some people grew up being abused and they transfer into an abusive work environment, and think it is "normal"
Interesting article. The "Progress" thesis is very interesting.
I don't fully agree with the statemen: "It is unrealistic to deliver any project without going through some 'crunch time.'" Or maybe it's better said as I don't want to agree with that statement.
I also fully agree with previous comment "some people grew up being abused and they transfer into an abusive work environment, and think it is 'normal'". Grew up or were educated.
My 2 cents.