Behind the scenes in Oda: A new product and operation in 48 hours

Espen Sundve
Oda Product & Tech
Published in
11 min readApr 6, 2020

--

As Norwegian authorities ordered lock-down due to the Covid-19 outbreak, the demand for online grocery shopping spiked and we couldn’t scale our core product and operation in Oda (previously named Kolonial.no) fast enough to meet it. Something had to be done.

This is a story from behind the scenes of how we in 48 hours launched a new product with its own webshop, warehouse and distribution operation to deliver food home to people faster. We originally wrote it to learn ourselves, but hey, maybe someone else also finds it interesting. By the way, Oda is the leading online grocery retailer in Norway if you were wondering and we need help to scale (in particular software engineers).

“Let’s do it”

Wed 11th March: News about the Coronavirus creates a spike in demand for groceries from Oda. Our website has severe performance issues, all capacity to deliver next 2–3 days is sold out swiftly, and most (if not all) outside the operation works remotely by now.

Thu 12th March 8.30: We re-group the entire company around new task forces covering infection, capacity and communications. The Coronavirus is spreading fast. Government decides to close down schools ++ and effectively locks down Norway. We sell out everything almost 4–5 days ahead in time. One of our data scientists propose food boxes as a way to handle demand in our emergency forecasting meeting.

Fri 13th March: The entire company is now working hard on the new priorities: limit infection, increase capacity and communicate well to customers and employees. We’re sold out 5–6 days ahead, and as other companies have had to layoff people temporarily, these people and drivers start to reach out for work and our head of new businesses sees simpler food boxes as a way to utilise un-used incoming labor. The idea is quickly floated to the management.

Sat 14th March 12.30: The entire management team meets in emergency meeting on Hangout. We’re sold out 6–7 days ahead. We’re not able to ramp up capacity in our normal operation for our core product fast enough. Something needs to be done; and we have a pretty strong hypothesis on what.

Sat 14th March 13.00: We decide to build a new product and shop in parallel to our core product, with its own warehouse operation and distribution network, as a way to get food out faster to people who need it. We agree to launch on Monday 16th, and assemble a task force. All remote, several in quarantine. Several people from the management team joins the task force, and we set a Batman (Head of new business) + Robin (Chief Product Officer) to lead it.

While we assemble the necessary team we write down the problem, challenge and hypothesis to solution to quickly onboard anyone to the challenge at hand. This is how our internal task force document starts (which by the way is made open to everyone in the company in Quip):

Launch of Kolonial.no Ferdigpakket

The problem
With the Coronavirus spreading we see a massive surge in demand. However, our current customer offering and operating model is not able to handle this demand (we’re now sold out 6+ days ahead), even if we staff up and do everything we can along our normal customer offering and operating model. We do not expect the demand to slow down any time soon, which means that there are thousands of households who will not get the bare minimum of what they need as our capacity is capped. It’s not like we do not have the necessary stock to sell, but we’re simply not able to scale fast enough through our flexible customer offering and fulfilment model. This is not just bad for business, this is really bad for our society at large now.

The challenge
Is there a way where we can serve people by thinking radically different on the customer offering and operating model — that can work in parallel and complement our core model? Furthermore, can we solve for it in days without hurting our current operation?

In other words, our solutions should:
• Make it easy for people to get the bare necessities of food to their home even though we are “capped”
• Be possible to launch extremely fast — already Monday 16th March (it can always be improved later)
• Not hurt our current operation at all, but instead use available resources we can’t use to boost our current operations

The solution
The answer is yes, and an idea from Jon Kåre and Jens Fredrik is surfaced as something we want to go for. The solution is simple. It’s to sell Kolonial.no Ferdigpakket — a box with food for a week.

The 48 hour count down

Sat 14th March 14.00: It’s now 1 hour since the decision was made. Key people from all parts of the company are now being onboarded to the challenge via a combination of phone calls, Hangout and Slack. We’re all up and running on #ferdigpakket, and we start to formulate our hypothesis on what the minimal launch-able product will be.

