Simply put, iFood is the way to order food in Brazil, with over 80% market share and more than 60 million monthly orders. And, building on this success in the already-massive Brazilian market, the company is bringing its beloved platform to the rest of Latin America, with expansions into Argentina, Colombia, and Mexico so far. It’s hard to imagine now, but iFood launched in 2011 as a printed menu guide, with a telephone switchboard you could call to place an order. A website and apps for Android and iOS followed within a year, and they quickly became a customer favorite as online food delivery took off in Brazil. iFood reached their first million orders in 2015, three million by 2016, and exploded to half a billion orders annually by 2021.
Today, iFood boasts upwards of 40 million customers and is used by three quarters of all food-ordering smartphone users in Brazil. Unsurprisingly, the work iFood’s mobile team puts into their iOS and Android platforms has been absolutely critical to the company’s success, and it only becomes more important as usage continues to skyrocket and they expand into new markets. As a result, iFood is relentlessly driven to improve the app experience and they are laser-focused on continuously improving their development and Mobile DevOps practices — reducing risk and empowering the team by seeking out process improvements and better tooling.
Just a few years back, despite already operating at massive scale, iFood mobile didn’t have any sort of platform team to speak of. Instead, mobile infrastructure and releases were owned by a handful of senior engineers who knew the ins and outs of their complex internal processes and tooling. For a while this “just worked”, largely thanks to the caliber of the individuals involved. But before long, the iFood team found itself needing to better distribute and delineate ownership and responsibilities throughout the development lifecycle. If they didn’t figure that out, bottlenecks and subpar visibility meant they simply wouldn’t be able to keep pace with the explosive growth of the service and demand for new features.
“Many of our release managers were frustrated, because our release process was pretty complex. Knowledge sharing wasn’t consistent, and some people were less familiar with our tooling than others — sometimes they’d struggle with a particular step they didn’t understand. Ultimately this meant quality gates and health checks were also inconsistent.”
Staff Android Engineer
iFood began tackling the mobile platform problem head-on, but as they did, new issues revealed themselves. In setting up a release manager rotation to better share the load of running releases and to democratize release know-how, inconsistency became a theme. Because the rotating release managers had very different degrees of familiarity with iFood’s bespoke release process, and very different comfort levels with all the different tools the team used to track release progress and monitor health, efficiency and quality varied greatly. The overall success of a given release cycle depended on the experience of the particular release manager on duty and their ability to gather and digest signals from across iFood’s mobile toolchain. Crucially, it wasn’t just that less experienced release managers brought less rigor to a standard set of steps and checks — rather, they were also prone to running a less complete process, with fewer steps and checks.
“Often discovering bugs in a bad release was only possible by checking multiple systems — but it was too easy for less experienced release managers to forget to check one of those tools.”
Staff Android Engineer
To try to nail down quality and consistency, iFood’s next move saw them establish a dedicated DevOps team for mobile, then a mobile release engineering team. Guardrails were added in the form of better documentation and hands-on support for the rotating release managers provided by members of these new teams (most of whom were experienced senior engineers). But even this latest evolution of the iFood mobile practice wasn’t enough. For one thing, the new platform-focused teams didn’t have enough bandwidth to keep hand-holding during releases to the extent needed — nor was it the best use of their time. But it also became clear that the key to successful mobile releases didn’t just sit with iFood’s iOS and Android engineers: other stakeholders like PMs and QA were an increasingly integral part of the process, and a real solution would need to bring them into the frame as well.
“Understanding what was happening across all our different tools was a big pain point for our immediate team, and especially for other stakeholders, and we had spent a lot of time trying to solve it.”
Software Engineering Manager
“We needed to unify everything, to create a platform showing Android and iOS in one place and made for all our developers, product managers, and other stakeholders. We researched and tried building some pieces — but we saw that it was a huge project and would be hard to achieve.”
The iFood team began imagining a platform that could finally guarantee consistency and quality release to release: a single source of truth to pull together tools and team members, surfacing meaningful and actionable context for all and leveling the playing field for release managers, junior and senior engineers, and non-technical stakeholders alike. Resources were already earmarked for the team to explore building such a platform, but early signs suggested it would be a monumental effort to spin up and maintain — and, during diligence, an engineer on the team noted that they had heard about Runway. Off the shelf, it seemed to promise everything iFood suspected they needed out of such a platform. The team’s mobile engineering leadership was intrigued and moved to start a trial to determine whether Runway could be the solution they were looking for.
“Trialing Runway took only a short amount of time because it was so easy to integrate. Our team was enthusiastically using Runway almost right away.”
Software Engineering Manager
A lot of open questions around Runway’s ability to accommodate iFood’s complex workflows and high standards were answered more quickly than expected: getting integrated was painless, and soon stakeholders across the iFood mobile org had already moved their day-to-day release collaboration into Runway. The intuitive interface and user experience, and easy ways to share direct access to specific areas of the platform, meant getting team members educated and onboarded was seamless and didn’t cost iFood any extra work or distractions.
“Runway’s interface is very clear compared to the various other tools I had to use before, and it’s easier to verify the status of releases. Approvals features also make it easier for QA to work with engineering and help keep us all aligned.”
Given the breadth of the platform, iFood found Runway was able to tackle the diverse pain points and needs of each group within the mobile org. The release engineering team appreciated that they finally had a unified interface that helped them keep an eye on release progress and health with minimal lift. Rotating release managers, regardless of their experience level, could now run releases consistently and correctly thanks to Runway’s detailed, visual framework. The team’s QA engineers no longer had to bounce between other tools in various browser tabs to check up on builds or understand what was happening with stability and key user behavior in each release. And other external stakeholders were finding it was easier to chip in for their respective parts of the process — like the content team that provided release notes for every app update, who could now skip the usual back-and-forth with engineering and instead handle everything themselves in Runway.
“Discovering Runway has been like a dream for us: it really takes care of releases and lets our team focus on all the other important work on their plates.”
Software Engineering Manager
Runway’s impact on the iFood mobile org has been significant on many different levels. On a macro level, Runway’s bird's-eye view and its ability to pull together so many tools and signals have led to more consistency and higher quality releases. Whereas before certain steps or checks might have been incorrectly handled or skipped entirely depending on a contributor’s relative familiarity with the process and tools involved, Runway leveled the playing field and ensured the same high standards throughout by providing a complete and easily digestible picture of release progress and health. Runway’s Rollout feature is a particularly stark example of this: any stakeholder across the entire iFood mobile org can rely on it for an instantly understandable snapshot of the health of the product, and with that shared resource it’s easier for the wider team to get — and stay — aligned.
“Runway is especially powerful because it gives us one place to get a complete, consistent picture of the health of each release. Not just for release engineers, but for other teams that need this info — we can just easily share a link to Runway.”
Senior Software Engineer
In addition to the high level, org-wide wins, Runway has also made life easier for individual contributors on a tactical, everyday level. Being able to action any given step and run the entire release process from a single interface is a huge quality of life improvement for release managers, especially when it comes to managing the app stores. No longer does anyone need to keep visiting App Store Connect and then Play Console to press buttons and verify settings throughout releases — in fact, now that they can handle everything from Runway, it’s rare for anyone to ever log in to the Apple or Google platforms at all. And, a huge added bonus of this consolidation of tool sprawl is that the release engineering team is now free from having to constantly provision and deprovision direct access to every piece of the iFood toolchain, for every member of the team. Instead, they rest easy knowing Runway provides unified access to everything their colleagues need, with scoping and permissions that keep sensitive areas secure.
“I used to spend a lot of time in App Store Connect and Google Play Console, but now I don’t even open them anymore. I was also the one responsible for giving other people access — all the time people would ping me for an invite and I’d have to interrupt my work, understand what that person needed to do, think about permissions… I never needed to do that again once we had Runway!”
Staff Android Engineer
Runway has made running and coordinating releases so much easier that today iFood is back down to just a few rotating release managers. The overall workload has been reduced to the extent that it doesn’t need to be distributed across a wider group, and it’s much easier for all the other stakeholders involved to participate organically — without spoon-feeding or oversight. By giving iFood’s mobile org a unified home, with all their tools and team members in one place, Runway allows them to ship confidently and consistently, with renewed freedom to focus on the product and deliver the top notch experience their users have come to expect.
“Before Runway, to get release notes for each release, we wasted time constantly checking whether our content team had posted them in Slack, then manually updating them in App Store Connect and Play Console ourselves. But now we’ve taught the content team to just use Runway and they do it quickly and easily by themselves.”