Maximising Your Team’s Potential: How to Keep Your Software Delivery Team Busy
As a product, delivery or engineering manager, it is important to ensure that your team is sufficiently occupied with work. Ideally, this work would come from a well-stocked backlog, but sometimes there may need to be more work available. How could you overcome this challenge?
Why is it important to keep your team busy?
Developers enjoy coding and view it as an important part of their job. While they like team discussions and ticket refinement, developers must spend a significant amount of time working on code to stay engaged and motivated. Without this opportunity to work on a codebase (new features, technical debt, testing etc.) developers may become bored.
When team members aren’t given enough work, they may lose their motivation and leave your company. As a manager, it’s your responsibility to prevent this outcome by ensuring that your team has meaningful tasks to tackle.
The reality is that it is common for the workload of a team to fluctuate over time. All you need is a plan to keep the team engaged and productive when your backlog is empty or a project is put on hold.
In the next section, we will see a few examples of tasks your team could pick up.
Project related tasks
- Technical debt: unused/deprecated tests, complex methods, lack of code coverage etc. Chances are high your code base is not perfect and could do with a bit of refactoring/improvement. You can use some tools such as Sonar Cloud and CodeScene to dig into your project and highlight the hotspots that need some attention.
- Knowledge sharing: break the silos, and make sure everybody in your team knows the most about the project. Someone recently had to fix an issue on prod? Ask them to share that experience with the rest of the team. Someone is good at writing acceptance tests? Ask them to implement a couple of tests before the team.
- Project audit: what are the features your customers are not happy with? Is this form “accessible” enough? What about some prototyping, A/B testing or refactoring? Try to identify what your team could do to make your product better and experiment.
Team related tasks
- Knowledge sharing: everyone has some personal tips or tools they can share (IDEs shortcut, command lines, browser extensions, applications…). Get your team members to share and learn from each other.
- Team retrospective actions: if you are leading an agile team, you are likely to have a few “retrospective” cards on a board. Make those actions SMART (Specific, Measurable, Achievable, Relevant, Time-bound), assign them to someone and get the ball rolling.
- Team goals: maybe your company implements team goals. Use the spare time you have to review those goals and see how the team is doing. If team goals are not a thing in your company, what about you create some simple ones with your team (workshop)? Here are a few examples: share 3 tips a month, make sure everyone has a chance to run at least one ceremony per quarter, identify a tool to improve the team's efficiency etc.
Learning and Development tasks
- Development plan/goals: if you are lucky enough, your company encourages people to set development plans. Encourage your team to use their free time to work on their goals. They can attend a training or conference, or work on a proof of concept project.
- Internal project: your company may have some internal project every individual could collaborate on. If not, think about something that would help the business, the product or your team. For instance, we built a Slack bot that chooses someone different every day to run the standup. That tool has now evolved, it became an internal project that everyone can work on.
- Certifications: preparing a certification requires lots of time, and your team member would be grateful to have a couple of spare days to upskill (outside of their normal Learning & Development days).
- Reading: there are so many blog posts and books that cover various technical and non-technical topics these days. Ask your team members to read a book and then set up a session to discuss it. Even better, delegate that whole task and let the team choose the book and discuss the learning. Maybe they could even write a summary of that book and publish it on your company’s blog.
Company/Business related tasks
- Interviews: if your company is recruiting, maybe this is an opportunity to involve your engineers in the process. Ask them to shadow one or two interviews a week. They could potentially start to lead some interviews, giving you some spare time to work on something else.
- Mentoring: determine which members of your team would be interested in becoming a mentor and establish a process for matching them with mentees. Mentoring can be a demanding endeavour, so it is best to take advantage of any spare time your team have to engage in this activity.
- Support other teams: your team might be quiet, but chances are high that some other teams in your business/company are very busy and would appreciate some support. Talk to the other managers and see how your team could help them: knowledge sharing, code reviews, pair programming etc.
- Internal initiatives: your company might be looking for someone to review some internal documentation, prepare a client pitch or organise the next tech meetup in the area. Identify all these initiatives and find some volunteers in your team.
Resources
If your team is feeling bored or has nothing to do, review the tasks listed above and select a few to work on. Keep in mind that this list is not exhaustive, so feel free to suggest extra items in the comments’ section.
Thank you for reading this article. If you like it, please give it a few claps and follow me.