How we made the entire company* cross-functional**

Robert Kalweit
Quandoo
Published in
11 min readFeb 26, 2020

* almost

** the article contains gross exaggerations solely for the purpose of clarity

This is a story about the evolution that brought us from working in Scrum teams in Product and Engineering — and a loosely coupled second floor in our building — to truly cross-functional teams made up of almost the entire company. Before we get started, let’s specify ‘almost’. Our Legal, Finance and People & Culture teams still work as functional teams, serving the whole company beyond our Berlin headquarters. Our Sales teams are also still in their respective countries and areas, out in the field bringing restaurants over to the Quandoo side of life. The rest of the company, however, works across six cross-functional teams that focus on distinctive OKRs. Those teams include, developers (frontend, backend, iOS, Android, data), Product people, UX and UI designers, test engineers, BI experts, CRM, SEM, SEO experts, Editorial… you name it. This is the story of how we got there.

Photo by Patrick Tomasso on Unsplash

Quandoo & OKRs

2017: OKRs done wrong

Quandoo has a history of working with OKRs dating back to 2017. Back then we were doing monthly OKRs down to the individual level. There was quite a lot wrong with that (yes, we know!). Since we, of course, wanted strong alignment, huge efforts were invested in structuring these OKRs. Now though, with the nature of OKRs being that one level’s key results are potentially the next level’s objectives, things soon got out of hand.

Not to mention that these OKRs were documented in countless disconnected spreadsheets. Also, it was no surprise that since we tried to do this monthly we were not only late in defining OKRs each month, and any person above ‘team member’ level didn’t get much done besides this.

2018: OKRs done better

The changes we made weren’t necessarily on a yearly cadence, but these sections best represent the rough situation during the time. So, in 2018 we transitioned to what can be described as Delivery Agile with some flaws. Goals and OKRs were top-down, while experimenting and delivery worked very well on execution level. Unfortunately, both goals and OKRs were still set first on a three-month, then a six-month basis, which still resulted in a lot of planning, focus change during the year, and huge alignment efforts.

2019: OKRs done okay

In 2019 we set yearly top-level OKRs for the first time. This was great, because it meant we were following a consistent path that you knew wouldn’t change for the foreseeable future. This was the first time we weren’t struggling with goal setting on time or working on the right things in realistic timeframes. Great!

However, we were still struggling with alignment between OKRs, teams and departments.

2020: OKRs done well

We had been learning this for quite some time, while still focusing each year on the operational side, still getting things done and still growing the business and the company. Because we value the following:

Working software over processes and tools.

In 2019 we realized that two more things needed to change:

  1. OKRs need to be defined through an approach that combines top-down ambitions with bottom-up ideas.
  2. Company-wide objectives need to lead to cross-departmental key results.

Quandoo & Scrum teams

Photo by Quino Al on Unsplash

Quandoo has had reasonably okay to well-working Scrum teams for years. In 2017 there were two main problems:

  1. Scrum teams did have a clear mission (distractions, unmanaged), but side projects got squeezed into them.
  2. The usual technical challenges of a growing company (aka the monolith and more).

By 2019 we had contained the first problem through better collaboration between the Product and Tech teams.

We had also improved tremendously on the second problem and were now moving towards an enterprise software architecture.

What we were still struggling with, in this regard, was collaboration beyond Product and Engineering. The main stakeholders of our Scrum teams were other teams that had a different agenda on the side. Or to put it the other way round: what the Scrum teams were doing, was only a small part in the puzzle our business teams had to solve.

At this point, our remaining points for improvement regarding both OKRs and Scrum teams were converging into one:

We need to work together across the entire company to achieve our company objectives.

Top-down meets bottom-up OKRs

