Delivering Quality with a Happy Team

Atlantbh
Atlantbh Engineering
6 min readNov 22, 2022

The Scrum Guide teaches us that a Product Owner is accountable for maximizing the product’s value. However, how this is done in reality may vary widely across different organizations. In Atlantbh, a Product Owner is accountable for prioritizing the backlog to bring the highest value to the end customer as early as possible, but also for managing the team, client’s expectations, and overall project success.

This blog will focus on the segment of the product delivery process, which includes walking on a thin line between client and team contentment while making an effort to deliver valuable increments in time.

Balancing these three defining properties of a successful project takes work, especially considering difficulties that will inevitably occur at some point. Here are only a few examples of the roadblocks we might face during the process:

  • A team member or the majority of the team gets sick while we’re preparing an important release of a product increment,
  • A team member that was planned to play an important role in future activities is informing us that they are leaving the company,
  • Sprint plan needs to change due to a production issue needing attention,
  • An urgent change in priorities or requirements coming from the client a few days before release,
  • Third-party service our product depends on just stops working at an essential time, etc.

The sooner we accept that these situations are a normal part of our lives, the easier it becomes. What we can do is find a way to handle them in the best way possible.

  1. When problems happen, it’s crucial to stay calm and focused. We need to remember that the team feels the energy we are spreading and wants to avoid causing additional chaos. Handling the problem we are facing is already enough.
  2. Ask yourself the question, “What is the worst-case scenario”? Maybe the impact is not that bad.
  3. Consider alternatives. Ideally, we will be able to overcome the situation by changing the scope and priorities in the sprint or moving the release date. Very often, this would work and is the way to go.
  4. Stay in control. Everyone will feel much better when we have the attitude that we are in control of the problems and capable of solving them. We acknowledge them, create a step-by-step plan for overcoming them and communicate all of this in the same manner.

Although we cannot anticipate every problematic situation that might come our way, the good news is that there are things we can do to alleviate or avoid them altogether. In essence, we need to set things up right from the start.

Building a Foundation

We want to invest in the relationship between the client and the team in order to establish trust. The most straightforward way to gain trust is having the team understand the client’s needs and relate to the product we are creating as much as possible. This leads to commitment and a sense of partnership.

I have extracted important principles that can help build this foundation, relevant both for the client and the team.

Defining the process

It’s essential to have a straightforward process of work and a collaboration model defined. Among other things, this can mean defining the methodology (e.g., Agile), frequency of releases, preferred communication channel, must-have documentation, amount of client involvement, demos, etc.

Understanding the bigger picture

If we understand the vision and priorities well enough, we will be able to:

  • Bring constructive ideas and proposals in cooperation with the client,
  • Better understand decisions,
  • Organize the backlog,
  • Convey the product vision to the team.

We also want to keep the team in the loop with this information. Working in hybrid and remote mode makes this more difficult. We should work to keep the team informed, whether they are physically present or not.

To passionately work on something, people usually need to understand the purpose. Great teams don’t just do something because they have been told to; they want to work with a clear purpose and understanding of the end goal and the bigger picture. You want to be surrounded by people who challenge you and the client and always have the context behind some decisions.

Expectations and risks management

In order to have the client’s trust and a happy team at the same time, we need to be able to manage expectations and risks well.

Below you will find some tips that can help:

  • Be aware of priorities, must-have items, and desired timelines.
  • Define a clear goal you want to achieve in the coming period together with the client. Prepare a rough plan and revise it regularly. This will help define clear expectations.
  • Be smart, and don’t make too optimistic plans. Remember that problems happen, and they will happen, and consider that when doing the estimation.
  • When planning, avoid having the team work in parallel on several extensive features because it is challenging to focus on all of them simultaneously (we are talking about the teams having standard scrum team size).
  • Even though it would be obvious to always tackle top priority items, if you can tackle high priority items with some lower priority items, it would relieve some pressure and give the team some buffer in case of unexpected circumstances.
  • Spread the knowledge in the team and try to be independent of one person. We all know the feeling when that one person goes on vacation or gets sick, and everything stops. To avoid this from happening, you need to work on empowering your team constantly. It implies taking more risks with people and project timelines, but it will pay off in the long run.

Transparency

We should be transparent and keep the client informed about current activities and problems when they happen. Even if we made a wrong estimation, introduced a bug in production, or delivered a wrong feature. As long as we analyze what happened, why and how we might avoid it in the future, and as long as we, as a team, figure out the next steps and a plan B, the client will most likely accept the circumstances.

On the other hand, team members should be informed about good and bad decisions and have a sense of control over decisions that affect them.

Feeling of accomplishment

We should use every chance to celebrate milestones achieved in the team. It can be a big release launch, new members joining the team, small team building, etc.

We should never forget how important it is to have this feeling of accomplishment. At that point, we look back to the work done and allow ourselves and the team to be proud of it.

In addition to all of this, there are some things that we can do for our team in a role of PO, especially when planning the work:

  • Try to find a way for our team members to work on the tasks interesting for them, following their personal growth,
  • Trust them when they are ready to take on larger responsibilities,
  • Take care of the load put on the team and make sure that the team is not constantly working under pressure,
  • Value the team’s opinion when planning the work,
  • Protect the team from noise and unnecessary information.

Summary

When starting to work as a Product Owner, it takes some time to see the results of your work because they are not easily visible at first. If you ever asked yourself what your contribution is, please remember that if you create products that bring value to your customers and make both the client and the team happy while allowing your team members to grow, you’re doing great!

Blog by Irma Smajić, Product Owner at Atlantbh

--

--

Atlantbh
Atlantbh Engineering

Tech-tips and lessons learned about Software Engineering