Red Bull recognized that by creating an app, they could scale and enable their events teams to plan and coordinate in real-time while onsite at Red Bull-sponsored rock concerts and extreme sports competitions.
Red Bull’s technology leadership also wanted to use this project as an opportunity to implement and define new and improved practices within their internal engineering and product teams.
A small Artium team consisting of two senior developers and a senior product manager joined Red Bull and quickly identified areas where the team could improve product quality and increase velocity. The team then helped implement solutions using Artium’s “lead by example approach.”
Improved Product Management Practice Increases Engineering Productivity
The team taught Red Bull’s product managers how to write user-facing stories that tied to product outcomes rather than low-level tickets focused on technical implementation. As a result, we increased engineer productivity by removing unnecessary, low-value work and focusing their efforts on larger business goals.
Additionally, we taught Red Bull’s PMs to write user-facing stories in BDD/cucumber style and break down large tickets into smaller stories. Allowing developers to focus on writing more streamlined, less complicated code with clear acceptance criteria.
Simplifying Version Control to Increase Developer Flow
When our engagement began, the Red Bull engineering team was using a Gitflow style of continuous integration. While Gitflow may be great for waterfall-style development in low-trust environments, it is highly cumbersome for rapid delivery, especially when there is a long QA process in the loop. The complexity of Gitflow meant the team had to institute a three-day code freeze every two weeks just to merge in-flight tickets, promote the code to a staging server, and wait for a full regression test by QA.
We helped Red Bull switch to trunk-based continuous integration and encouraged the team to merge their tickets to master as soon as the engineers had tested their tickets in the dev environment. Then we implemented automatic deployment to the staging environment. We had each engineer attach acceptance steps and screenshots to the ticket for the QA engineer to use and automatically ping the QA engineer to immediately check it on staging. This change completely eliminated the need for the three-day code freeze, and allowed them to mark tickets as done continually through the sprint instead of making them at the end. With the addition of TDD and integration testing, the team gained enough confidence to begin pushing changes to production multiple times a week instead of once every two weeks!
Test Driven Development Increases Both Speed & Quality
We taught the developers how to test-drive their code with a focus on outside-in test-driven development (TDD). We also taught QA engineers how to interpret the output of those tests, which helped to greatly reduce the burden on the QA team every sprint. As a result, the whole team became much more confident in their code and were now able to push to production more frequently without introducing regressions.
“During our engagement with Artium, we shipped higher quality software at a faster velocity than normal and significantly improved our internal practices in a way that will continue to pay dividends long into the future.”
In just three months, Artium made a significant and lasting impact on the Red Bull tech team and their approach to software development
Red Bull Engineering Manager Corey Johnson explains: “We really enjoy the new ways of working. The team benefited from you all tremendously, and the management team is completely bought into our process changes. I’m confident that we will continue functioning at a high level even after the Artium folks leave because the new processes have become staples to us already.”