Overcoming Manual Database Changes to Boost Developer Productivity
In today’s fast-paced world of automation and rapid deployment, manual database changes stand as a glaring obstacle, hindering developer productivity. This disparity results in the “velocity gap” – a disconnect between the swift progression of application development and the sluggishness of manual database changes. In this article, we’ll delve into the ramifications of this gap on developer productivity and unveil strategies for bridging it.
Impact of the Velocity Gap
Manual database changes are time-consuming, susceptible to errors, and require extensive coordination among development, operations, and database teams. When a developer needs to implement a change, they must relay the information to the database team, possibly coordinating with other teams like operations. This lengthy process can span days or even weeks, stalling application updates and decelerating the entire development cycle.
The velocity gap is especially detrimental for developers immersed in agile environments, where rapid iteration and deployment are vital. Hindered by manual database changes, developers must work at the pace of the database team, which curtails their productivity and heightens frustration. In a world of constant innovation it’s difficult for an organization to be an industry leader with manual processes holding them back.
The velocity gap’s consequences extend beyond simply slowing down development. Manual database changes increase the likelihood of errors and inconsistencies within applications, leading to data corruption, downtime, and other complications. Detecting and resolving such issues can be daunting, adding further delays and exacerbating frustration among development teams.
Beyond that, this takes a toll on human capital. Folks have to work harder to meet the same deadlines. DBAs tend to get overwhelmed with a flurry of requests from myriad teams throughout the company and don’t have time to work on tasks like database performance enhancements. Burnout and turnover may occur as developers seek more agile settings that enable them to work at their desired pace.
Closing the Velocity Gap
To close the velocity gap, a transition towards automated database changes is imperative. Automation empowers developers to execute changes swiftly and effortlessly without the need for coordination among various teams. As a result, development accelerates, and the risk of errors and inconsistencies decreases.
As a relevant example, Zions Bank encountered the velocity gap as they started applying a DevOps mentality. They found that the database and the application code were “oil and water” when they really wanted them to be more like “peanut butter and chocolate,” the cohesive melding of two critical elements. Given the nature of databases, they found an inherent complexity when compared to automating their application releases. Orchestrating database rollouts across millions of rows of data increased this complexity.
However, as Zions Bank dug into DevOps and closed the velocity gap, they realized that database changes are code. “Databases are difficult, but they aren’t different. It’s still code.” Database changes can be planned, versioned, and need a pipeline strategy in order to be rolled out to production. All the pieces expected for application code, apply to database changes and migration. This realization changed everything for Zions Bank. They invested time evangelizing this new way of thinking across their leadership, DBA teams, and application developers.
For Zions Bank, the long-term impacts proved to be worth the effort. They saw a 120x increase in deployment efficiency – decreasing from 2 hours to 1 minute. DB code and deployments had 95% fewer errors introduced. And the need for DBA manual intervention decreased by 90%. In fact, their DBAs responded positively to the DevOps way of doing things.
“I love not being on call constantly for different deployments that I am really not on the team for.”
“My work/life balance is better and I get to have more uninterrupted evenings with my kids. This is awesome!”View the webinar to hear more about Zions’ story
The velocity gap, born from manual database changes, poses a significant challenge for developers, as it decelerates development, generates errors and inconsistencies, and potentially leads to burnout and turnover. Bridging this gap requires a shift towards automated database changes, enabling developers to work at their preferred pace and minimizing the risk of errors. By embracing automation, development teams can effectively close the velocity gap and hasten the speed of application development.