I just read Sanaz's post on being in "Ship Mode" - the state of your mind in the period running up to a ship date. In her post, she describes a state where you are working extra hard, often doing longer hours or weekend work, your inbox overflows, even your music style changes (r'n'b gives way to rock!) and other symptoms.
This represents many of the experiences from my software development career. Sanaz's post implies that despite the hard work, she still loves doing what she does, and in this respect she is very lucky. She works on a cool product and the satisfaction of that can be enormous; enough to overcome the stress of "ship mode". In my experience, there have been many times when the teams I was working with have been in a much less positive mindset, instead death marching towards almost-certain failure.
However, whichever mindset you are in (positive or negative), being in "ship mode" is not congruent with idea of Sustainable Pace. Unless you are working at a sustainable pace, you cannot guarantee any level of predictability or consistency, and therefore cannot reliably plan or execute against commitments you make.
In my team, there have been a few recent events that have created a real dilemma for us. Environment outages, sickness and other issues have caused products to be at risk of being incomplete at iteration end, and many of the team members were chomping at the bit to "work whatever hours needed to get this thing finished. After all, we're Microsoft employees, we are obligated to go that extra mile".
I couldn't decide what was "right". After all, that is not sustainable, right? It breaks the rules, goes against the philosophy. Some people did work extra hours, things did get done. I still wasn't comfortable.
My good friend Mitch posted about Breaking the Rules of Agile - Working Overtime. The key sentence he wrote in his post that helped me find some clarity in my thinking was "teams work overtime when its needed, not demanded". He goes on to talk about some situations where his team made pragmatic and collective decisions about working overtime to meet the commitments they made. He summarises the post with:
If you find yourself in the position where your team (or a team you coach or "manage") needs to work overtime, have the team ask itself if overtime is needed. If it is, talk about it, define the goals of what will be done in the overtime sessions (or weekends) and outline the exit criteria. Follow this with a discussion on who is needed to do the work, and as a result, work the overtime. Remember, this is a team exercise.
I will be working with my team to make this exercise a team norm in times of "schedule stress".





