Do you also get laser-focused on a task sometimes, and then wonder where the time went, and, oh, you also wanted to clean up the code from last week and learn about that new library? It does happen to us. But no matter what you do at engageSPARK engineering, if you’re a Django/Python coder, a frontend engineer fiddling with JavaScript or deploying Golang micro-services,ย  we all still have the same responsibilities: Customers, Stamina and You. In this post, I want to share our current approach to help balancing those.

This experiment is now in the 10th week and feedback I got was positive so far, which means it’s more than just an idea in my head.

Why we’re doing this

First, because it’s hard to step back, and realize that we should pay attention to other areas, too. It’s hard, but feels great when it works. And it doesn’t just feel great, it’s also necessary to make sure we’re not just doing short-term stuff, but are investing regularly in ourselves and the platform. And I love the idea of self-organizing teams, because such teams take care of most things themselves, making the CTOs job much easier, which sounds great to me. ๐Ÿ™‚

Stepping back, realizing the balance is off, and doing something about it, is hard as an individual effort. Much better, if it’s an organizational habit, something the team just does, always. Creating such habits is the CTO’s job, and a nice side effect about this habit is that it requires everyone to acknowledge the different responsibilities, while making room to actually do something about them.

But, yeah, enough philosophy! How does this work?

Areas of responsibility

Let me start by explaining the rough responsibilities we’ve identified:

  • Customer: Everything that makes customers happy (features) or sad (bugs).
  • Stamina: Some things don’t pay off right now, but are necessary for tomorrow. We’re in for the long haul. So that then is stamina: Our ability to keep running. Examples are automating our deployment process with Jenkins, upgrading Django, fixing recurring, annoying bugs in the Java backend or ironing out performance bottle necks. None of which would matter if engageSPARK were a project that’s scheduled to end next month.
  • You: We need to improve ourselves, always. That begins with our dev setup, our work place, our editor. It includes our knowledge of the tech ecosystem outside of our daily work and ends with soft skills such as presentational skills. For example, you could try coding Python in Atom for a month, do an online-course on Cybersecurity, prepare a workshop on pair-programming.

These three areas work for us. But they may change. So take this, as everything else, with a spoonful of salt.

Balance it over 1 week

During the course of one week, we expect every team member to spend time on each of those responsibilities. One week a major refactoring (Stamina) might eat the bulk of the time, and in the next a bunch of small features (Customer) are pressing. Still, everyone should spend at least 5h on each of those every week.

Why five hours?

Seemed like a reasonable minimum. If it does not work, we’ll increase or decrease it.

Publish your balance

We use a spreadsheet to track our balance. It also shows the history. Here’s how it looks like:

Screenshot of a Google Spreadsheet. Columns show the three responsibilities for each team member. Rows show the weeks. Cells show the hours spent, and are colored red and green to indicate, if the minimum hours have been reached.

Spreadsheet showing team members balance over a few weeks

For each week, you put the numbers that you spend on each responsibility. As soon as you go above 5, the cell turns green: You’re good!

What it does nicely, is show patterns: For example, Dakila (yes, a male name) often does not spend enough time on self-improvement. Maybe he’s feeling too much pressure to get features done, or just does not know what to learn or improve. Seeing this gives him the opportunity to ask for help, and helps me offering it.

And yes, everyone can see everyone’s numbers. A bit of group pressure helps us balancing.

Argh, are you time-tracking??

Nope, it’s the aggregate over one weekโ€”and actually anybody can enter whatever they want, no restrictions. How hours are assigned, how they are rounded up or down, it’s all in the hands of each team member. (In fact, you can edit everyone else’s numbers, too. ๐Ÿ™‚ )

Who controls that nobody is cheating?

No one. I certainly don’t want to. And it would be pointless, really. The balancing is an invitation to every team member to improve themselves. If someone does not want to explore that at all, there’s an attitude problem and correct numbers won’t make a difference.

Instead, I believe that people who want to improve themselves (everyone on the team) have no reason to enter wrong numbers, as the only consequence would be that they

So how do you balance things?

Let’s say it’s Wednesday, and you notice that you haven’t done anything for yourself. Well, then that’s an excellent point in time to look at your personal backlog or ask someone for suggestions. If you’re low on the Customer responsibility, then Avner, our Product Owner, is happy to help you. For Stamina, we keep a backlog in our GitHub project, where we collect issues that cost us time repeatedly, that we should improve or that we would benefit from. If you’re low on Stamina, you grab one of those.

That means, everyone is free to choose how they spend their time, and it works because we all know the current priorities and deadlines, while this process here forces us to โ€ฆ balance things out. ๐Ÿ™‚

Tips & Learnings for trying this

Here are some thoughts and tips if you want to try it out.

  • Publishing really helps. Creates visibility and therefore some gentle group pressure. Take pains to make sure it can’t be construed as tracking or micro-management. (Don’t include it in any performance review.)
  • It’s not easy to start filling in the numbers regularly. Reminders during Daily Standup help with that. For us, the moderator of our Daily Standup reminds everyone to balance things out. The trick of attaching one habit (fill in balancing numbers) to another one (do the Daily Standup).

Let me know if you have comments or questions. ๐Ÿ™‚