Sourcegraph Batch Changes gives us the confidence we need to understand the total impact of large-scale code changes before we make them. This enables the entire team to make more impactful decisions more often.
Founded in 2008, Workiva's platform enables thousands of enterprises around the world to manage and report business data. Over 3,000 businesses use Workiva to bring together everything their business needs—teammates, datasets, and data sources—so they can work better in the cloud.
The Client Platform Team at Workiva is responsible for developing and maintaining the frameworks and shared libraries that all other products are built on. This includes a shared UI widget library and maintaining dozens of Dart packages to support Workiva’s entire engineering team.
Any time they shipped a release for one of their packages, they’d also have to propagate it across 70+ repositories used by other teams to avoid breaking changes. While they developed their own internal tool to automate these changes, it required ongoing maintenance and didn't provide end-to-end visibility into the path to completion.
Every time I used [our internal tool], I had to fiddle with something just to get it to work.
Whenever a new version of a library came out, they’d either have to manually make the change across dozens of repositories, spend time improving their internal tool to help automate the process, or add the update to their backlog.
We fell into the habit of letting tech debt accumulate to the point where all of the sudden we’d have to bring everything to a screeching halt and do nothing for a month or sprint or even a quarter and clean up tech debt around a certain area. The easier the tooling, the faster we can release breaking changes.
As an organization that values paying down tech debt, Workiva’s Client Platform team started using Sourcegraph Batch Changes to help them efficiently propagate updates to dependencies across all of their repositories without any ongoing maintenance. The team has already used Batch Changes to:
The fact that Batch Changes runs each step via Docker is super powerful. As long as there's a tool out there that does what you need, you can incorporate it into Batch Changes with minimal effort, and that's been awesome for us.
The Client Platform team has already used Batch Changes numerous times to propagate large-scale updates to the frameworks and shared libraries they maintain. In comparison to manually making these changes, Batch Changes reduces the time it takes to make large-scale code changes by 80%.
Updating all of our repositories with Batch Changes saves time, is less error-prone, and gives us confidence that everything is going to plan.
Instead of spending time maintaining their internal tool, the Workiva team will be using Batch Changes going forward.
Using a tool that isn’t maintained by us saves us time and drives better adoption. In comparison to the tool we built internally, it's much easier to work with, more feature complete, and well documented.
Learn how companies of all sizes and in all industries use Sourcegraph to solve big code problems.Schedule a demo