I've been trying to get around to writing this article all day, but, you know, other things came up. The dog needed to go for a walk. I needed another cup of coffee. YouTube needed to be watched. You know how it is. We procrastinate.
The inspiration for today's column came courtesy of one of my programming students. I teach students online for the UC Berkeley extension. Students are given six months to complete four programming projects, four discussion posts, and a final exam.
After the six months, the learning management system automatically closes. The student can't continue. Normally, that's fine. This is a course that can easily be done in less than six months.
Unfortunately, one of my students is trying to complete it in four days.
FERPA prevents me from knowing much about my students, so I don't know this individual's excuse. What I do know is that four days before the end of the term, the student decided to try to schedule the exam, as well as get all the programming and discussion projects in.
Exams are not done online. This is a university course, so exams are proctored. The student has to show up physically and take an actual test at a testing center. That means that both a location, and a proctor, must be scheduled. This is ideally accomplished weeks in advance, not four days.
Programming assignments are also supposed to be turned in at least one week apart. That gives me, as the instructor, time to grade the assignment. It provides time for the student to learn from my feedback and critique of the work, all before doing the next assignment.
If you already have a good familiarity with programming, and you schedule your exam early, you can probably make it through my course in four weeks (if you push yourself hard). Four days is... unrealistic.
I'll come back to the student in a minute, but let's talk about technology projects in more general terms. Put simply, frak-ups happen.
No technology project is immune from schedule slippage. The scope of the project might have been unusually optimistic, a part might not have arrived on time, a nasty bug in code might have showed up, a family member might have become ill, a new Star Wars movie or Mass Effect game might have been released. Anything can happen.
Good technology project scheduling means building in a lot of careful milestones, but also building in a bit of slip time to account for elements that don't happen on time. If you're lucky, and you don't have a slip, then you finish early. But that's rare.
Of course, most of us don't procrastinate on purpose. It's just that something comes up.
The problem is, of course, that there are consequences for not delivering on time. Sometimes it's just annoyance on the part of the deliveree. Sometimes it's huge performance and lateness penalties. Sometimes, you (and possibly your entire team) lose your job.
Sometimes -- and this is the worst -- the person you're delivering to tells you it's okay. Outwardly, there doesn't seem to be any problem at all. But that client is keeping track. One or two more mistakes and, without notice or explanation, you're out. You've lost the trust of your client or customer.
The harm of procrastination is that it can also be very stressful. My student has, for the past four days, been corresponding with me, making desperate calls to the registrar, begging the academic department, coding, coding, coding, coding, and hoping for a resolution. It's not fun.
Stress makes you stupid. When you're late, and stressed, and rushing to get something done, you make mistakes. This, too, causes damage to your deliveries, and reduces the trust of those you're working with.
Your reputation diminishes as well. Sometimes you get cranky. Sometimes your loved ones, who don't deserve to be the victims of your procrastination and stress, feel the stress as well. Home life becomes tense.
So what can you do about it?
The short answer is to prioritize and plan. This article, for example, isn't for tomorrow. I normally write my articles the day before they're due to be published. My next article is due in two days, so I would normally write it tomorrow.
But my schedule for tomorrow is insane. While I might be able to get the article done, it would add to my stress. I'd rather have it in the can, and ready, so I can handle the rest of my busy day. I looked at my schedule, planned ahead, and forced myself to get this bit of work done early.
You can do the same thing. First, keep track of when your projects are due. I have a lot of projects I'm working on at any given time. Some are for clients, and have hard due dates. I block out time in my calendar to work on those projects. Some are side projects, or research projects, without due dates. I work on those in the slack spaces between deadline-based work.
The coolest desk toys for tech people
Over time, I've gotten very good at predicting how long a project takes, but I still schedule some slip time into the project. Because I often work with large teams in major organizations, I'm also very aware that they may miss their deadlines. That often results in a push at the end. When I do my initial planning, I make sure to account for that expected slip. That way, their lack of planning doesn't become my emergency.
I keep a very tight eye on schedules. I check them regularly (daily to weekly, depending on how complex my deadline project spectrum happens to be). I make sure to communicate carefully to other team members, and remind them when they have upcoming deadlines. It doesn't always work, but it has saved us from missing our deadlines on more than one occasion.
There is no magic to getting work done on time. Some people who know I work from home say I'm lucky. It's true. I can work any 12 to 18 hours in a day that I want. The work has to get done. If the puppy wants a few minutes of play, I can actually spare the time to do that. It's a good way to live and work.
But -- and here's where you need to pay attention -- while I can choose what hours I work, and when to work on what, it is my responsibility to put in the time. I'm writing this at 9pm because I didn't feel like writing it earlier in the day. I also don't feel like doing it now.
I would much rather curl up on the couch, with my wife and dog, and watch the last remaining episodes of Downton Abbey. But because I didn't get this work done earlier in the day, I'm making myself do it now. If I put it off more, it will slip into tomorrow. As I've already said, tomorrow is going to be a very busy day as it is.
You have to provide your own motivation. You need to push yourself, and keep track of the time it takes to do your work. We've just entered October, which means it's Halloween month, so scary stories are fair game. The scary story about procrastination is how easy it is to go from just a little delay to total panic, to total disaster. Don't let it happen to you.
Oh, and as for my student, that individual has filed a request for an incomplete. Hopefully, there will be an opportunity to complete the exam in the coming months. Please don't take that as an example that shows procrastination can work out. Now, my student has the stress of an upcoming exam, on top of the stress of trying to get four assignments done in four days, without any of the learning benefit that would have been achieved if things had been done in a timely fashion.
It's also entirely possible that my student will put off studying for the exam, if it does finally get scheduled. The final grade may well be lower than it would have been if the student had done the work on schedule.