Have you ever thought about how your life would look like if the prioritisation methods we use during software development (value, importance, complexity-based etc.) were applied there? Imagine that you are sitting on the bus, which is about to leave, but somebody important runs after it and the driver down prioritises you, and you have to get off. Or, you cannot pay at the grocery store, because there are more important people there and you have to wait until they are done shopping and ready to pay. On the other hand, wouldn’t it be great to get to see the doctor without an appointment even if the waiting room is full of other, less important people?
I feel that people in my environment put too much emphasis on prioritising the work. I feel that to them, having the work in the right order is much more important than actually doing the work, but I think it should be the other way around. We are spending days to find the right order, buy why? The customers I was working with wanted everything they asked for, and cared less about the prioritisation. Customers ask for complete solutions.
What is the point in deciding that feature1 is more important than feature2 when I have to do them both? I’m pretty sure that, for example, the butcher does not do anything like this. He just picks the next customer and doesn’t look into my pocket to check whether I have more money than the customer after me or whether I’m a complicated customer or not. Of course, there are friends who are served without even entering the queue but that’s natural favouritism.
Unfortunately, prioritisation in enterprise environment gives us the possibility to choose what not to do, instead of helping us find out what to do and how. This has been bothering me for a while. So I decided to do an experiment. I’m aware of the fact that one experiment is not an experiment, but you can do it anyway, and comment your findings. Maybe we can conclude something interesting here.
So, during a week, I have to handle about 15-20 things with different values, and my ultimate goal is to get everything done until the end of week so that I can start the next week with a clean slate. I decided to compare three different approaches by doing each of them for a week, and see which one of them is best for me:
- first come, first served a.k.a FIFO approach
- prioritisation like we usually do, sorting by value, importance, complexity etc.
- complete freedom, do what I’d like to do
I’m not saying that the result was revolutionary, but I learnt a couple of things during these three weeks. The throughput of the FIFO and the prioritisation was almost the same. According to my notes, with the FIFO approach 2 items, and with the prioritisation approach 1 item had been left for the next week. The complete freedom approach wasn’t really my thing, because 70% of the work items had been left for the next week. It is good that I used this approach only on the third week.
The most important lesson for me was that the availability of an ordered list mattered, but how I created that list didn’t really matter. However, there are things I cannot do in a FIFO order, for example doing the groceries, go for a run or pick up the children form the school (a hint: this cannot be done last). In situations like this, when there are external dependencies or time constraints, I’ll use the previously mentioned natural favouritism and for the rest of the tasks there is the FIFO order. I have to do every task anyway and I don’t want to spend time and struggle with value, importance or complexity based ordering.
comments powered by Disqus