In brief
- “AI Cornerstones” is a straight talking series of blogs that turns AI hype into business action. We aim to help CIOs and others create a comprehensive IT strategy that ensures their enterprise makes the most of AI developments
- The copilot is currently the most talked about AI development tool. Copilots provide a mechanism for using GenAI to generate code, often inside an IDE. They allow developers to create small pieces of code quickly and provide a natural increase in developer productivity
- However, an increase in code churn affects the eventual total cost of ownership (TCO) of the software (and productivity). If developers are tempted to quickly write poor-quality code that needs to be rewritten, reverted or updated later on, has anything been gained?
The recent AI explosion has triggered a re-evaluation of technology priorities.
In turn, CIOs need to re-assess their tech strategies and ask themselves three critical questions:
- How will companies become credible competitors and avoid being left behind?
- How will software be created using this technology and who will create it?
- What new risks have been introduced?
An objective reply and immediate action will ensure your company remains relevant to clients by taking advantage of new and emerging technologies.
Let’s not delude ourselves
GenAI has a natural home in developing software. The recent surge in GenAI toys and tools has led to a parallel surge in discussions of AI “hallucinations.” The first time I used a GenAI tool to find an interesting article on capital markets technology, it found a fascinating piece in The Financial Times newspaper. The problem was that the article didn’t exist.
Hallucinations cause issues when trying to use GenAI for corporate chatbots and other B2C applications. But software is (or should be) rigorously tested before being pushed into production. Testing, evaluation and guardrails built into the codebase help reduce hallucinations when interacting with the tool.
In the previous blog, we looked at who will create code and noted that most business applications will be created outside of the IT department by business users using AI tools. But even with this huge explosion of user-generated software, Gartner predicts that by 2026, 20% of applications will still be created by developers in the IT department. So, what AI tools are available to developers? Will they deliver the surge in productivity everyone expects? And what actions should CIOs take today?
Coding on autopilot
The most talked about AI development tools are copilots. In this context, copilots provide a mechanism to use GenAI to generate code, often inside an IDE. They allow developers to create small pieces of code quickly and provide a natural boost to developer productivity.
However, current data is spotlighting some aspects of the generated code. In particular, a recent whitepaper showed downward pressure on code quality, i.e., an increase in code churn and a reduction in re-use.
Code churn by year
Source: https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality
This paints a picture of copilots encouraging a less rigorous approach to coding. Why bother to follow DRY (don’t repeat yourself) principles when you can simply generate more code again, using the copilot? In the long-term, there are clear impacts on code maintainability and cost of maintenance.
The copilot is an assistant. It speeds up writing the code but does not remove the need for checks and balances around code quality that a good software development lifecycle normally builds into its processes.
More worrying, the increase in churn affects the eventual total cost of ownership (TCO) of the software (and productivity). If developers are tempted to quickly write poor-quality code that needs to be rewritten/reverted/updated later on, has anything been gained?
Like many previous development tools, copilots can be a great aid to productivity. However, their usage should be built on top of (and integrated with) the existing foundations and good practices of modern software development.
Simple explanations and delicate revolutions
Beside copilots, other tools are also being trialed. Code explainability tools can generate markdown files based on code and Zoreza Global is currently developing a generator for in-line code documentation. Because these tools are not impacting the code themselves, they can be seen as having a fully positive impact without creating concerns about code quality.
Other tools are less clear-cut. Test-case generation, automated pull-request reviews and other components that potentially improve developer productivity all have their related toolsets. These can be incredibly powerful ways to accelerate code testing and deployment, but need careful consideration to ensure code quality is maintained.
Take action now
The reality is that the tools available to developers are continually improving and any of the current concerns will be addressed by future developments. In the meantime, we have an exciting ecosystem of developer tools that contains several risks.
The foremost risks in commercial GenAI usage relate to copyright, privacy and licensing. The issues and risks in these areas are being tested in a number of interesting legal cases (and the legislative environment is continually changing). To ease concerns, some major providers are now offering (limited) copyright indemnification across certain GenAI capabilities in their products. For example:
https://blogs.microsoft.com/on-the-issues/2023/09/07/copilot-copyright-commitment-ai-legal-concerns/
https://www.reuters.com/technology/google-defend-generative-ai-users-copyright-claims-2023-10-12/
We welcome initiatives such as these and encourage clients to use tools that provide these protections.
It is vital for every IT department (in conjunction with legal) to clearly define which tools their developers can use. These tools should provide copyright indemnification and need to carefully balance risk and reward. Reviews need to be taken frequently to stay abreast of new functionality.
We also know that the current suite of tools cannot turn a mediocre developer into a great one. Code quality requires personal discipline and corporate measurement, and CIOs may need fewer but higher quality developers in the future.
Find out more
To learn more about how Zoreza Global and GenAI tools can help you create software quickly while maintaining code quality, visit our website or contact us.