"Sprint to the Deadline" is a pattern written by Arnaldo Cavazos. It describes why programmers often change their process when they approach a deadline. See http://wiki.cs.uiuc.edu/cs427/DOWNLOAD/acavazosPattern2.doc
This link and its parents just give a wiki menu now. Is there something I'm missing? I didn't look very hard, since I can't claim to be that interested.
Why do people do this? I've now downloaded this paper - 1678KB, over 1.6 megabytes - and looked at it in StarOffice - I don't have a Windows machine. Exporting it to HTML gives 21KB of text and a 96KB image that's pretty, but hardly critical. Taking out the HTML formatting codes leaves 14566 bytes of plain text. There are a few good points, but now I resent the time taken and I'm hardly in a good frame of mind to accept the author's writing as being the product of an insightful mind. If you're interested then by all means fetch the paper and read it, but it's hardly TheElementsOfStyle.
Used to be known by the alias LastMinuteSlop.
Some advice for people who are in a SprintToTheDeadline (voluntarily or otherwise):
- Get plenty of sleep. Even if you are working 14 or 15 hours a day, you can still get a full night's rest every day. Pulling an all-nighter won't be helpful if it wipes you out for the next couple of days.
- Eat well. Don't skip meals. Don't eat at your desk. Avoid junk food.
- Take it easy on the caffeine and other stimulants. Their positive effects are temporary, and the longer your work day is the worse their negative effects will be. Likewise, resist the temptation to increase usage of nicotine, alcohol, or other substances.
- Find time for recreation every day. Even if you only have an hour or two a day for yourself, there is something you can do to unwind. Get some exercise when you can.
- Keep communicating with other team members. When facing a deadline, there is often a tendency for everyone to focus too much on their own assigned tasks. Remember that your job is not just to get "your piece" done, but to help get the whole thing done. Everyone else is under the gun just like you, so be as cooperative and supportive as you would like them to be. Remember GeraldWeinberg's adage: No matter how it looks, everyone is trying to be helpful.
- Prioritize your tasks. Focus on them one at a time and DoTheSimplestThingThatCouldPossiblyWork. You won't have time to refactor, and you will be too tired to do anything clever, so just do the obvious thing as quickly as possible and move on to your next task.
- Remember that it is very unlikely that the world will come to an end if you miss the deadline. ItsJustaJob. Don't sacrifice too much of yourself.
- When it's over, start looking for another job. You don't want to let them put you through this again, do you?
Thoughts on stimulants
- Possible exception: When its the (seemingly) last LeapOfFaith? in the sprint - a.k.a the FinishLine? - and you really know what you're doing. In a general rule, though, keep clean if that's how you usually work. Those don't try this at home are there for a reason. Stimulants are risky. I've seen peers get high to get something done only to get stupidly high and get nothing done at all.
- General smoker exception: Increase in nicotin is kinda inevitable, ain't it? On the bright side, I generally solve a complex problem on a smoking break. --LeoBighetti?
See also HeroicProgramming, DeathMarch