Writing tests is hard. Fixing them is harder. Join the webinar.
Performance Acceleration & Continuity Solution Overview
Developers say they spend as much time waiting for builds and tests as they do writing code, according to a GitHub survey of 500 companies with over 1,000 employees (June 2023). Develocity build and test acceleration technologies address the pain of unnecessary developer idle time waiting for builds and tests to complete. This results in happier, more productive developers, and faster feedback cycles.
Benefits of Build & Test Performance Acceleration Technologies:
More productive developers
Fast feedback cycles are important to productivity since developers spend less idle time waiting for builds to complete and pay less context-switching costs. Getting feedback early and often is also crucial to staying in the creative flow, iterating rapidly, and staying agile. This results in faster time to market for software-enabled products and services.
Higher quality software
Faster feedback cycles change developer behavior in positive ways like encouraging developers to run builds and tests more often rather than pushing quality checks to later stages of the development cycle. This means developers spend less time debugging problems tied to compounding changesets and aren’t tempted to cut corners like turning off tests and other safety measures to ship faster.
Improved developer experience
Productive developers are happy developers. Acceleration technologies minimize developer frustration with long feedback cycles. Companies that invest in Developer Productivity Engineering practices designed to optimize the developer experience have an advantage in recruiting and retaining top talent.
Develocity Provides a Complete Suite of Performance Acceleration Technologies:
Build
Cache
Avoid running components of builds and tests whose inputs have not changed.
Predictive
Test Selection
Use ML to prioritize tests likely to fail and avoid running irrelevant tests that are unlikely to provide useful feedback.
Test
Distribution
Distribute test execution to run in parallel by remote agents.
Performance
Continuity
Leverage build data observability to analyze performance and make continuous improvements.
Build & Test Performance Acceleration Technologies:
While each technology can be deployed individually and used successfully in any combination, together they represent a complete strategy for build and test acceleration and continuous optimization. Here’s how.
- Build Cache. First, avoid unnecessarily running components of builds and tests whose inputs have not changed.
- Predictive Test Selection. Run only tests that are likely to provide useful feedback using machine learning.
- Test Distribution. Run the necessary and relevant remaining tests in parallel to minimize build time.
- Performance Continuity. Close the loop by sustaining Test Distribution and other performance improvements over time with data analytic and performance profiling capabilities.
The size of the performance impact of each acceleration technology depends on the specific changes to the software that is being built and tested. For some changes the impact of one performance technology may be much higher than for others. If only one of these technologies is deployed, it is typical to experience substantially reduced average build and test times, while some very long individual builds may still be observed.
Thus, the key benefits to addressing performance by leveraging all performance acceleration approaches described here is to not only achieve even lower average feedback cycle times, but also much less variation. This increases developer trust and confidence in the toolchain and the willingness to get toolchain feedback early and often which is one of the foundations of agile development. |