Resisting The Urge To Do Work: Exploration Versus Exploitation Activities In Software Development

Visit Website View Our Posts

Author: Neil Chong-Kit

 I find I am constantly having to stop myself from “doing work”. After many years as a software developer, the desire to solve issues immediately is deeply ingrained. Put an issue on my plate, and I’ll pick up my fork and knife faster than you can say “prioritize”. Why? Because solving issues and closing tickets feels good. I get to show how smart I am, I get to click the “Resolved” button, and everyone gets to see the backlog shrink. Instant gratification (well, almost). However, I’ve been working with a client as an application consultant, and my instincts are really tripping me up. During the user acceptance testing phase of a new system rollout, a large number of issues have been raised.

What I WANT to do is start with the highest priority issue, and knock them off one by one.

What I NEED to do is read and understand every issue before doing anything.


  • Because the issues may be grouped into logical batches, and processing a batch is often more efficient than fixing them one by one.
  • Because assigning issues in a batch to other people makes the coordination effort worthwhile versus just doing it yourself.
  • Because solving one issue correctly can remove the need to solve other dependent issues.

Sounds simple enough right?

If I was a robot, it would be. But reading and understanding each issue without trying to immediately solve it for me is like concentrating on everywhere I am itchy before I start scratching.

There is an adage:

How do you eat an elephant?

One bite at a time.

Well, you may lose your appetite looking at the entire elephant before you start eating. For me, it is stressful to tally everything that needs to be done rather than just doing it.

During my MBA, my professors liked to talk about exploitation versus exploration activities. I like to think of exploitive activities as something you do routinely, and they are associated with certain, predictable returns, such as resolving issue tickets. An explorative activity involves thinking about how and why you do things, and may or may not have returns. It’s possible that the issues can’t be grouped into batches, or that nobody can solve the issues except for me, but it isn’t known until I read through all the issues first.

Usually exploitation and exploration are used to identify processes at a much higher level, such as a company focusing on servicing existing customers versus seeking new markets. Successful companies, they say, have a balance between these two activities (the optimal ratio depends on the industry they are in). I’ve found it useful however,  to think of my daily activities in these terms, to ensure that I’m not missing the big picture by being too heavily focused on activities I naturally favor.

Please feel free to reach out to me by email with any questions at

by Catapult ERP, BC Canada Microsoft Partner


Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Show Buttons
Hide Buttons