Investing in Quality to Increase Velocity: Leveraging Automated Testing to Speed Up the Software Development Lifecycle
Everyone wants to develop software quickly, but there is a valid concern that increasing velocity may decrease quality. At Indeed, we set a company-wide goal to double velocity of our software development without hurting the quality of our releases. To accomplish this goal, we looked at each stage of the software development lifecycle and found which parts took the most time. Deployment and verification in our QA environment was one of the biggest bottlenecks and was due to our historic reliance on human quality assurance testing for each release. To alleviate this bottleneck, we wanted to drive towards Continuous Delivery, a process where releases are automatically promoted from QA to Production with no human intervention if all automated tests pass in the QA environment. This process is called Push on Green. By creating tools to make it easier to write and leverage automated tests and by evangelizing the velocity benefits, we were able to move many product teams to Push on Green. For the teams that moved to Push on Green, we saw a 27% reduction in the time to develop and release features to production and a 91% faster resolution time for major production bugs.