“Hire somebody.”
That was our developer’s answer when I asked what he’d do if we took away his AI code review tool tomorrow. He didn’t hesitate. I hadn’t expected that, and it told me everything about where this technology actually stands right now.
Using AI for code reviews has become indispensable to our team and a real benefit to our clients. It makes us more productive, improves quality, and saves money. And our developers love it.
Over the past two years, we have had a front-row seat to an amazing transformation in the digital product space. Many tools to aid software design, development, and testing have been introduced, with promises that outpace their ability to deliver. For code reviews, AI actually delivers. It isn’t just hype.
CODE REVIEW
If they are following best practices, software projects of sufficient size warrant more than one developer to include a code review process. After crafting a new feature or addressing a reported issue, a developer submits her work for peer review. Her teammate assesses the correctness of the changes and their conformity with the project’s stylistic standards. Although reviews may result in a pass with no feedback, it is more common to offer suggestions. Even if the code functions and achieves the objective, the reviewer often offers their perspective on how the work may have been done differently (hopefully better) while still meeting the requirements. It is all in service of maintaining a high quality standard in a codebase.
The benefits are tremendous, but costs are high. Code reviews necessitate having at least two developers assigned to a project. Reviews add calendar time and sometimes increase project budgets by a surprising amount—10-20% in some cases. Sometimes reviewers feel the need to provide more substantial feedback to justify their participation in that role, as they may feel they are not there just to rubber-stamp approvals of the work.
AI has been a code review game-changer for us. It is quick. It is objective. And it provides a surprising benefit to the original author of the code—the freedom to make mistakes. If I know my work will be reviewed by a team member, I will take extra time to strive for perfection, hoping to avoid judgment. That pursuit of perfection is also costly. In contrast, submitting my code for AI review means I will receive actionable feedback sooner. I can learn from mistakes and move on without a hit to my ego.
ADDITIONAL BENEFITS
Our clients are realizing security benefits as well. AI code reviews have alerted us to potential security issues across both open-source and proprietary digital products we deliver. The developers aren’t careless. Software products are complex, especially as they grow in scale. While focused on improvements in one area, it is difficult for humans to recognize potential impacts on other areas. Addressing otherwise hidden vulnerabilities before releasing software is ideal. AI code reviews make that possible for our team.
Since our team takes the time to document intended system behavior as part of our projects, we benefit in another unexpected way. The tools we use not only review our code. They also review our documentation about the code. We will be notified if the code’s likely behavior no longer matches the intent expressed in our documentation. At that point, we either need to refresh outdated documentation or address an issue our code change introduced. Such discrepancies would be exceedingly costly and time-consuming for human reviewers to identify.
Beyond code reviews alone, this model is shaping the way we develop digital products. For our workflows in software development, a human-AI team is the right pairing. Two humans are inefficient and less effective. Unchecked AI is risky. If AI is writing the code, a human will review it. If a human is writing the code, AI will review it. After seeing the results of employing that strategy, we’re not going back.
Brad Weber is the CEO and founder of InspiringApps.
No comments