We quickly get our main line of communication up at #ferdigpakket in Slack.

Sat 14th March 15.00: We have updated our hypothesis on what the product should be, and we have assembled and divided responsibility along 7 work-streams in the task force: marketing, the pre-packed box and its goods, shop experience, supply chain, warehouse & fulfilment, distribution network & delivery solutions, quality & compliance. We’re now well above 10 people involved in the effort from all parts of the company. We still work mostly over Hangout and Slack, but key decisions and solution ideas are now being documented in writing. Some of them are to:

  • Set up an external webshop using Shopify for now to go fast, reduce risk and avoid interfering with our core product
  • Offer 1–2 pre-packed boxes in the beginning, with easily accessible goods not requiring cooling
  • Fulfil orders via a brand new warehouse process with very little tech support
  • Create custom routes for distribution, and use our own technology for delivery. As luck would have it, we had just launched a solution for delivery of packages for third party retailers the week before. It even had a track & trace page. Perfect fit (almost)!

Sat 14th March 16.30: We progress well. We have a name (Ferdigpakket), and we have an idea of what products the box will contain based on user data, supplier availability and more. We’ve already made progress on getting people ready to work with picking and as drivers, and we searching for suppliers for cardboard boxes and a dedicated warehouse space.

Sat 14th March 19:30: We have moved all key information, work stream reporting and key decisions to an open Quip document. This now serves as our “master” going forward; ensuring that we with an easily available change log and transparency are able to stay up to speed in an asynchronous manner. We continuously update this to reflect what we think the product will be, and share red flags, key information, link to other documents, open questions, and tasks. We’re now close to 30 people actively involved from 10+ departments.

Slack works as our primary way of communicating key messages to the team
Our project document in Quip work as home base for all key decisions and reporting across all work streams

Sat 14th March 21:00: All work stream leads meet over Hangout. Ahead of this we have all written status per work stream in a unified template for reporting so the status meeting runs smoothly. Minutes from the meeting are noted in an open document with notes, decisions and follow up tasks. One question is left at end of the meeting: Do we all believe we can and should launch this on Monday? Yes.

To harmonise and simplify reporting per work stream, we all used a basic template like this ☝️

Sat 14th March 21:30: It’s nine hours since the management last met. We go through status overall and per work stream, with key concerns and questions to answer. No worries, we’re still on schedule and want to do this!

Saturday summarised: We’re on track and still pushing forward.

Sun 15th March 10:00: It’s time to meet again. Our webshop is now up and running with payment integration and we’ve made connections to our internal delivery system, decided which box to go for and how many to offer for sale. We have decided upon first delivery date, and are now working hard to ensure we can get a hold of the necessary goods and a warehouse location. We extend the task force with 3 more work streams (finance, organisation and analytics).

Sun 15th March: Things are now progressing well without too much interference. Most, if not all, happens async and remote. People on the side cheer, and we keep each other updated on everything from what size box we need for all the food, to what appears to be a promising warehouse location.

People not directly involved still take the time to give the necessary motivation boost
A first attempt to learn what size box we need (left), and the gates at what will be our new warehouse

Sun 15th March 21:00: It’s time to report to the management team again. An hour earlier, the task force has met to go through status per work-stream, red flags, open questions and to conclude on a final recommendation to the management. Go or no go. Of course we proposed “go”, and the management agreed. Target (soft) launch was set to 13.00 Monday 16th of March — 48 hours after initiation.

Sunday summarised: We’re ready to launch on Monday 🤞

Mon 16th March 13:10: After some more work in the morning we’re ready to launch. We go live and are ready for orders 🚀

Short and sweet: We’re live!
Ferdigpakket is live and ready for orders

The aftermath

