views:

229

answers:

7

Over the past few weeks it seems like I've been interrupted by maintenance tasks from old projects quite a bit in addition to a taking a training class. I feel like I've lost all forward momentum on my current project. It's difficult to even start coding because I'm not sure what I was doing and what I was thinking before the interruption.

What tips or techniques do you have to help make it easier to get restarted after an interruption that takes you away from your current project for a couple of hours or days?

A: 

Yeah, good luck with that! (I don't think there are good ways for interruptions to not be complete interruptions.)

thursdaysgeek
+6  A: 
  • Take a minute to write notes to yourself (on paper right in front of you) about the project you're putting down before you go and pick another up

  • Still messed up? Headphones on, music on, loud enough to drown out your surroundings and no lyrics

  • Really messed up? Go for lunch, take a walk, get out in the air and don't come back til the interruption has faded

  • Really really messed up? Don't accept interruptions any more. Be really firm about this with colleagues and managers. If you need to ringfence yourself to get stuff done they should be able to appreciate that, at the end of the day what's efficient for you is efficient for them.

annakata
I'm going to try the post-it note approach. I already use a wiki -- maybe what I need is just a "bookmark" for the wiki to remind me where I was.
tvanfosson
as tech capable as we are, the directness of paper just works better
annakata
+4  A: 

Some of my techniques include

  1. Documentation. This gets you thinking about your project. If it's not easy to describe, it's probably not elegant enough yet
  2. Static Code Analysis - FxCop, Lint, Cyclomatic Complexity, Security Analyzers. Now is a good time to step back from your code and check on best practices
  3. Unit Tests. This again gets you thinking about the code and how to improve it.
jwmiller5
+3  A: 

I get interrupted frequently with phone calls, quotes for sales on more technical items, project managers asking me about feasability and time constraints, and junior developers asking for assistance with problem solving issues.

I've found the following, while not as ideal as being able to shut the office door and be left alone for hours on end, to be the most effective:

  • Install the Firefox add-on "LeechBlock" and add your most commonly used websites there. You could set a time-limit (i.e. 5 minutes every two hours) so you don't completely shut yourself off.

  • Wear headphones if you work in a cubicle or are busy.

  • Put your phone on do not disturb.

  • Turn off your email client and only open it at certain times (i.e. 11am, 3pm).

  • Ask co-workers to only see you during certain times as a courtesy (i.e. 11am, 3pm) but say you will still be available for emergencies.

  • Group as many like-tasks as possible together (i.e. Do maintenance tasks from 4pm to 5pm each day) and leave the remainder of your day for project work.

It's not ideal, but this is the best solution I have found.

Kyle B.
+1  A: 

Essentially what you are trying to do is get back into a productive "state" after an interruption and the key is to find the things that, for you, trigger that productive state. Although I am still learning about the subject, you may find some helpful answers in books on NLP (neuro linguistic programming).

John Channing
A: 

Honestly, IMHO just sit down and do it. Complaining now is just a distraction from getting started. If you want to investigate how to ameliorate this problem in the future, do it in a few days, after you have picked the baton back up again.

Christopher Edwards
+1  A: 
  1. Find small task to implement it first (for 1-6 hours long to do if you doesn't have interruption). During formulating what to do you slightly recall a state of the project. You can also look through the requirements from the customer or project manager.
  2. Implement this task, but be in no hurry - you can spend much more time than you planned. Look around the code to recall deeper.
  3. As for me after this I recall most things.

If you have a problem to continue after mentioned steps this can signal about some problems in the project like ugly design, absence of documentation, weak understanding of the purpose of the project or something else. And this is good time to have a fresh glance on the project. You can notice the problems which are difficult to catch when you are deep inside the project.

Of course this is useful for several days interruption, but not for several hours long.

sergdev