Product @ Shopify
Published in

Product @ Shopify

The Hard Thing About Complex Products & How I’ve Grown as a PM

This looks like a very complex and unappetizing sandwich. There are lessons to be had here.

In January of 2018, I joined Shopify as the Product Manager (PM) on a team that hovered between 15–20 people. Our goal was to build single sign-on capabilities for the Shopify platform. This was a complex build that involved migrating large amounts of data and would change the way that our Merchants logged in to Shopify, without disrupting any of their usual management flow.

This type of work would have impacted almost every other product group in the company, which made it a very complex problem to solve. There’s no sugar-coating it; it was one of the toughest product journeys I had ever experienced. After about six months of me joining the team, we still were not making meaningful progress to hit our goals by a specified timeline. A drastic change was needed… and that’s exactly what happened. The project was paused last August.

When a project no longer makes sense for a company, quickly folding it can be a major win. But when a project for a complex product carries on for an extended period of time and finally gets paused, it may not feel that way to people who dedicated thousands of hours to it. Some PMs may even see it as a major personal hit. That’s exactly how I felt about this outcome — even though I knew the decision to overhaul the project was the right one for the company.

There are undoubtedly other PMs who have experienced similar circumstances as I did, or will one day reach a point in their career when a project or product gets shelved or folded altogether. There were other factors that contributed to our team’s unfortunate outcome, but in this post, I will solely focus on the things that were in my control. I want to share the top five lessons that I’ve learned as a PM from my experience.

Lesson One: Be Accountable for the Size of the Team

As previously mentioned, our team hovered between 15–20 members, which is considered as a pretty big group in typical product team standards. I recognize that most PMs can only dream of having a full team, but because of our team size, I occasionally noticed that members were working on things that didn’t always directly contribute to the team’s top priorities. When they weren’t assigned to priority-scope tasks, they naturally picked-up other pieces of work to keep themselves productive. Great — Right?? Well, often those pieces of work created confusion as to what was priority-scope, and what wasn’t. To be clear, I allowed the scope to creep every time I saw a team member working on something outside of the project’s key deliverables. Keeping true to scope is the role of the PM.

In retrospect, the original scope didn’t align with the size of the team. Normally, asking for more people to help a project seems like the easy thing to do to help speed things up, but sometimes, having too many contributors can actually do more harm than good. This resulted in decreased motivation amongst the team members that weren’t directly contributing to the main focuses of the project. This also resulted in general confusion in regards to what we were trying to achieve. As a member of the team’s Leads, I needed to be more engaged in matching the project’s scope to the size of the team.


  • Mind the team: Take an active part in the hiring process. The hiring initiatives for the project need to make sense to you and align with project scope.
  • Address concerns: Stemming from the above, voice your opinion if you feel that the size of the team doesn’t match the expected outputs.
  • Direct the focus: Actively ensure that everyone is focused on the project goals. Planning sessions, retrospectives, and health checks are helpful discussions to gauge this. Ensure that each team member is working on something that contributes to the project’s success.
  • Ensure health: Work with the UX Lead and Engineering Lead of the team to ensure that team health is strong. Tough, honest conversations are sometimes needed to address team health issues.

Lesson Two: Be Accountable for the Skillset of the Team

A healthy team consists of members that span across the spectrum; this includes having a variety of skill and experience. For more complex products, the most ideal team would include tenured members that have been with the company for at least several years. Even better if these members have been involved in areas of the site that have some tie-in to the product at-hand. And even better if they have developed a strong trust battery across the company.

In our case, the Engineering Lead, the UX Lead, and myself had each been at Shopify for less than a year; I can’t help but wonder if our team would have been more successful if one of us had more Shopify-specific context and proven success shipping complex products at the company. Or if there was a way for the three of us to collectively build that context more quickly to ensure we were ready to take on this project.

Apart from our newness, we were also lacking certain skill sets on the team and were hard pressed to bring in the right talent to support the product. These missing pieces resulted in the team constantly fighting an uphill battle which would have eventually prevented us from achieving product success. As the PM, I needed to escalate these skill and knowledge gaps as soon as I noticed them.


  • Create an outline: Create an initial plan for the work needed to build the product that satisfies your team’s goals. Reach out to other experienced people in the company to get feedback on your approach, which will help you steer in the right direction.
  • Mind the team: From there, assess the size, skill, and experience of your team — including your own capabilities. The more complex the project is, the more you will need people who have been with the company for longer; and/or who have done very similar work in the past.
  • Fill the gaps: If there are knowledge gaps, put mechanisms in place to help the team to ramp up properly and quickly in those areas.
  • Adjust the team: After your assessment, if you don’t believe that you have the right team, escalate and make team member adjustments. This step will be tough, but better done sooner than later.

Lesson Three: Create Robust Communication Plans

The tricky thing with complex products is that you must ensure that the people sponsoring the initiative (your Leadership team) are on the same page as you. Because they’re the ones ultimately accountable for the project, you need to align the scope with their expectations. If alignment doesn’t happen, it can be problematic.

We had a lot of scope creep on this particular product, as I mentioned in Lesson One. Our Leadership was located in Ottawa, and our product team was split between Toronto and Waterloo. So based on distance alone, you can see how misunderstanding of scope and lack of communication could easily become one of our top obstacles.

