Reflection Checklist

Slight deviation from the normal Tuesday & Thursday visualisations this week, due to OmniGraffle‘s (an excellant Visio substitute) trial version expiring on me so I can’t do any visualisations until I buy a copy at the weekend.  So this week I’m going to do some lists instead!

What is the task?

  • Describe the task.
  • Describe the desired output of the task.

How are you performing the task?

  • Describe the steps you take to perform the task.

Could you measure your performance?

  • Can you think of a metric that would let you benchmark your performance e.g, time taken.
  • Measure (or estimate) using the metric.

What steps are you performing well?

  • List the steps you are performing well.

What steps are you not performing well?

  • List the steps you are not performing well.

How could you improve your performance?

  • List your ideas to improve each step.

Try your improvement ideas.

  • List the results of your ideas here, with metrics if possible.

Reflection for improved performance

Regularly taking time to pause and then review and reflect on how you could improve, and then experimenting based on those thoughts is key to personal improvement and increasing productivity.   This technique has really been highlighted to me since starting to use Agile development methodologies like Scrum where at at the end of each sprint (short iteration period) a retrospective meeting is held.  These meetings allow those working on the sprint to pause, review and reflect on their performance during that sprint and to discuss how performance could be improved.  The regular retrospective meeting is in my mind one of the most important innovations introduced by Scrum and Agile, as otherwise retrospective activities were limited to once per development cycle after shipping the product.

I think that those short development iterations and regular reflection sessions at the end of each iteration introduced by Agile/Scrum are perhaps the two components of these methodologies that help drive process improvement the most, but they are perhaps also the easiest to overlook.  It would seem that the natural inclination for most workers (especially when stressed) is to not stop and think about how they are working, which means they do not truly understand their work flow and this limits their ability to improve their performance.

Some of the most productive individuals I’ve met, or have heard about, are those that regularly take the time to pause and think about how they are working not just about what they are working on and then experiment to improve.  This habit goes against the instinctual urge most of us seem to have when ‘busy’ which is to not stop to think about the how as we think we don’t have the time to spare.  This is a huge misconception, as taking time to pause and think about how we are doing things and how we can improve can yield large gains in terms of increasing productivity and reducing frustration.

Another overlooked aspect of reflection is that it can make a mundane repetitive task more interesting and stimulating by turning it into a personal challenge: can you tune your work flow and improve your performance on a set task?  For example, habit can even be applied to repetitive manual tasks like mowing the lawn: can I mow the loan in a shorter period, where can I save time or remove repetition?

In summary, pausing and reflecting during your working day and then experimenting to improve can help drive a habit of efficiency which will increase your productivity and potentially improve the development process for your whole team, and this is what all development efforts need to suceed.

Note Taking

Note taking is something I’ve touched on before as part of problem solving when stuck, however I believe it is a topic that deserves a post of its own.  Note taking should be a constant activity, most usually I’ve seen this done with a paper notebook and pen, in fact most jobs I’ve been in supply these essential tools which suggests note taking is expected for software engineers.  The more stationary obsessed oriented note takers may start to use their own notebooks and pens to suit their preferences and writing style: I favor small ruled Moleskin notebooks and a LAMA fountain pen.  The even more organised amongst us may even use some form of shorthand writing to speedup note taking during meetings.

The next step in note taking is to start using note taking software, I was first introduced to this concept by a co-worker using Omni Outliner on his Apple Powerbook on a project to manage his personal notes and thoughts on his work.  I’ve since started using note taking software in the form of Microsoft OneNote at work, Omni Outliner at home on my iMac and the humble Memo application on my Palm Z22 on the go.  You can even use web based note taking software like Google’s Notebook application.

The features that attracted me to note taking software:

  • The ease of organisation possible, its simple to reorganise notes digitally.
  • The ability to search through all my notes.
  • Copy’n’pasting information in many forms e.g., text, pictures, movies etc directly into my notes.
  • The fact I type faster than I can write!
  • Built-in spelling and grammar checking.
  • I don’t have to worry about losing information due to ink fading or my hand writing being hard to read.

