It’s all about focus! (Work In Process – WIP)

When I’m in airports I do a lot of people watching. One thing I notice is a total lack of focus in some people.

In the airport I have several distinct goals.

  • Get through check-in and/or bag drop as required.
  • Get through security.
  • Identify my boarding gate if it is already displayed.
  • If my boarding gate is listed, get to it to make sure I know where it is and how long it takes to get to it, so if I have time to wander off I’m not going to get into trouble later.

Only once these tasks are complete can I relax and while away the time. Now I understand things can get complicated when people are having to sheppard young children, but I see lots of single adults, or couples that seem unable to focus on the task at hand…

As an example I recently witnessed someone being asked the same question three times before answering it. At this point you might be thinking it was because they were hard of hearing, or maybe struggling with the accent. Although that could be true, what I could see was they were not looking at the person dealing with them. Their attention was elsewhere, rather than focusing on the task at hand. This drives me crazy. You are asking for help, so pay attention you flippin’ idiot!

There are lots of characteristics that can be attributed to successful people, but I would suggest one of them has got to be the ability to focus. Being able to shut out everything else and focus on the task at hand is really important. You think you are good at multitasking, but you aren’t. It’s a lie. Sure, you can to some extent multitask mindless operations, but anything that needs proper concentration is single-threaded. By attempting to multitask all you are doing is performing substandard work. It takes time to switch between tasks, so when you think you are just checking your twitter messages, you are actually wasting significantly more time… I notice a big difference in my productivity when I’m working from home, because home is really boring, with very few distractions. In contrast the office is full of people that just want a “quick chat” about something, me included. πŸ™‚

One of the principles of agile development is to control Work in Process/Progress (WIP). This is important because it allows you to focus on a single task (user story or story point) and get it done and out of way, before moving on to the next thing on the list (or kanban board). Since you are only ever focused on the current task, there is no need for context switching during the task. It also has some other benefits…

  • If you are like me, you get a kick out ticking things off a list. This is something I’ve done for years, before I heard of kanban. Something like a kanban board just adds visibility to something you are probably doing anyway.
  • It’s easier to judge progress on large pieces of work if it is broken into steps.
  • Assuming the work moves to production in stages and can be made visible to the users, the users can see it happening too. This is important on long running projects where it’s easy to look like you’ve disappeared for 6 months before the finished product arrives.

There will always be some interruptions, like high priority incidents, but removing all but the essential distractions has a massive impact on productivity. This doesn’t have to be controlled by others and imposed on you. The trick is for you to be disciplined about when you do things. If you can’t live without checking social media, fine. Just do it between tasks, not during a task. If you are already switching between the end of one task and the start of the next, you are already having a mental context switch, so the impact is much reduced compared to checking in the middle of a task. I don’t agree with companies trying to turn workers into mindless drones, but at the same time it is your duty not to waste time you are being paid for.

Most importantly, never stand in front of me in a queue and ignore the person on the desk who is trying to help you, or I’ll write a rambling blog post about you! πŸ™‚



The Definition of Done

One of things I find myself getting increasingly frustrated with is the definition of done by some people and companies.

For context, I’m speaking about work that is allegedly entirely complete, not necessarily what I expect out of the first sprint on a project. Sorry for stating the obvious, but someone will try to explain to me what the “Definition of Done” is from an agile perspective and I’ll get cranky… πŸ™‚

Just off the top of my head I can think some things I think are important.

  • It has to work : I mean actually work! It needs to do what I need it to do, and it needs to do it without falling over every 5 minutes.
  • Functional Testing * : It should have some defined functional testing to prove it works. That should preferably be automated, but manual will do. Either way there should be a definition of what has been tested and the known limitations of that testing.
  • Load Testing * : Just because it works on your PC with one row in the database, that is no reflection on how it will react in a multi-user system with lots of data.
  • Tooling/Automation : There needs to be enough automation and/or tooling to allow the day-to-day operations to happen without having to refer back to the code or run SQL directly on the database to fix things.
  • Documentation : There must be some concise and accurate documentation so people know how to use the product, and what operational tasks, if any, need to happen in order to stop the thing falling in a heap after a few days, weeks, months.
  • Support : I need to know who to fall back on if I’m stuck.

* These may not be fully transparent to you if it is a 3rd party product, but you will soon know if it is happening when you use the product. πŸ™‚

It’s surprising how many things I encounter on a daily basis that don’t seem to live up to this off-the-cuff list. This is not just internal developments, but work produced by expensive consultancy firms and 3rd party products.

Please, please, please finish the darn stuff before you give it to me!