Tilled

Tilled

Learn how Tilled boosted development velocity by 44% with Uffizzi.

Tilled

Introduction

When fintech start-up Tilled.com found Uffizzi they were aiming to get ahead of a growing problem. The team had enough experience in prior companies to know that scaling your development team and your test coverage against a single shared test environment was inherently inefficient. They were fresh-off a $11 million Series A round of funding and were well on their way to tripling their engineering team size from 5 to 14.

To meet the demands of a fast growing customer base they needed to overcome their shared environment bottleneck with an on-demand environment capability. In less than a day Tilled implemented Uffizzi Preview Environments and were well on their way to improving their development velocity by an average of 44%.

Development pipeline

Customer Intro

Founded in 2019, Tilled is a fast-growing PayFac-as-a-Service fintech company. Based in Boulder, Colorado they empower software companies to enjoy the benefits of becoming a payment facilitator without any upfront investment or ongoing overhead, all while capturing the lion’s share of the revenue. They provide easy to integrate, developer-friendly APIs that are fast to implement against and offer a low-friction customer experience. In February of 2022 they raised an $11m Series A round and they tripled their engineering team from 5 to 14 over the first 6 months of 2022.

Problem

Tilled was using Amazon’s Elastic Container Service + RDS for a single staging environment. This was the only environment where they could run end-to-end automated tests (Playwright) and do manual testing with their QA testers. As they were growing their development team beyond 5 engineers, the number of bugs getting introduced into their develop branch and subsequently into their staging environment was multiplying - they knew that the bottleneck effect was only getting worse as their team grew. Without the ability to split features into their own test environments, buggy code was always commingled with good code and releases were being delayed by days.

With a shared environment testing model the incremental value of an additional engineer will always trend downwards. The same is true for automated tests. You can improve your test coverage but with more tests running against a single environment a queuing effect occurs where tests and changes are always waiting in line.

Solution

Tilled came to Uffizzi in late February 2022 and in less than a day they had Preview Environments being provisioned for every Pull Request (PR). They now can have as many production-like test environments as they have branches with each environment running a containerized version of every required service (as defined in docker-compose.uffizzi.yaml). Each of these environments includes a newly initialized database seeded with their test data.

Development pipeline
Courtesy of TilledTilled development and test pipeline

The process is completely automated by Uffizzi so there’s no manual interaction required outside of the PR workflow. When they Open a PR an environment is created and a dynamic URL is posted as a comment to the PR, when they push new commits they automatically update to the environment, and then when they merge Uffizzi deletes the entire environment. To keep costs in check they use Uffizzi’s time-based deletion so that environments are never running at night or on weekends.


Preview Environments
Uffizzi Preview EnvironmentsA view of Tilled's pull request environments

Uffizzi enables Tilled to adopt a Hybrid Test Environment Model where they are combining Uffizzi Preview Environments + a shared staging environment. You can think of Uffizzi as a quality gate in their workflow. Uffizzi empowers them to rapidly “clean” new features by iterating in an isolated cloud test environment so that they can merge tested code into their develop branch. With each Preview Environment they run a critical subset of automated tests (Playwright) and, as required, they conduct manual exploratory testing against these environments.

Results

Uffizzi has improved Tilled’s overall development velocity by 44%. Prior to Uffizzi they were releasing an average of about 2 features per engineer per month. With Uffizzi that number has grown to nearly 3 feature releases per engineer per month. By overcoming their shared environment bottleneck with Uffizzi, Tilled has been able to increase the productivity of each engineer while simultaneously tripling the size of their engineering team.

“We needed a way to do Preview Environments for pre-merge testing so we could stay ahead of merge risks and ensure that our develop branch remained production ready,” notes Mayhew. “Uffizzi was the missing piece that we were able to quickly add to our overall workflow as we ramped up our development efforts. The docs were straightforward and we were able to be up and running with Preview Environments for every feature in about a day. It’s nice because we don’t have to manage the underlying infrastructure and the service is designed for what we need, which is an endpoint to test against.”

Conclusion

Uffizzi’s on-demand environments enabled Tilled to dramatically ramp up their development velocity while growing their team. Through a sophisticated combination of Uffizzi Preview Environments and Playwright automated tests they consistently release 50+ changes into production every month.

About Tilled


Founded in 2019, Tilled is a fast-growing PayFac-as-a-Service fintech company. Based in Boulder, Colorado they empower software companies to enjoy the benefits of becoming a payment facilitator without any upfront investment or ongoing overhead, all while capturing the lion’s share of the revenue. They provide easy to integrate, developer-friendly APIs that are fast to implement against and offer a low-friction customer experience. In February of 2022 they raised an $11m Series A round and they tripled their engineering team from 5 to 14 over the first 6 months of 2022.

“Uffizzi allows us to scale our testing efforts because we can have as many test environments as we have changes, and we can test in parallel against any number of changes. From a DevOps perspective, I don’t have to worry about the underlying infrastructure—I just need a Docker Compose file—and from a testing perspective, Uffizzi enables us to get rapid feedback in an automated fashion from our Playwright automated tests and from our QA team.”
 
–Butch Mayhew, DevOps and Head of Quality, Tilled

What the interview