Bat-person role

Javier Lopez
4 min readMar 28, 2024

Batman is a hero that helps people when the bat signal appears in the sky, emergencies happen all the time when you are a product team, or a DevOps team.
I’m not talking just about production, but also about unplanned work.

pixabay

Professional software development is a practice that nowadays is a team practice. You don’t work alone, you work with a lot of teammates.
That’s a fact, and also is a fact that we work in this way to be able to give customers new features earlier, even if this seems strange, we are there to bring new functionalities to the system we are building and also to remove those that are useless right now.

So it is very tentative to think that we are there just to create new things. But no, there are a lot of things to do, just thinking on the more technical software world side:

  • Monitor production
  • Respond to incidents
  • Answer questions from anyone in the company
  • Manage tech debt
  • Investigate what can be improved in the team and in the code

We are not just a feature factory, even more the best teams are only able to use 50% of their time to build new features:

https://learning.oreilly.com/library/view/Accelerate

Who is in charge of Rework or Other Work?.
Probably in your team you have different roles that are working in that part in someway (PO’s, scrum masters, etc.), but you also need development work.
Probably you also try to manage tech debt discussing with your “deciders”, is that working for you?.

Incident in production

For example, how do you manage an incident in production?.
You know as me that when incidents occur people want frequent updates, they want a plan, they want someone answering their questions.

This is a natural thing happening, so who is in charge of it.
A technical person will be needed to act, to fix the problem.

Incidents cannot be planned, they occur in the worst moment you can imagine, but you can plan who is going to answer that incident.
If you don’t have a plan you will have heroes and hero culture is not so good, try to avoid it.

Instead of a hero culture, I suggest having a role dedicated to unplanned things.
There are people who call the role interruptible person, calling it bat-person is just because it’s cool.

Bat-person is the person in charge of those things that you don’t want or you cannot plan. The interruptible person helps here because helps the others to focus on the planned things, that we think are more important.

Bat-person is trying to fill the gap with those things that are urgent, or that others feel urgent (for them).
I also love to use batperson to manage tech debt, because I don’t believe tech debt can be compared to features, “deciders” will always decide what they can esily measure.

How bat-person role works?

I have implemented this role for years, the first time I read about it was in this great article from Gojko Adzic.

It’s a rotating role, one person in the team are during X days (I usually set a week) playing the role.
The role is to be ready for action, but it’s not a passive one, bat-person needs to, in this order of importance:

  • Check communications channels
  • Monitor production
  • React as fast as the person can to find the people who can help on an incident
  • Answer to people, the rest of the team will redirect to bat-person any question from anyone
  • Going to meetings where a dev is required
  • Solve technical debt (when no batsignal happens)

Sometimes we have a figure in teams doing this, like the Tech Lead, Engineering manager or a senior developer.

I think it’s a bad idea to create a static role and fill it with all of these responsibilities because at least me, I cannot help if I wasn’t involved in the thing that is failing.

You can’t plan when something unexpected happens, but you can plan who is going to work on it to solve it.
Bat-person is a simple model that works really well.

--

--