On Monday 16:30, I had a call with my current project manager which I can summarise to:
"it's like the engineers don't understand me, they say they do, but when it comes down to it, they don't."
The interesting part is that earlier I had the same call 15 minutes but with an engineer.
As part of being a senior software engineer, you're positioned in a place where you're driving the project's technical aspects. One of these aspects is bridging the communication gap with the stakeholders.
In my experience, there are a few rules of thumb to improve the product & engineering teamwork (which will, in return, result in a better product):
- Align expectations
- Find the correct communication channels
- Ask (and answer) why?
- Remember – this is a collective effort
We're one team working together, but everyone in the team has different expectations from one another and even themselves. Aligning the expectations between all the stakeholders, engineering, product, UX, etc. makes sure we're all on the same page.
Say loud and clear what you expect from everyone involved and what you expect from yourself, be open-minded and accepting. My recommendation: try to do it face to face or at least in a video call.
Finding the right communication channels can be surprisingly challenging. When most people try to tackle this issue, they'll focus on the tools.
Yes, tools are the main driving point, and today there are some fantastic tools. Still, the hard part is establishing and finding the best ways to communicate to ensure the point comes across.
My primary go-to strategy is:
- Task management – when we have a goal to accomplish – make sure it's documented, have visual aids, all the information needed to execute and in the agreed-upon taxonomy (Tools: Jira, Monday.com, Trello, etc.)
- Instant messaging – Great for quick discussions, questions, updates, and brainstorming (Tools: WebEx teams, slack, teams, etc.)
- Video chats – when you want to have 100% confirmation or demos, sometimes a 10-minute call can save you one hour of e-mails/messages (Tools: WebEx, Zoom, Slack, teams, etc.)
Best products made by the people who know "why?" (why we're adding this new feature? Why our customer needs this?). Don't be afraid to ask and answer, "why?".
When asking, you're performing a sanity check to the decisions/designs/etc. On the other hand, it will give you a deeper understanding of how you can help make the product better.
At the end of this process, all the parties involved will have higher confidence and understanding of the next steps.
The most fundamental aspect (that from time to time we all need a reminder on): we're all striving to make the product better, we're one team working together on that, it's not us against them, it's us.
Always give the benefit of the doubt and communicate.
For example, we had a feature request submitted by the PM, and the effort to do it in a reasonable time and quality was too high. After a quick WebEx call, we explained why it's challenging to execute. Together we found common ground.
The PM understood why we were hesitant, and we explained the engineers the importance of the feature; together, we found a way to reduce the scope, move faster, and deliver value to our customers.
This article gave a few tips and thought-provoking points on improving the teamwork and collaboration between PM & engineering. At the end of it, it boils down to: Listen, trust, and talk, we have the same goal.