As Software Development Teams are Pressured to Move Faster, Database Teams Feel the Pain
Market analyst firms, like Morgan Stanley, are noticing something big happening. There is a surge in companies specializing in software development tools and services. If you’ve been a part of a software development team for a while, this doesn’t seem like news. You’ve been constantly bombarded with sales and marketing pitches for a while now, so maybe you haven’t noticed it ramping up steadily as it climbs to a $24 billion fever pitch (expected by 2023).
Every company is a a software company
Applications deliver mission-critical products and services for every company, from retail giants to insurance. They are now software companies. Oil drillers have apps. Your bank that was founded in 1875 has an app. Today, all companies need to deliver software fast to compete.
The need for speed
In order to go fast, companies need the right tools and practices in place. According to the Wall Street Journal, a Morgan Stanley report cites that it used to take retail giant Target 24 hours to deploy new code in production. Now, it only takes them a few minutes. This trend is becoming more and more common. However, as we’ve learned in study after study, the faster the application release cycle, the tougher it is on database teams. When the pressure to go fast is increased, more mistakes happen.
Database deployment bottleneck
A May 2019 report on the state of database deployments in application delivery found that for the second year in a row, that database deployments are a major bottleneck. In both the 2018 and 2019 surveys, 92% reported difficulty in accelerating database deployments. That’s because most software delivery teams have only automated part of their code process. The application code development side has benefited from tools like Git, Jenkins, and Artifactory. The database code side has been neglected.
More releases, more database problems
Close to half (46%) of companies that release daily or weekly say it is extremely or very difficult to accelerate the database release process. This is noticeably higher than the 37% reported by teams with release cycles of two months or more. For those with the fastest application release cycles, 55% report very manual database deployment processes with many steps that can fail. They were also most likely to cite long durations to get feedback from the database change script review process (32%), and the data group being too slow (30%).
A vicious cycle
Anyone who has worked on a deadline is familiar with the vicious cycle of making mistakes. When you’re working fast to meet a deadline, speed makes it more likely you will make an error, which creates even more work. This scenario happens to application teams who release most frequently — they also do the most rework.
When asked how often teams must rework a database change before it’s released to production, 93% of those with daily or weekly release cycles say they rework the database multiple times.
Put a stop to database issues caused by human error
Your company relies on applications and their interconnected databases to drive the customer experience. While your database team is probably incredibly diligent in preserving the integrity of business data, database change errors happen. It’s a matter of math. If you rely on manual processes and rework, mistakes will creep into production resulting in application crashes, performance issues, downtime, and more. If not dealt with quickly, database change errors can cause even more harm in the form of damage to your brand’s reputation.
This is a very real problem. According to application development stakeholders, the vast majority (84%) state they have experienced serious production issues because of database change errors.
It’s Time To Put A Stop To Security Breaches Caused By Human Error – Forbes
Speed and security
There are a lot of famous examples of coding mistakes bringing down applications. The Amazon Web Services S3 outage was due to a typo. The Equifax security breach happened because they depended on manual software changes and were unable to patch Apache Struts quickly enough to avoid the breach. The Salesforce outage was caused by a bad database change that affected user permissions.
There’s a better way to go faster (and it’s safer)
Manual efforts fail. People, particularly those under pressure, make mistakes. Companies that are trying to accelerate software development should consider automating routine database management processes from the get-go.
Take automation seriously
The 2018 State of DevOps Report, published by DORA, found that high-performing software development teams recognized that automating database deployments was essential to successful technology transformations.