Wednesday, January 17, 2007

Striving for Better, achieving Good Enough

You could consider me an Agile practitioner. I have worked with processes one might call Agile, with a definite slant towards Extreme Programming. What does that mean? Superficially that means employing certain practices: Short iterations, pair programming, etc. It means not doing all requirements analysis before development starts, and so on.

On reflection, one of the main aspects that I have taken on board is the philosophy of continual improvement. I don't use the word philosophy lightly. As a practitioner of a profession, I seek to improve my methods and learn through this endeavour. This is where my intrinsic nature and Agile thinking align well. My most enjoyable part of a project is the retrospectives: frank, open discussion about how the team can improve itself.

Sure, nine times out of ten a well staffed project team will deliver as required, without the need for much advanced thinking. So why look beyond what we already know? Or, why fix what isn't broken? It is interesting to ponder the Moon landing in the context of these questions - there would have been millions of reasons not to do it. My feelings are that you develop as an individual (or a team) by striving to be better than you currently are; challenging the current assumptions and operations. Identifying areas of improvement and applying analytical process to making the next step; in particular, this means overcoming our natural tendency to aim for 'good enough'.

The usual outcome of aiming for 'good enough' is not as good as we had hoped. By defining an easily achievable level and never increasing it, we allow lapses to occur, the end result being below the set level. It is a natural outcome of becoming too comfortable. Only by continually striving for better can we truly achieve good enough.

Wednesday, January 03, 2007

Two months on

I have been using GTD now for over two months and it is worth making a few observations. Having lists for all my tasks is really useful and I am likely to continue to use this system for quite a while. It is quite mentally liberating to have my to-dos outside my head. The contextual names (i.e @Work) are really effective, even if most times I have to scan three or four. I am still persisting with a low-tech approach, with my lists being a set of index cards with a bulldog clip.

The tickler file I struggle with a little. I can see its value and I will add things to it, but remembering to check it every morning is tough, especially when I am on holidays. Also, it doesn't help that the nature of my work means that I already have two other calendars to check. That said, missing appointments is my biggest concern and I blame a lack of a unified calendar system - my phone software can't sync with Lotus Notes at all and has some difficulty with outlook. Also, there seems to be no online, standards based calendar solutions out there; it would be good to simply forward all my Notes and Outlook invites to say my Yahoo address and have everything captured there.

On a more subtle note, the temptation to write down tasks which cannot be completed never goes away. What this means is that the lists can be more like Inboxes, for example: "fix shoes". Now, I am not a shoe repairer so I cannot complete this task. The correct task should have been something like "Take work shoes to Bob's shoe repair". This goes back to processing an Inbox item, doing the thinking up front and then devising concrete actions from there.

My inbox is quite small for things other than email, so I often just process them straight to the lists without a holding area. This does get me into trouble when I am away from my lists and an Inbox item arrives. I would ideally like to use my phone's voice recordings for this but they don't work satisfactorily. Also, I scan my Projects list erratically, I do not have a scheduled time to do this, but it is still helpful nonetheless.