I must admit I’m still a relative novice at using note taking software and I’ve yet to start fully using the more powerful features available. I still tend to write digital notes much like I’d write them in my note book and then tagging the notes as I see fit.  So my notes are more like a personal blog (or PLOG as I like to think of them).  This helps me record and remember my work and those little details I always seem to forget because I only need them every six months.

The next stage of note taking I want to try is to attempt to improve my notes from meetings, which to date have typically just been writing in a note book but I’d like to try recording meetings using a digital voice recorder.  This is not to keep the recordings as evidence but to allow me to make better notes after the meeting, as with a recording I can replay the conversation till I grasp it fully without having to bother anyone.  I’ll be interested to see what the reaction to recording a meeting is, as I guess some folk will be suspicious that I will keep the recording even when I have no intention of doing so.

I’d also like to start getting organised enough to start writing notes for blog posts before I write the actual posts but so far that has not happened.  My dream is to have an Apple Macbook Air so I can have Omni Outliner with me at all times which I think would help a lot rather than having to switch between note applications between home and work.

Work Blocks in Action

In my previous post I talked about work blocks as a way to prevent meeting requests from fragmenting your working day to such an extent that they prevent flow and impair your ability to get stuff done.  Above is a graphical example of roughly how my work blocks are arranged in my calender: I’ve two mornings and two afternoons blocked off giving me two half days and one whole day where I know at least half the day is mine.

Personal Oragisation

Since starting work at my current workplace, which has almost two thousand employees in the same building, I’ve found myself in more meetings that I am used to.  This is due to being in a central technology team in a large studio with many teams we need to communicate with via meetings.  This, combined with a large corporate directory for the studio which means more telephone numbers than I can easily memorize and a desire to be able to create tasks and notes for myself in meetings or on the go, has lead me to recommission my trusty old Palm Z22 Personal Digital Assistant (PDA).  I used to be a die hard PDA user starting with a Palm Vx then a Palm Zire, then a Palm Zire 21 and finally onto my current Z22.  I’ve always loved Palm’s Palm Desktop software but when I moved to using an Apple iMac at home I found the Palm Desktop port to be a poor port, to such an extent that I actually stopped using it for the last few years.

Since my responsibilities have increased at work and I find myself in more meetings with more potential to forget when my next meeting is if I’m not at my desk, I’ve brought my trusty Z22 out of retirement.  Fortunately as the Z22 has no email client getting IT approval to use it was simple.  I don’t think I’d want a mobile email device for my work email like a blackberry, Palm Treo or Apple iPhone as it would be far too distracting for me I think.  I’ve also made the switch to syncing my Z22 to Outlook 2007 instead of Palm Desktop, which is taking a bit of getting used to as Outlook’s Tasks and Notes features are not as powerful as Palm Desktops.

My favorite features of PDAs are:

  • Calendar: It is incredibly useful to be able to sync the calender on my workstation at work with my PDA so I can review my schedule at any time and anywhere.
  • To-do lists: creating, managing, sorting and completing tasks is very satisfying not to mention useful, especially as task management software has gotten smarter to allow recurring tasks, notes and alarms on tasks.
  • Digital Notes: have always been a favorite of mine, even during periods when I’m not using an electronic PDA chances are I have at least one or more Moleskin notebooks on the go, to keep information in.
  • Contacts: I previously did not need to use the contacts facility much but since I’ve started working in a larger studio and needing to keep more peoples telephone number, email and office location close to hand I am starting to use the contacts facility more and more.
  • Security: Old school Moleskin notebooks are great but unless you memorise equally old school encryption techniques to protect the data in them you become limited in terms of what you can store in them, as without encryption they are effectively public.  Thankfully PDA’s provide various options in password protecting your device, locking the device either on a timer or schedule, preventing anyone from syncing with the device and the option to encrypt the memory of the PDA.

Effectiveness Vs Communication Load

As the above graph demonstrates, there is a practical limit on team size before the communications load required to keep team members in synchronisation begins to significantly reduce individual team members performance.  The usual method for combating this trend is to partition large teams up into smaller teams to reduce the communication overhead per individual.

Source ‘Agile Software Development’ by Alistair Cockburn page 160.