A Time For Test

Test Time

Where does the time go, whether release deadlines or fitting in a side project, finding time is a challenge and managing that time is even harder.

Competing Interests

For Side Projects

I found the time for this blog by following some advice from John Sonmez and paying myself first by waking up an hour earlier than usual to dedicate time for the project. I'm not a morning person so this suggestion was an affront to my natural sensibilities. So I figured I'll just squeeze in time in the evenings.

It just didn't work, by the time I finished work, got home for dinner and spent some time with family I was just not in a state that lead to anything productive. You can add on some general exhaustion from having a child in the home that sometimes likes to wake up in the middle of the night and you can imagine just how little was getting done.

It turned out the best time was actually the early morning. I was mostly rested and had energy to allow me to focus. It was actually pretty nice since the house was quiet and I was alone to get some work done.

That strategy has served me pretty well, but its not a silver bullet. Its pretty tough to scale that approach, since each project you want to add means another hour earlier.

For Your Day Job

There seems like there would be plenty of time in the work day, after all you're there for at least 8 hours a day. Testing is knowledge work and requires focus and attention. It also means frequent interruptions are the bane of good testing. You add in meetings, people stopping by for questions, or just to chat and the temptation of checking Twitter or Facebook and pretty soon your 8 hour day is shattered into tiny pieces.

Even when you have some decent time to dedicate to testing, it's unusual that a tester only has a single task to complete. Your team may have the work setup and assigned with a priority, that doesn't mean there aren't development delays or blocked progress due to bugs or design considerations. Unfortunately that beautiful order can break down pretty fast but you still need to make progress.

Either Way

The only option with multiple interests is to try do more with the time thats available.

Chart(er)ing a Course

Sometimes getting started is the hardest part. I talk about friction a lot, anything that might impede my progress real or perceived is likely going to cause delayed progress (and act like a pebble in my shoe until the task is done). Joel Spolsky from Joel On Software has a really nice article about the impact of these tiny frustrations on user experience.

In Rigorous Exploratory Testing Elisabeth Hendrickson gives a nice explanation.

Exploratory test charters define the area we’re testing and the kind of vulnerabilities we’re looking for

This allows you to scope your testing into the time slots you expect to have throughout the day. The charter isn't a strict contract its a starting point and can be adjusted or redefined as you learn and test.

Pomodoro Technique

The Pomodoro Technique is a pretty straight-forward idea.

  1. Pick a Task
  2. Give it all your attention for 25 minutes
  3. Take a 5 minute break
  4. Repeat
  5. Then after 4 iterations take a longer 15-30 minute break

Think about it though, how often have you sat down to work on something and given it undivided attention? No checking your phone, email or getting up for coffee. It sounds like a pretty short window of time, but I've been trying it out and it's works well. It's a maintainable pace and it forces you to think about what you want to accomplish in manageable chunks. It's also short enough so you don't go through withdrawals and use up all your will power abstaining from distraction. You also don't have to finish something in each pomodoro, you just continue after your break. Plus the breaks feel like a reward and has been unexpectedly motivating. I get to feel justified in taking a few minutes to myself, knowing I'll be back full steam in a few minutes.

It's a popular enough concept that whatever platform you are using has app (free options as well as paid) that will do the timing for you and keep track of the tasks you've accomplished. Some even go so far as to allow you to block certain websites or applications during your focus time.

Sessions

Sessions are a part of Session Based Test Management, and are basically time boxed testing for 45 minutes to several hours. It uses charters as a guide for each session. In terms of time management I think it helps productivity in a similar fashion to the Pomodoro Technique without the structured time intervals. It directs you actions towards a specific area for a period of time and that effort alone help you understand better how you are using or misusing your time.

Quality Time

Without intent for your time it's easy to look up from your desk and wonder where the day went and what you actually accomplished. So before you stay late another night, take a few days and just look at how you are using the time you currently have.

Then decide if you need to log a bug report for your own time management service.