Mon 16th March: We’re not done. This is when it all starts. To understand how it works, we have a dashboard ready in Looker, and we see our first boxes being sold. We got our keys to the warehouse 05.30 in the morning and are working hard to create the fulfilment line ready for our first delivery, and customer feedback starts coming in. Now, and continuously throughout this week, we build out our operation, evaluate response, and start preparing for a better offering with 3 new boxes already the next week.

With a great insight team and infrastructure in place, access to insight is immediate
Our new production line needs to be properly safety tested 😂

Wed 18th March: Our first pre-packed boxes are delivered to customers, and we now offer next day delivery for food for those who need it. We’re monitoring conversion rates, interviewing customers and working hard on our next 3 boxes — now with cooling and a far better selection and set of dinners. Sales are still not rocketing, but we haven’t marketed the product heavily yet.

From left: Preparing a box in our warehouse, delivery track & trace, and finally — box delivered

First weeks: We give ourselves this week to learn and improve it, and the next couple of weeks to boost it and to see how it flies. If it doesn’t stick, we not shy of scaling down or deprecating it. One week after launch we extended our offering with 3 new boxes, which saw a 4x in conversion rate; and with better marketing and UX we improved it even further.

3 weeks later: Our new improved boxes and better marketing increased sales a lot. However, we are still not certain it’s enough or if it’s the right solution for our customers, but will keep iterating on it at least while we see a need for it and we are in lock-down in Norway.

We’re not a fan of launch and leave, so at some point in not too long we’ll make a decision of scale up, down or to deprecate. Not reaching massive volumes and scaling back is not a failure, but not daring to try something new, moving fast, learning along the way and making informed decisions about ramping further up or scaling down is.

Meanwhile, in our normal product and operation: While we have explored this offering next to our normal product and operation we have doubled capacity in our core product. We hired and onboarded 200 new employees, have done major changes to our systems, and are now able to handle twice our normal volumes (reducing waiting time for delivery down to a few days). However, like our internal motto says: We are happy, but far from satisfied.

Ok, so what did we learn?

Things move really fast, so it’s a bit blurry for all of us what we have learned. However, some things are clear to us:

  • It’s true; culture definitely eats strategy for breakfast. This was a very good demonstration of the high level of trust within the organisation. There wasn’t time to run all decisions by leaders or other work streams, or even pay attention to what other people were doing — everyone simply trusted that the best people were making the best possible decisions and upholding their part, and everyone could trust that others would support whatever quick decisions they had to make.
  • Writing down and sharing thoughts, ideas and decisions is crucial when working cross functional, distributed, remote and async. If we didn’t already have a good culture and rig for this, we couldn’t have made it.
  • Having a work rig with Slack, Hangouts, and Quip that everyone already knew and that supports remote work was key. There was no question about what tools we were going to use, “where is that document” or “what was discussed”. People could just go to work.
  • Working cross functional and as a team of teams are not just buzzwords without value. If we didn’t already appreciate the value of having all pieces of the puzzle active in everything from understanding the problem to defining, building, shipping and improving the solution — this would have taken weeks (or months).
  • In the midst of the moment we overestimated how popular this service would be (preparing for a lot more pre-packed boxes than we sold), like it is easy to do when launching ideas. Note to self; launch first, then learn, then scale.
  • It appears people like our core product better than pre-packed food boxes. Good for us, because that’s after all our core product and the one we are committed to scaling to as many people as possible 😄

Final note

We surely live in uncertain times with Corona, and it affects all of us. We don’t know where this will lead, but we’re committed to doing all our best in helping out the best way we can. As mentioned — we’re happy and proud of what we do, but never satisfied. If you have any other ideas to what we can or should do, please share them with us — or even better — consider joining to realise it yourself. Maybe now is the best time.

Update 16th of April, one month after launch: With capacity in our core product to handle demand, and decreasing interest & conversion rates for the Ferdigpakket meal-kits, we decided to put Ferdigpakket to sleep. Instead, we’ll bring all learning back to how we instead continue to improve our core product. What a ride! If feels great to be a place where shutting down is not a failure, but where not daring to try something new and learn in the first place is.

--

--