Product — Engineering Teamwork : Building The Right Product Whilst Building The Product Right.

Our take on ensuring that everything the users see and feel is safely reinforced by a reliable system performance.

Benyamin Indra Prawira
Tokopedia Product
5 min readOct 24, 2020

--

As a Product Manager, you need to constantly question the state your product is in right now — is it performing? Then you dig deeper. How do I know that my product or service is performing well? Then of course, being a good PM that you are, you dive into deep analysis mode, come up with the ideas, work together with research and data teams to validate your theory, and then you write the requirements and draft up the roadmap for your improvement. Good job!

But then, reality hits. The technical aspects to support the initiative that you proposed are not there yet. The process is too complicated for the current architecture to cater, and you need to take some additional time to reassess all of your options. Let’s say your product has been a huge success on the segmented user testing, all ready for the big launch, and when you’re hype-building for it, suddenly your team pats you on the shoulder and says that it’s going to be too heavy on the system — 3 days before the launch — and you’re going to be left with limited options.

As the Product Manager for the transaction platform in Tokopedia, this is a problem that the team and I face on a daily basis. The whole process, experience, and performance that our services produce is critical in order to keep the users happy on one of the most important decisions in the whole user journey : can I buy these products that I need easily? Our team tries to answer this by a rigorous two-pronged continuous improvement, which are the experience improvements, as well as the performance improvements.

For a beautiful harmony between experience and performance to happen, there is a definite need for a well-crafted plan between the product and tech team to coexist. Here are the important points that our product and engineering team collaborate on, in order to ensure both the growth and performance of our product continuously evolve.

  1. Overcommunicate your long term plan with the technical team to stay out of misalignment,

Sometimes, this is true. But every time, this is needed. Source: The Cooper Review

On a high level basis, it’s important to always consult and communicate upcoming proposals to engineers. It is vital that the initial user stories are translated into actionable tasks after the requirements are final. Let the engineers help with a detailed breakdown of tasks, so that your timelining can be more detailed (which will also help you to follow up tasks and reprioritize easily). In the end of the day, the product team needs to be able to be transparent to the engineering team, and vice versa. Everybody will go on undistracted if this can be achieved!

2. Own the service performance as one of the product metrics.

Many PMs devote their time to retrospect about the product’s past performance. But in many cases, the ownership of service uptime (the time during the service is running as expected) is overlooked by the product team. But if we look at it this way : if the users are unable to access your service, the user will take it as a bad experience anyway. No matter what the reason is, when your product is not working as intended, you disappoint users.

In order to understand this in a necessary depth, especially if your product is a core part of the basic end user experience, it is key to ensure in the development cycle that constant uptime performance is a basic requirement that needs to be met. Acknowledge the performance issues so that you have all the information needed to move forwards in development.

3. Ensure there are tech improvements and optimization in each release cycle.

If you’re a PM, I bet you spend a big chunk of your time managing your backlog, and maybe even spend half a work day’s time just to ensure the prioritization is all good (don’t worry, I’ve been there as well). But have you considered the tech team’s needs as well?

Allocating a portion of the backlog for the tech team helps you to better understand the actual effort needed in order to execute the tasks needed in order to ship that cool product that you’ve been obsessing about. Treat the work board as “our” work board instead of “my” work board.

4. Discuss user stories with engineers. They WILL surprise you.

My tech lead once said to me after I pivoted our upcoming product for the umpteenth time, “We are a logical bunch. If it doesn’t make sense at first glance, and it makes our life difficult, We will be the first ones to let you know.”

The statement above is 100% on point. Take some time to let them review your user stories and let them challenge you. You might discover a lot of blind spots, especially if it is a technical product. Another plus point, this routine will help build trust among the team, thus sharpening the product-engineering team’s bond. Win-win!

All in all, a responsible product manager will acknowledge every issue that their product might encounter, and there is no one more important than the engineering team to collaborate with in this setup. Never forget to let them know that they are the awesome people behind every successful product, and take their concerns into account. After all, it is our product.

Special shoutout to our awesome engineering team, David Simanjuntak, Rina Halim, Timothy Agustian, Suwarnold, and Riyanto Adhi Wibowo and the whole Purchase Platform engineering team!

Get inside our product mindset through the Tokopedia Product Team.

--

--