Building good software is hard. That’s because it’s usually a huge moving target. By the time you’re ready to ship (or launch, depending on what you’re developing) you almost never end up with what you set out to build. New ideas pop up during development and you start to identify the importance of features that you never dreamed your customers would ever need.
Add to this the fact that technology seems to be evolving at an accelerating pace. Before you even have your beta version ready, the technology stack (operating system, database, programming language, application server, etc.) that you’ve selected with such confidence no matter feels like it is the best choice.
It’s easy to feel overwhelmed to the point that you want to give up. There’s a certain comfort in it even. Go ahead. Throw your hands up in the air and just give up. Feels good doesn’t it?
Leave the work behind you and just imagine yourself floating on a raft. Out here in the ocean you’re miles away from ringing cell phones and a never ending stream of email. A soft breeze blows over you keeping your skin cool from the sun’s warm rays. The sound of calm waves is the only thing you hear now, and it’s so easy now to clear your mind and focus on just being.
Now snap back to reality, because there are bills to pay! Hopefully that last little paragraph was a nice hypnotic mini-vacation from your otherwise stressful day though. And that’s the point. The first thing to do is just to calm down. Unless you’re writing nuclear weapon management code the world is not going to end if you don’t deliver, so just take a step back for a moment and put things in perspective.
Staying calm is important, but it’s only going to go so far in helping you to be productive. What’s really going to help you to work at your most effective level is time management and prioritization. Start thinking about all of the things you’re wasting your time on needlessly. Do you watch too much TV? Do you have bad habits that you need to work on? Keep a diary for a few days and document how you’re spending your time. If you’re the forgetful type, set a timer to remind yourself to take note of what you’re doing every half hour or so. You should start to notice some less productive activities that you can focus on minimizing. This obviously won’t work if you change your behavior because you know that you’re going to have to review it later — but if that’s what you need in order to get things done, go for it.
Now that you’ve managed to free up more hours in your day, it’s time to focus on what to do with them. In The 7 Habits of Highly Effective People, Covey introduces a system whereby you draw a two-by-two grid. This will leave you with four quadrants, which he suggests you categorize all of your tasks based on their importance and their urgency. Now you know where to focus — urgent and important tasks first. If your house is on fire, getting out of there is definitely urgent and important. If your electric bill is due today and you need to pay it or your service gets cut off, that’s pretty urgent too but it’s not nearly as important as fleeing from a burning house. Maybe those are bad examples in tandem, because I guess paying your electric bill isn’t so important if your house just burned to the ground. That does bring up the point of dependency though. You also want to be sure that you identify any dependencies that your tasks have on other dependencies.
Many project management tools will help you to do this. Redmond gave us Microsoft Project which is loved by project managers and loathed by programmers the world over. In our office we’ve recently implemented a ruby-based project management and bug tracking system called Redmine which I have really enjoyed using.
Finally, I think one of the things you can do that will make the biggest impact is just to do it. Buckle down for one or two days and just prove to yourself that you can do more than anyone would think was possible. You’ll feel like a superhero after you do, and this will do wonders for your motivation and keep you energized to keep delivering. So stop drowning in that sea of bits and get on the raft.
Leave a comment