During the final months of 2019, we were busy ‘designing’ the change, just as we are busy transitioning even in February, 2020. Here are the rough steps we took:

  1. The leadership team agreed on company-wide objectives
  2. We set up workshops for all the current teams to gather ideas on how to achieve these
  3. We grouped these results into topics we saw emerge
  4. We linked topics to the corresponding company objectives
  5. We formed groups of people around these topics
  6. We sat these groups together and formed co-located Focus Teams
  7. We asked the Focus Teams to elaborate on the topics and come up with KPIs, initiatives and last but not least, a backlog
  8. We transitioned out of (almost) all ‘legacy work’ in order to have Focus Teams work collaboratively on their respective backlog

OKR workshops for all teams

Over the course of two weeks, we have hosted OKR workshops for all teams. Within these, we talked intensively about our company objectives and how we could get from the proclaimed company objectives to ‘ways to achieve these’ (key results).

In several steps, we gathered all kinds of crazy inspiring ideas, which we have then roughly clustered to allow for a better extrapolation across all those team workshops.

Our agenda for these workshops was:

Input (15 min — 2020 Company OKRs)

  • Quick walk through on our Company OKRs

Step two: Come up with new stuff

  • Asynchronous idea generation by everyone on sticky notes
  • A round of presenting and putting sticky notes on the wall
  • A second asynchronous idea generation (inspired by ideas the team showed in the first round)
  • A second round of presenting

Step three: Check current or old stuff

  • Checking the current backlogs of teams
  • Retaining which of these things still contribute to the new objectives

Output: Structure everything

  • Clustering of ideas
  • Voting for which company objectives these clusters primarily contribute to
  • Identifying required skills to make the topics in those clusters come true
    Spoiler alert: Each cluster required collaboration across the entire company! (But that’s exactly what we wanted anyway).

Results of this step:

Various groups of ideas (topics) including concrete features/broader initiatives moving the respective KPIs.

Grouping into topics and mapping company objectives

The teams had already formed groups of ideas/initiatives. There was still the task to group those topics company-wide. This was done by the management team and the steering committee of this change. The grouping (topic of topics) was primarily based on which company KPIs the topics were (hopefully) changing.

Results of this step:

Focus areas to work on and which objective they strive to achieve.

Forming groups around these topics and seating them together

Now that we had the focus areas we (as a company) wanted to work on, we needed to see who would be working on what. This was still done top-down. For next year, we are considering Team self selection, but we didn’t feel ready for it… yet. We have 200+ people in our Berlin headquarters and have very flat hierarchies, so the middle layer of team leads who were involved in determining who would be working in which Focus Team was quite big. Since team leads were considering people’s preferences, desires to learn and change and also their skill sets, this step took us half of January. It then took some time to figure out how these big teams could possibly sit together. In the last week of January we got a check mark on this one (and hosted our first Hackathon of 2020). The first Monday of February it happened:

Around 150 people in our Berlin office changed seats and people across various Engineering practices, Product folks, designers, business and marketing experts and data and BI analysts moved closer together within their respective Focus Teams.

Results of this step: Focus Teams sitting together!

Beyond Scrum teams: Focus Teams

Photo by Flo Karr on Unsplash

tl;dr:

Focus Teams are broader teams than Scrum Teams. A Focus Team is directly related to one (main) company objective and consists of the people required to get the job done. For example, not only those in development or Engineering (or whatever you call it) functions, but all company functions that need to be involved.

With Focus Teams we made one big leap and directly formed teams including all functions immediately required for value creation. Meaning, all Tech teams, BI, Product teams, Designers, Marketing and Business Development people. Essentially everyone except for HR, Finance and Legal, without whom we could not work as a company and who remain fundamentally important support teams. As well as Sales, who are out in our target markets demonstrating to restaurants that we have the superior product palette.

The first tasks for the Focus Teams were to elaborate on the topics and deliver three incremental results:

  1. KPIs for the entire Focus Team
  2. Initiatives to positively influence those KPIs
  3. Backlog items to drive those initiatives

Basically, we’ve had those teams start from scratch with everything we got from our OKR workshops serving as input. A common pattern we saw emerge (and welcomed) was the use of Epics for initiatives and making them come to life, filling them with user stories.

