Creating good software can be a challenge for any company, no matter the size. And with new tech emerging every day, companies are struggling to adapt. Some are even eschewing steps like code reviews, which could ultimately help their companies do better in the longer term.
Without solid DevOps practices in place, companies continue to operate in siloed environments, resulting in diminished workflows and slow development and release cycles. Code reviews are a key component here, which can help enable developers to collaborate and work together while producing better, more reliable software. However, there’s an unfortunate trend emerging. Not only are companies finding it more and more difficult to get reviews, but a surprising number of companies simply don’t have the people or resources available to conduct them. This is according to more than 2,000 respondents from multiple sectors and company sizes across the world in Redgate Software’s 2020 State of Database DevOps Report. The report found that companies are not only skipping code reviews, but there’s a new skills gap emerging in software development that needs to be addressed to ultimately reduce production defect rates and enhance database deployments.
Obstacles to Implementing Code Reviews
Effective change management processes mean that companies can easily get the code reviews they need for database changes, resulting in lower production defect rates and lower lead time for changes to be deployed to production.
According to Redgate Software’s report, however, 26% of respondents found it either somewhat or very difficult to obtain code reviews for database changes, and a further 16% said that they don’t perform any reviews at all. While half reported that this is by choice, the other half said that they simply don’t have the available resources to perform effective reviews. It could be that companies have difficulty obtaining a code review due to the reviewer being rushed or unfamiliar with the domain or code under review. Without code reviews, DevOps teams are unable to thoroughly assess and pinpoint IT problems within the enterprise or mitigate periodic lapses and stagnant development or release cycles.
In addition, code reviews also impact an enterprise’s lead time for deployment of database changes. The report reveals that 63% of respondents — those who reported difficulty obtaining a code review — have longer lead times when deploying database changes. This is a stark contrast to the 81% of respondents — those who easily obtained a code review — with lead times of one week or less when deploying database changes.
DevOps teams must maintain their skills as the DevOps landscape continues to evolve, learning more about analytics, automation and cloud-based technologies. Through upskilling, DevOps teams become more capable in implementing code reviews and streamlining software development life cycles. Nonetheless, one question remains: which exact skills are necessary to help upskill DevOps teams?
What Are the Necessary Skills?
DevOps teams leverage analytics, automation and cloud-based technologies to handle the more repetitive tasks and deploy database changes with ease. However, for all of its benefits, the report found that 13% of enterprises have no intention of integrating DevOps or other emerging technologies into their operations. To shift this standpoint, IT leaders must establish best practices and initiatives for their teams and the enterprise.
Another report, the “2019 Upskilling: Enterprise DevOps Skills” report by DevOps Institute, highlighted that 57% of respondents see automation as one of the most important skills. It even outlines the best applications for continuous integration, continuous delivery and release automation, and continuous monitoring. Automation helps DevOps teams to refine their technical skills, but also grants them time to refine their soft skills.
Soft skills are the other component for employees to grow and succeed. DevOps Institute’s report counts collaboration and cooperation (78%), problem-solving (76%) and interpersonal skills (72%) among the most crucial skills for employees to thrive within the enterprise. These particular soft skills are ranked the highest as each contributes to the element that an enterprise needs communication to thrive. Without communication, the likelihood of progress becomes inconsequential.
What Have We Learned?
Code reviews are of tremendous importance to DevOps teams no matter a company’s size. A reviewer’s job is to provide useful feedback, which means that the reviewer must understand the issue that your code review addresses, then analyze your changes (whether really relevant to the issue at hand or not), and finally figure out what your changes mean in context (i.e., the ramifications of those changes). These reviews are crucial to maintaining and refining the quality of database code deployment, along with decreased leads times and defect rates.
According to Redgate, 61% of those who have adopted DevOps across some projects say it is easy to get a code review, which rises to 72% among those who have adopted DevOps across all projects. This strongly suggests that introducing DevOps helps teams improve the quality of their code, mitigate the need for hotfixes in their deployments and keep their technical skills at full capacity.
Companies must also find the means to promote the importance of technical and soft skills as both contribute to the employee base’s overall development, reducing the skills gap. In addition, this attracts more talent and strengthens the enterprise’s capacity to resolve the increasing technological issues. 2020 is the year in which companies leverage emerging technologies to successfully reduce the skills gap, helping each employee mature their skills and the enterprise to prosper within the market.
For more: Download the full 2020 State of Database DevOps Report, which includes a foreword from Microsoft Customer Success Engineer Kellyn Pot’Vin-Gorman, for all the details on the findings and to see what’s next in Database DevOps development.
Feature image via Pixabay.