Product & Engineering as One
“We need to align on this.”
“We have to get on the same page.”
“We should sync up on that.”
Anyone who has spent a significant amount of time working at a startup will be familiar with sentences like these. But as with any industry cliché, they become part of the jargon for a reason. As startups look to grow and scale up fast — more people, more ideas, more culture, more software — keeping it together is a constant struggle, and the potential for disarray is massive. History, however, shows us that the most successful companies are the ones that better managed to stay whole, aligned, and focused on what matters, systematically rejecting what doesn’t.
As a complex adaptive system, there’s always a considerable degree of internal turmoil inherent to any fast-growing company. But constantly highlighting a common purpose that binds the different functions together is an essential ingredient for lasting success. In companies heavily driven by technology, having Product and Engineering (and Design) on the proverbial same page is therefore non-negotiable.
Why are we here?
New York Times bestselling author Daniel Pink has been endlessly quoted for his theory that motivation in knowledge work comes from mastery, autonomy, and purpose. While Pink focuses on the individual when it comes to the first two, through purpose we are actually tapping into our very human yearning to be of service to something larger than ourselves. This transcendence hints at a collective sense of belonging, where collaboration is key to achieving a shared, ultimate goal. It is no wonder startups emphasise mission, vision, and values as proxies to this common purpose that hopefully brings people together.
However important, it can easily be too abstract. So how do we go about baking this into our daily operations? Specifically, how do we keep Product and Engineering in sync at all times? At TourRadar, we take this very seriously and, beyond being clear on — and constantly reinforcing — our vision of connecting people to life-enriching travel experiences, we have found the following to help immensely.
Share Your Definition of Success
We believe OKRs are a crisp, tangible, and ongoing definition of success. One of its key “selling points” is being a device for alignment at scale, to ruthlessly focus on what actually moves the needle. Having invested a lot of time in researching and learning how to do them “the right way” has led us to a point where we are comfortable with the process, and everyone is involved with some part of the OKR tree.
Our cross-functional tech team OKRs, instead of a laundry list of initiatives, are focused on what metrics we set out to move — and these are shared between Product and Engineering, further reinforcing the alignment. Understanding what needs to get done, and what that implies from a technical perspective, is a constant “dance” that we promote down the org structure so that, at all levels, Product (including design and data) and Engineering have an ongoing conversation about what are the priorities and what trade-offs have to be made in order to execute them.
Share Your Principles
What does success look like? What is a great product? What is important and what is not? Having clear, collective answers for questions like these is essential. When it comes to what a great product looks like, an engineer might be tempted to talk about the quality and cleanliness of the code. Yet, we don’t really sell code to our customers — we sell them an unparalleled booking experience, no matter how important good code is to consistently provide that experience over time. Everyone must share a common understanding of what we want a great booking experience to look and feel like, and how each of us then brings something to the table to make that a reality. We must not lose sight of the forest for the trees.
For a long time, Facebook’s motto was move fast and break things. It served them well until the massive scale they achieved called for different operating principles. Similarly, at TourRadar, we have built a lot of technology that has served us really well in getting to the privileged position we find ourselves in. These achievements have now led us to look at the software development lifecycle in a more structured manner, so we continue picking up speed and building reliable, resilient software as we grow, instead of buckling under our own weight. And this understanding, yet again, is shared across the entire org between Product and Engineering.
Walk The Agile Talk
Fred Kofman, a long-time executive leadership coach at LinkedIn (now at Google), once highlighted the fact that the role of the goalkeeper in a football team is not simply to keep the ball from going in — it is, in fact, to help the team win, just like every other player. We find this incredibly relevant in aligning product, design and engineering people, as it underscores the fact that everyone brings a different (and complementary) skill set, but sharing the same goal and definition of success.
With that in mind, a truly cross-functional organizational structure is what resonates most with us; what we see as the root of our agility and a forcing function for Product/Engineering alignment. According to Eric Bowman, VP Engineering/Digital Foundation at Zalando:
Agility is just being able to respond quickly to changing business contexts. Beneath that, it’s being able to work well in parallel and to minimize the number of decision or alignment choke points.
If teams need to constantly align with each other to get anything done, agility (and edge in the market) is lost. But alignment inside the team, between all its composing functions, remains key and is based on a clear team mission and clear objectives (and key results).
An excellent tool for further enhancing cross-functional alignment is Domain-Driven Design. While diving deeper into this topic is something for a future post, suffice to say here that by focusing the discussion on the business processes, and having developers and domain experts iterating on their collective understanding of those (instead of jumping right into ill-informed technical solutions), alignment becomes an ingredient of the design and development process, instead of an outcome we hope for.
Etsy’s ex-CEO, Chad Dickerson, once wrote as advice to first-time VPs of Engineering:
“Partner absurdly closely with product and make sure you understand priorities and the head of product understands tradeoffs”
At the end of the day, no alignment is possible if you don’t make an effort to simply understand the other side – there is wisdom that “you can’t understand someone until you’ve walked a mile in their shoes.”
At TourRadar, we try to be very mindful of this and to promote this through interaction between Engineering and other functions in different ways:
- Immersion Sessions. There is no better way to understand the day to day and challenges of our Customer Sales & Support team than to actually sit with them and witness real interaction with our customers.
- Transparency. We are also extremely transparent internally about our business performance, and use all-hands team meetings, Friday celebrations, and Slack to celebrate important milestones, great feedback from customers, as well as learn from and improve based on the few negative ones we sometimes inevitably get.
- Engineering participation in user interviews and testing. As we build our Design team, one of the best side effects of their work has been involving everyone in some of their processes. By actually testing prototypes and joining our designers in conducting user interviews, our engineers can learn a lot about our customers and the product itself. It all leads to a much better understanding of our impact.
- OKR updates by engineers. We strongly believe in being skilled at different things and communication is certainly one of them. While historically things like OKRs and status updates may have been looked at as “project management stuff” that is foreign to developers, the reality is that we take our OKR alignment all the way — in some cases, it’s actually engineers providing company-wide updates on where their squad’s OKRs are at. This, again, fosters a deeper level of involvement with our product and business goals on an ongoing basis.
- Friday Talks. Although we foster independence and agility at the squad level, we must temper that with ways for everyone to know what others are up to. Every couple of weeks, we have someone from the Tech org stepping up on stage and delivering a talk on a subject that is important to them, and for which sharing knowledge would benefit everyone. We have had fantastic presentations not just from engineers, but also from our designers, data and product managers. And, in the process, we grow our public speaking skills.
Much can be said about this topic, but at the end of the day, we believe it all boils down to a common mission we all choose to buy into, continuously decomposed in goals that make us want to get up in the morning and come to work. Everyone brings something unique to the table — but making an effort to understand others, and realizing that the whole can be bigger than the sum of the parts, is the (not-so-)secret sauce to keep that magical alignment going, and to keep steering the ship in the right direction.
Interested in joining TourRadar and helping provide life-enriching travel experiences? We’re always looking for talented and passionate individuals to join our engineering team!