Redgate released the 2021 State of Database DevOps Report in February, and I wrote a short article talking about the key insights from the report. More recently, I decided to take a deeper look at the data, especially how folks from different roles answered the survey questions.
To simplify my analysis, I grouped respondents into four roles:
- Technical leaders
- Architects and business analysts
- Database administrators
Change is the only constant in technology, and the past year has accelerated change for many industries and organizations. Practically overnight, just about everyone who could began working remotely. In many cases, IT workers already used laptops configured with VPN, so the transition was not always difficult when it came to the tech.
For technical teams, communication, teamwork, and productivity suffered in many cases. When asked, respondents in technical leadership positions were less likely (21%) than other roles (24%, 22%, and 23% respectively) to report that team productivity and performance were positively impacted by changes due to Covid-19. They were also more likely to report that there was mostly a negative impact (20% vs 13%, 11%, and 13%). There are many factors in play here, but leadership is probably more likely to see the overall picture than individual contributors. Respondents in leadership roles were also less optimistic about how well the business performed in the last 12 months, personal productivity due to remote working, and that new ways of working will continue after the pandemic is over.
Surveys, including this one, have shown a correlation between DevOps and high performance of software delivery. (The 2019 Accelerate DevOps report software delivery metrics are deployment frequency, lead time, time to restore, and failure rate.) When looking at the challenges in the way of improving these metrics, technical leaders were most likely to answer “Insufficient automation in the release processes” (39%) while database administrators were more likely to say “Challenges to work on legacy/undocumented application code” (41%). Over time, teams can work to increase the automation of processes as they discover blockers and become more proficient. Legacy and undocumented code are problems that are tough to tackle. Often legacy systems are part of critical processes and can’t be touched without caution.
The development world has embraced DevOps, but often databases are left behind. Redgate asked respondents about the main driver for automating the delivery of database changes as part of a wider DevOps process, the top answer for three of the roles was “To increase the speed of delivery of database changes.” Technical leaders (22%), database administrators (25%), and architects and business analysts (23%) were most likely to select this answer. Developers, on the other hand, were most likely to say “To free up developers’ time for more added value work“ (22%). It’s likely that leaving the database out of DevOps is causing the most problems for developers, and people in the other roles may not realize how much of an impact it causes for devs.
When asked about challenges for integrating databases into DevOps processes, “Synchronizing application and database changes” was the top answer for technical leaders (33%), architects and business analysts (35%), and developers (35%). Database administrators were more likely to say “Overcoming different approaches to application and database development” (33%). When databases are not part of the same DevOps pipeline, database changes can become the bottleneck preventing application changes from proceeding. Bringing databases to DevOps presents a different set of challenges since most databases can’t be just replaced as code files can. Another interesting observation is that database administrators were less likely to report “Preserving and protecting business critical data” as the biggest challenge (16%). Technical leaders (20%), architects and business analysts (20%), and developers (19%) were all more concerned about data loss. DBAs have the knowledge and tools to protect data that those in other roles may not be aware of.
DevOps isn’t about a team or department; it must become part of the organization’s culture. The way that any individual sees DevOps, however, depends on their perspective. Leaders may see the entire forest while those closer to the code and data may see just the trees. DevOps is also about communication; as it improves, all stakeholders move closer to a common view.