Ever since people worked in Scrum teams in Quandoo, people in Product and Engineering knew the situation of having reporting lines span across multiple Scrum teams. Now this has become the reality for the entire Marketing department and for BI as well.

Pitfalls and lessons learned

Alignment within the leading coalition for the change

At one point we were aligned on wanting to start this transition with one or two teams in Q1 of 2020. We don’t know when we derailed, but we quickly ended up doing this for all teams at once during Q1.

This only highlights how important it is to stay aligned on driving organization-wide changes like this. Here’s how we are tackling this challenge in our current phase of the change:

Surprise! We do have a task board providing transparency over where we are with all the steps of this change across all the Focus Teams. We should — and most likely will — add overarching sprint planning meetings too. This would help the leading coalition stay even more closely aligned not only on the meta level, but also on the detail level of each step.

More structure through (minimally) better preparation

We had put a lot of thought into how we would address this change:

On the meta-level we agreed that we had to transform both the team structure and goals at once. The following other ways would not have made sense to us:

  1. Using the old, not fully cross-functional Scrum teams to work towards new goals would not have worked because to achieve those new goals we needed more functions than the Scrum teams contained.
  2. Forming new, fully cross-functional Focus teams to work towards the old fractured goals would also not have worked.

Even though the way we chose was without an alternative, a little bit more structure would have helped:

We could (or probably should) have given Product owners similar agendas for KPI workshops and initial backlog creation, or have Scrum Masters and Agile Coaches moderate team liftoff sessions, including agenda items for getting to know one another among other things. All of these would have required more preparation. Instead, we started giving Focus Teams very concrete tasks early on. Now we are rushing to host team events with each Focus Team, so people could get to know one another better before the healthy business pressure (that has decreased during the transition) starts again.

Not consistently having started with “Why”

Far above, in the paragraph “Top-down meets bottom-up OKRs” I stated that one of the first steps was “The leadership team agreed on company-wide objectives”. That’s actually not true. The leadership team have a bigger plan than just the company objectives of 2020. They do have a vision that boils down to a mission we aim at completing in 2021.

What we realized too late: Even though this vision and mission had been repeated all the way through 2019, we didn’t start the late 2019 OKR workshops with vision and mission. We didn’t start with the big “why”. Because we had assumed (big mistake) that this was still clear from earlier that year.

The bottom line

Doing this change is great so far:

We’re already seeing some success in the form of people working together closely who didn’t even know one another’s names before.

We’re seeing much more questioning “should we do this?” and “does this contribute to the goal?” than we’ve seen before.

It’s early 2020. We’re confident. Let’s check back later this year. Stay tuned!

Mid 2021 update

It’s been a crazy ride: More than a year has passed and a lot of things have happened on a global scale and in the hospitality business and the realm of dining out in particular. The concept of teams that are staffed more cross functionally than “mere” Scrum teams still runs strong at Quandoo: We still have Focus Teams, which include a “classic” Scrum team’s input- and output channel (BI- and Data team members, Marketing specialists) and getting stuff done works well enough for us. We’re struggling a bit with one of the pitfalls of the Backend for Frontend (BFF) pattern, insofar as teams aren’t fully (technologically) cross-functional anymore. (Real) backend teams operate as a service- or support-team for Focus Teams, which follows the BFF-logic, but morphed into an organizational anti-pattern. Fortunately it’s one that is easy enough to resolve, pending hiring more backend developers :)

A note from the editor: ->

Check out an earlier article by Robert Kalweit:

Agile: The Dogmatist, The Bureaucrats, and The Realists

… and, remember, Your Q-Blog Needs You ! :)

--

--

Robert Kalweit
Quandoo

Born. Neustrelitz between the lakes. Alive. School. Theater. Still alive. University. Berlin. Work. Agile. Ireland. Berlin. Father. More alive than ever.