Batman and agile development
There are times when a superhero swooping in to solve our problems would be more than welcome. In agile development, this occurs when there’s too much to do alongside the current sprint.
And this is where Batman comes in. But we don’t mean the caped crusader himself. Rather, a member of your team that fills the Batman role.
Here, we explain what exactly Batman has to do with agile development.
The crime of distraction
A programmer’s work is never done. And that doesn’t change because you’re in a planned sprint. There’s just so much to do. When it comes to agile development, it’s easy for an ongoing iteration to fail simply because there are too many distractions.
It could be an emergency support request, or the discovery of a major bug. Whatever it is, agile teams all too often find their time eaten away by emergencies that occur outside of the scope of the current sprint.
The result of this is a team stretched too thin to achieve the goals of their current sprint. This drags out the time taken to get new features working and new releases ready. Which, of course, means delayed launches and disrupted marketing rollouts.
The hero we need
Batman is all about preparation. He even has contingencies in case anyone in the Justice League becomes a problem. It’s this idea of preparation and organisation that your agile development Batman should embody.
Batman in agile development is a team member that doesn’t work on the iteration with the rest of the team. He or she enables the team to get on with the planned development.
Your agile Batman is the answer to the crime of distraction. They’re responsible for those sudden support problems, the surprise bugs not included in your planned sprint. Your Batman fights off the emergencies that would otherwise distract, hold back and disrupt.
A hero can be anyone
In agile development, any member of your development team — new and old — can fill the Batman role. In general, the Batman role requires a broad knowledge of the organisation and the activities of the team. However, for newer developers, the Batman role offers a great opportunity to learn about the organisation quickly.
The Batman developer might not work with your team during that sprint, but they are still a full member of the team. With each new iteration, you should also choose a new Batman. This allows each developer the opportunity to fill the role of the hero. It also reinforces that Batman is a close member of the team.
This means that, because Batman is a team member, you should plan your sprints minus one developer.
Whatever the team needs me to be
It’s possible, to an extent, to plan for development needs. But you can’t predict when you’ll have a support request, or a bug will pop up, or a server needs immediate attention. So, what happens if none of those things happen?
The point of your Batman developer is that they handle the emergencies. If there are no current emergencies, they’re ready to handle one the moment it appears.
To that end, there’s no point in having Batman complete any work on the sprint. All this does is encourage the team to plan for an extra pair of hands they may not have — potentially causing a sprint to fail.
Instead, your Batman developer can spend their time completing low-priority distractions. For example, clearing technical debt or fixing other bugs.
Optional boy wonder
What if it goes the other way, and Batman gets buried in too many big emergencies or stuck on a particularly tricky problem? Batman is only human, and it can happen, after all.
In the comics, Batman has back up in the form of Robin. So, there’s always the option for your agile development to have a Robin developer too. In agile development, your Robin is a second developer on your team that does work on the planned sprint. However, if Batman finds themselves needing backup, they can call on Robin for support.
Robin drops out of the sprint to assist Batman and re-joins once Batman can go on without him or her. In cases when a less experienced or new developer holds the Batman role, Robin may get called on more. (This presents an excellent opportunity for mentoring.)
Batman and agile development
In the movies, Batman states that anyone can be a hero. Anyone could have been Batman. In your agile development, your entire team has the capacity to be the hero of the sprint. Your very own Batman.
We could all use a hero from time to time. So, who’s ready to step up, and don the (figurative) mask and cape?