It was hard to gauge how our Leadership was feeling about our progress on a regular basis. When we synced with them in our Quarterly Reviews, there were notable misalignments that left us feeling discouraged. We thought that we were on the right track, but we weren’t in their eyes. In retrospect, I should have developed a more effective communication plan that strengthened our trust battery and surfaced true product alignment.


  • Plan to communicate: Develop a detailed communication plan. Get your Leadership and other important stakeholders involved in this process. Agree and commit to specific channels, formats, and a frequency of communication that keeps everyone properly informed.
  • Plan to travel: If same-office proximity is not possible, create a structured travel plan to which both the Leadership and leaders of the product team can commit to meet in-person on a regular basis. Based on my experience, I recommend a monthly cadence at minimum.
  • Seek to restructure: If none of the above is possible, ask if there is potential for the team to switch under a local leadership team. It’s a stretch, but worth evaluating if the plan above isn’t working.

Lesson Four: Set Project Tripwires

I joined the group back in January, but the team was created three quarters of a year before that. We were having a tough time wrapping up a milestone that had been dragging on for about eight months, albeit, a highly complex milestone that involved migrating data.

If you are accountable for a deeply technical platform-related product that touches every area of the company, it’s a pretty good indicator that you should set tripwires. A tripwire is a mechanism or an indicator that you define, and when it gets triggered, flags are raised.

For example, you should set the tripwire of ‘time’ when a milestone isn’t completed after a defined period (for me, this should have been two months). When that happens, my recommendation is to have a serious discussion with the team and make your Leadership and stakeholders aware of what is happening. Communicate the changes that you will make to the team or process to get the project back on track. Next, outline what happens if the milestone isn’t completed in three months, then four. These are your tripwires as determined by time, but you can define tripwires in whatever form you see fit for your initiative.

Creating a tripwire strategy would have helped us to course correct leading us to make adjustments and difficult decisions earlier.


  • Assess the landscape: Identify if your product is or could be a suitable candidate for a tripwire strategy. A few indicators are: it’s highly technical platform work, a team of over 10 people is needed to serve the project, it has many stakeholders in various offices, the solution is not easy to figure out, or there are many milestones required to get to the end result.
  • Create tripwires: If any of the above is true, create a tripwire strategy, along with an action plan to resolve each contributing issue when tripwires are set off. Because each product and project is very unique, the tripwire strategy and action plan can vary tremendously. You will need to figure out the best approach for you and your team.

Lesson Five: Set Personal Tripwires

There were many of issues that prevented us from building momentum on this project; I have highlighted some of the major ones from a PM perspective. Despite these issues, I had a vision that our team would become a high-functioning machine and I worked hard to get us there.

Looking back, the project constantly felt like an uphill battle, but I held on to the belief that I could fix it all. Although I saw glimpses of improvement during my six months that gave me hope, deep down, I knew that we weren’t gaining the momentum that we needed in order to create real value soon enough. My gut was telling me this, and I internalized it.

As a result, I frequently found myself managing stress headaches. I also lost hours of sleep many nights — thinking about product details, the overall project, or specific events that bothered me. At the four-month mark, I began to recognize that I was burning out and began asking myself how much more I could take.

Thankfully, Shopify staffs full-time Coaches, and I began scheduling sessions with one of them when I needed someone to be a rational sounding board for me. My Coach helped me to simplify the deeper people problems I was facing on the team and we developed ways for me to manage those complexities. And although coaching relieved some of the craziness and helped me to gain more control at work, I began doing research for additional support from an external therapist because I knew I wasn’t operating at my best. That said, I should have never let my mental health get to that point.

I thought that I could fix it all … but sometimes things can’t and shouldn’t be fixed. Now I know that I need to lean into those intuitive thoughts and feelings to develop a plan for knowing when my well-being is in trouble.

In short, I didn’t trust my gut and I should have. Doing so would have resulted in me calling out issues sooner. It would have forced difficult, but necessary conversations. It would have resulted in the final solution (to put the project on pause) to surface months before it actually did.


  • Acknowledge YOU: Listen to your intuition. These might start as barely noticeable thoughts inside your head, but if you are able to recognize these subtle cues, this is precisely the point in time that you need to accept them as meaningful emotions and potential precursors.
  • Create tripwires: Just as you would with ‘Project Tripwires,’ identify the personal tripwire indicators that would raise red flags to you that a change is needed.
  • Gather your people: Share these tripwires with the people around you that you trust the most. Ask them to help you remain accountable for your own tripwires. For example, if I still have noticeable concerns about my headaches in one or two months, that’s a tripwire that I need to take seriously — what is my action?

Always Be Mindful of Complex Products

The most important lesson I’ve learned is to treat complex products with a higher degree of awareness and sensitivity. Major issues can lurk underneath the surface and aren’t always straightforward to resolve when they eventually do surface.

Keeping these five lessons in the back of your mind is an excellent place to start, but complex products can be very unique with different issues. The biggest piece of advice that I can give you is to exercise awareness and to call out potential roadblocks when they are small. If left unaddressed, they could grow into massive obstacles that lead the entire project to fall flat.

And if all else fails and the unspeakable happens, my final takeaways are:

  • Gather your people: Share your experience with the people that you trust. Leverage these friends and family for support and as your rational sounding board. Ask for guidance from those who’ve been there before.
  • Illustrate your experience: Share your story so that the people around you can learn the lessons that you’ve gained.
  • Move on: The good thing about being a PM is getting many opportunities to tackle cool and complex products. Every initiative will help you grow as a PM. Don’t forget about your downfalls, but don’t hang on them either.

Hopefully, my tips will help you to better navigate a project for a complex product and help you overcome potential adversity.

Are you currently working on a similar project? Please don’t hesitate to reach out to me. Let’s chat!

Reiterate shares insights into the craft of product, so the rest of us can learn and get inspired. Follow Reiterate for more pieces like Erin’s.



A product management publication sharing insights into the craft of product at Shopify. Want to join us? Check out our openings here:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Erin Chan

Co-founder and CPO @ Rhenti | Shopify alum | wife & mother of a toddler who does what he wants