Bridging the Gap Between Engineering and Product Teams
15 September, 2021
Engineering Manager at GlobalLogic
"Teamwork is the ability to work together toward a common vision. The ability to direct individual accomplishments toward organizational objectives. It is the fuel that allows common people to attain uncommon results."
一 Andrew Carnegie
One of the biggest challenges I encountered was dealing with ambiguities in software development. What happens is that most of the time there are no clear expectations, and as a leader, we succumb to making some decisions and giving directions. How can we do that if there is not enough visibility for me as the manager? Getting a shared understanding might be an answer, but here’s what happened in my case.
Working with the product teams, specifically the ICs and the developers, we jotted down all their requirements. Most of the time, what the product teams talked about was pretty high-level. For example, they might simply mention that they need a car. Whether it was an SUV or a sedan, it was not clear. So, let’s say that the developer likes an SUV to opt for one. Therefore, it is about the gap between the two different teams, and as a manager, I needed to bridge that gap.
Starting with the basics, I knew that I had to set some fundamental agile principles. The project is one of the most recent ones that enabled me to put some outlines. We prepared the “Definition of Ready,” which is the set of agreements that tells anyone when something is ready to start. As an engineering team, I believed that it should be respected if something needs to come to us. There is a required focus on Definition on Done, but DORs are usually ignored. This has been a classic software engineering problem since the beginning.
We conducted a small workshop with both teams. This was pretty interesting because we asked people from each group to explain their part without fully communicating with them. This was how both the parties realized that they were right in their ideas and areas of expertise. Working with people from different backgrounds 一 for example, the product team in our case 一 helped us build trust and understanding.
While the product team was blank on the coding side, the engineering team did not understand the product life cycle and customer needs. Adding a few agile experts to our workshops helped the product team get an understanding of the engineering side. Introducing lightweight, agile practices to the product side through the seminar was such a success. We asked a group of product managers to design an employee onboarding workflow for an HR app with some minimal requirements. As expected, everyone designed a different version as things were not defined at minute level. This gave some perspective and enabled cross-team collaboration within the organization.
When the teams started capturing each other’s tasks, we added a few more calls. Previously, the teams would have met merely once or twice a month to visualize all their work. On top of that, there were no demos, which added to the complexity. My suggestion was to meet weekly or bi-weekly and show what we had built in order to get some feedback. Of course, we would incorporate the feedback during the next meeting.
The process helped us clarify and did not leave room for any misunderstandings. Gradually, the friction between the teams started to disappear as the two groups of people collaborated and understood each others’ personalities. In my perspective, the first 3 months were quite challenging to bring them to work together, but once everything started falling into place, there was an alignment.
The whole procedure was a game-changer. Earlier, the engineering team would only think about two things:
- What to build?
- How to make it?
They would often forget about the “why” part. As soon as they started paying attention to that aspect, many creative ideas popped into the team. As soon as more innovation came in, people were not just following orders anymore but thought about their actions.
- Only because you are right does not mean that the other person is wrong. You have to start seeing things from their perspective. Working in a professional environment requires people to spend some extra effort and understand the reason and “Why’s” behind a need.
- Trust takes time to build. If you join a new team, chances are your new peers or managers are not likely to take your ideas or suggestions right away. It would be best to let that sink in for a while, and then you can start recommending processes and bringing about changes.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Supporting principles on why being data led (not driven) helps with the story telling.
Head of Engineering at Xero
Your Org Team may as well be a Sports team. Let's explore how this cohesive, multi-skilled team can be optimized for Great Group Playoff.
Google Cloud Practice lead at Contino
The impact you can have with a Growth Mindset' and the factors involved in driving orchestrated change.
Head of Engineering at Xero
Mrunal Kapade, an Engineering leader, based in Silicon Valley, shares tips that helped reduce attrition in the remote engineering teams while leading multiple teams from startups to Fortune 500 companies.
Director of Engineering at Inspire Energy
Vineet Puranik, Senior Engineering Manager at DocuSign, discusses the impact of roadmaps, organization, and proper management for your teams to procure growth.
Senior Engineering Manager at DocuSign