Finding what to delegate sometimes can be really hard, especially in a complex environment like software development, where high-quality software demands high expertise in certain parts of the process, like programming Back-End or Front-End code, or doing automation tests, or building all the infrastructure for continuous integration/delivery, there a lot of things that we have to take into account.
If you ask your question, why we sometimes end up having the need to delegate things we do?
When you ask this question you are already late, I mean, you are of course on time to fix it, but the fact that we feel the need to delegate means that probably we could have done something before in order to avoid it, but why we didn’t? because we probably felt comfortable with all our duties so we did not think that delegating would make any difference or have any impact.
I think there are several factors that can explain why some people have many things on their back.
- The longer you stay in a company, more chances to have more and more responsibilities on your back.
- As more proactive you are, more chances again.
- As more emphasize you have for others, I think also you are gonna have chances to put others responsibilities on your back.
- As higher expertise or knowledge on topics you have, then again, you are gonna be responsible for certain parts of the process due to the knowledge you have that others not.
I will put you an example, imagine we are working with a 3rd party who offers a service that we need, so our company needs to integrate them in our system in order to consume their services, their platform is built in Java.
Now imagine, we have a feature team of 5 people, we only have 1 person experienced in Java, the others are really good on PHP, but they slightly touched Java in the past.
Whats gonna happen here? that this person with Java knowledge will take care of the integration, why? because his knowledge, so this person will have a new responsibility on his back.
This workshop has as a goal to find all the things we do on a daily basis, individually, all the things we take care of, and analyze why are we doing them, and analyze what is causing that other team member cannot help.
This workshop will require team members to as honest as they can, you should let them know beforehand.
The time that we are gonna book will depend on how many people is on our team, but just try and the next time you will decrease it if it was too much.
Visualize what you do
First of all, you are gonna ask each team member to write in post-is each thing they do or take care of.
Example: Programming FE tasks, programming BE tasks, code reviews, code reviews of certain topics, 3rd party integrations, communication with operations, communication with stakeholders, etc.
This represents all things that one person is doing, as you can see he is wondering… Am I really doing all this stuff?
It’s important that each person does it, because we are now going to the next part of the workshop.
Now it’s time connect all post-its, you are gonna ask them to connect the ones that are directly related, the intention is to build something like a workflow/dependencies of the things we do.
Example: Every time I test and approve one task I need to add the fix version to it, also add it to a document we have where we put all the tasks that are going to be included in the next release.
Now, we should have identified all the things that each person is doing or taking care on daily/weekly basis, and the connections between them.
You as a facilitator need to make sure that you ask questions, is your job you also to stimulate their thinking, so as more questions you ask in more responsibilities or things they do will they might think.
No rush here, give them plenty time for this step.
Of course, we will have things that the whole team can do and is doing, like the fact of programming, the point in this workshop is to focus on the ones that not all team member are able to do.
Once everyone is ready, we will start by someone, we don’t need to go in a sequence, maybe we could ask for a volunteer, so someone that wants to be the first.
Before we start with a group discussion we need to give this diagram to each team member, they have to go through all the questions in order to self-reflect on why are they doing it.
In this case, you can see as an example the responsibility of having to prepare the releases package.
All these questions will make them think a lot, and this is the point, self-reflection.
Team individuals reflection
This is meant to be facilitated by the facilitator, so we need to do it person by person, in this example is for Marcos.
You could ask me:
- Why do you think we need ask questions on every team member (like Marcos)? Why can’t be the question targeted towards the whole team (with similar roles)? Something like – Can any of the team member help preparing the release package apart from you?
You might get answers or not if you ask the whole group, but I really want to identify at individual level which are the weakness of each person, so we can work maybe on having that person more prepared, I think it’s good for the team that we use team member strengths to overcome the team members weaknesses.
As you go over the questions remember to be proactive on setting action points, we will have them for sure.
For example: Could be that the only reason of why someone else can not prepare a release package it’s because there is a bureaucracy process we need to follow where we will have to sign a paper and our systems department will have to give us access.
I hope you liked and please if you use this workshop any feedback will be welcome!