Three steps to predictable software delivery - Part 2 - Empowering the people
Jun 7, 2016
This series of blog posts focuses on predictability. Can your team deliver results when business needs them? Can your team keep deadlines and gain the trust of your customers by being reliable? You can find the first part here:
One of the biggest changes that a company faces when transitioning to the agile mindset, is the empowerment of the team. For some, it can come as a surprise that there may be less people telling how to do things than previously. There are only as many as the team needs. That’s because the team is self-organising and it will let management know if external resources are needed.
"A good software manager stays away and trusts the team to get the job done”
A lot of organisations have not truly grasped the concept of empowering teams and individuals. There's more to agile than just the ceremonies - sure you need to engage the team by inviting them to participate in planning, each one of them. But you also need to give them the power to decide how much work they can take. When it comes to planning the next sprint, the role of upper management should be limited to indicating what is the most important piece of work that should be completed next.
Let the team to decide how to implement a story
A good way to structure the creation of product requirements is to limit the role of upper management to providing priorities and setting high level requirements. At any stage, the team is free to request more details if they need. Once they are happy with what they have, they can move on with the implementation. With freedom, there comes also responsibility: The team must be proactive in requesting more information that helps them overcome the obstacles they face.
"The more the team is involved in the planning process, the more likely it will take ownership of the product."
A team that takes ownership of the product is empowered. They are not afraid to try innovative things due to fear of failure, but instead, strive to learn, adapt, and improve over time. That's when the magic starts to happen.
Let the team to adjust their work processes
While different flavours of agile have their own sets of ceremonies, the best process is the one that allows your team to efficiently exchange information when needed, and doesn't get in the way at other times. For some teams, sprints can be a great way to organise their work in small increments. Some teams find out that they don't need time-boxing and go for continuous flow instead.
Which ever process you choose, make sure it's serving a purpose. Are you getting value from daily stand ups or are you just doing them because everyone else is? Are your retrospectives uncovering new insights that can be used for improving your process? What would be the ideal composition of your team in terms of skill sets? Are there silos or barriers of information exchange between teams? Are you getting sufficient support and feedback from the upper management? These are some of the questions that teams should discuss and review from time to time. Remember that as your circumstances change, and your team is evolving as well, what might have looked like and ideal process year ago is unlikely to be ideal in your currently situation.
"What might have looked like and ideal process year ago is unlikely to be ideal in your currently situation"
One of the great features of agile is that it encourages you to constantly review and improve your working methods. And it's the team who's responsible for initiating the changes as they're the ones who know best. Use that freedom for your benefit, kill the ceremonies that are not serving you and deploy new ones that are better suited for your environment.
Embrace trust and transparency
One of the most notable changes that comes with agile is increased transparency. Everyone can see what tasks each individual has on their plate, and how those tasks are progressing. It gives you the possibility to measure various aspects of your workflow that were previously difficult to measure. That is a great thing as it allows you to make better decisions than without such information.
However, this data should be used for the benefit of the team, not as an employee performance tracking tool. Avoid using metrics like velocity for trying to maximise your team's throughput. Instead, aim at finding a stable pace of work that your team can can keep constantly. I've written earlier about using velocity metric for measuring predictability that explores this topic in more detail.
Managers should also understand not to micromanage. Some managers may feel urge to step in and change plans when the team falls behind or hits an obstacle. This can have a negative effect on team morale as it signals that the team is not really being trusted. Instead, the increased transparency should empower the team to spot problems themselves, and ask for help when they feel help is needed.
"Micromanagement has negative effect on team morale as it signals that the team is not really being trusted"
A successful agile team needs a high level of trust between teams and managers. Trust comes from knowing that your team takes responsibility, and transparency helps to build that trust. The more the team is involved in the planning process, the more likely it is to take ownership of the outcome.
Forget the old carrot and stick thinking, take a step back and trust the team to get the job done. That's how you build motivated, self-organising teams that can constantly learn and improve.