Myths about product managers and engineers
Before you can build a good relationship between your product and engineering teams, you need to find out what is creating friction in the first place. While differences can certainly contribute, sometimes misconceptions get in the way of building a productive and mutually respectful relationship.
Product managers often have a reputation as time-wasting meeting schedulers, paperwork sponsors, and chaos creators who don’t know how to prioritize and drive engineers crazy. This is sometimes true.
Meanwhile, a stereotypical engineer just wants to do their job and doesn’t give a bug about the product team's vision. This is also close to reality in some instances.
Still, when adopted without a thorough judgment, these misconceptions are detrimental to cross-team collaboration—and your product’s health and competitiveness.
How to cultivate a sound collaboration
Respect should flow both ways. It takes understanding, communication, attention, and responsibility to facilitate the exchange. But there’s something else each side should contribute.
A product manager is a human touchpoint between the product and the engineering teams. So, PMs are in charge of laying the basis for cooperation.
-
One of the best ways to do it is to turn the explanation of the product vision into a kind of initiation. PMs should let engineers feel they’re part of something meaningful and that their opinions and feedback are valued.
-
As a next move, it’s great to include the engineering team in roadmap planning to show that PM means what they say and so that engineers become personally involved in creating the product before they write the first string of code for it. Thus your PM will also ensure that everyone is in sync on the project.
-
PM should ensure a clear definition of the roles and responsibilities of both teams. Also, they need to double-check if everyone knows their scope of responsibility to avoid conflicts and pointing fingers.
Engineers should stay proactive and voice their opinion if they want to be heard.
-
Let engineers know they can provide their own deadlines and explain them. The product team and engineers can reach a consensus by discussing the expected deadlines from both sides.
-
An even better option is implementation schedules or release plans with a detailed picture of your product’s evolution timeline. Engineers should feel free to spell out the possible tradeoffs and explain how to approach them better.
-
Promote using visuals to explain ideas, provide suggestions, etc. across teams. The visual representation will help engineers make technical ideas accessible to others.
Soft skills matter, and our software development team proves it.
→ Meet the pros
Strengthening your product at the team level
Before writing this article, I asked Eduard Fastovskyi, our Senior Java Engineer, to share advice on nipping product problems in the bud in the engineering team. These tips will help you organize your team’s work to reduce the possibility of mistakes and room for conflict with the product team.
1. Engineers should log everything linked to the critical parts of the application, especially regarding payments, financial calculations, data sent to external users or clients, etc.
Of course, it's not permitted to log any sensitive data like credit card numbers or values. But when working on payment operations, your team needs to log the information in case an issue pops up. For instance, a payment gateway wouldn’t receive your request, but that payment was marked as completed on your side. Or, an external payment gateway says that payment was made, but your application doesn't see it. When something like this happens, engineers can open the log and analyze what happened.
2. You need tests, lots of them: unit test, integration test, a test of business logic and calculations.
See, your developer might make minor (from their point of view) changes, thus putting Murphy’s law into action and breaking some fundamental logic. Testing will help stop that snowball before it smashes into production.
3. Ensure everyone is signed up for updates.
Your team should keep up with the changes to the third-party services integrated into your app. External services tend to change their APIs, and these adjustments can break your app’s integrations.
Sometimes, the changes can be a surprise, even if you’re all caught up with subscriptions. Monitoring for API changes with failed notifications or without any will help you play it safe.
4. Document everything. The code's most important parts should have comments describing its logic. Also, it’s super helpful to maintain documentation using your own Wiki, or apps like Confluence. You can also get by with the simplest option—a list of documents on Google Drive or Microsoft One Drive service.
5. Everyone on your team must have someone to insure them. In other words, never let your app depend on a specific person. If that person is ill or on vacation, someone else should be able to solve issues using the existing documents and descriptions without any problems. By the way, one more reason to keep your app’s documentation in order.
6. Your project should have a senior-level developer or architect who knows the project's structure. There should be someone who can review the code of other developers and ensure that the application structure is correct.
If one of the developers lacks experience, you can face all kinds of problems. For instance, find out that data from the database somehow appeared on the web.
Looking for a skilled team to build or enhance a lending platform?
→ Get a tech partner
Make sure the team is The Right One
When hiring new specialists, you can assemble them one by one, cherrypicking the candidates. While that can help with ensuring skill quality, you’ll still have to deal with the natural selection of the adaptation period. Will your team like them? Will they like your team? There’s no guarantee you can find good enough professionals and make them stay.
Another way is to find an already closely-knit team that will share your mission, vision, and values and can become your long-term tech partner. Far from easy as well, but there’s one option you can check for compatibility.
Schedule a quick call to meet INSART Solution Development Team. We may get along perfectly if you are developing top-class solutions to help people achieve financial freedom in the digital world.