Artificial intelligence and machine learning are changing how businesses operate. Enterprises are amassing a vast amount of data, which is being used within AI and ML models to automate and improve business processes. This in turn drives the development of next-generation, data-enabled applications that allow enterprises to gain new data-driven insights and improve business performance.
The impact of AI and ML on the enterprise extends to the software engineering organization, as applications that run the business will increasingly have AI and ML models embedded in them. Software engineering teams must therefore understand how these technologies will impact how they bring applications to market.
SEE: Business leaders’ expectations for AI/ML applications are too high, say chief data officers (TechRepublic)
AI and ML tools will fundamentally alter the ways in which applications are built – from design-to-code platforms and tools, to ML models that automatically generate code, to models that automate elements of application testing.
Many software engineers may believe the use of ML models in application development is just beginning to emerge, but that’s not the case. In a recent Gartner survey, almost 40% of software engineering organizations said they are already making moderate to extensive use of ML models in application development. However, most development teams do not have the level of understanding they should have about ML.
Here are three ways ML will impact software engineering and what developers need to know about this coming evolution.
Jump to:
ML-augmented application coding
A new generation of coding assistants for professional developers is demonstrating not only longer and novel completions, but also the ability to use comments to generate code. ML-enabled code creation tools such as Copilot, CodeWhisperer and Tabnine plug into developers’ integrated development environment tools and generate application code automatically in response to a comment or a line of code. These code creation models are a derivative of the large language models that hyperscalers have been developing, such as OpenAI’s GPT-3.5, which is the basis of the ChatGPT application. For example, Codex is derived from GPT-3, but it has been optimized to create software code. Gartner predicts that by 2027, 50% of developers will use ML-powered coding tools, up from less than 5% today.
The question inevitably arises for software engineering leaders whether these models will eliminate or reduce the need for engineers who write application code. Current ML models that are designed to generate code will enhance developer productivity, but they will not replace developers in the near to medium term. However, the future may bring additional change.
ML-augmented application design
The impact of AI and ML on software engineering is not limited to embedding models in applications; it extends to the tools that designers are using to create compelling user experiences for their digital products. The workflow of transferring design assets and specifications from UX designers to software engineers is shown to be increasingly automated. The increasing adoption of design systems has helped to facilitate this transfer. These capabilities are expected to continue to improve rapidly, allowing for faster time to deployment of applications.
Historically, the different perspectives of designers and developers have caused problems in creating applications with a compelling UX. Looking to the future of digital product design in the enterprise, digital product team leaders will have both design and development skills. A “design strategist” role will emerge to lead converged teams of designers and developers to deliver better digital products quicker, while improving the quality of the applications.
ML-augmented application testing
AI and ML can also impact the application testing process in critical areas such as planning and prioritization, creation and maintenance, data generation, visual testing and defect analysis. Software engineering leaders face a shortage of experienced testers, especially people with the skills required to programmatically create tests. AI-augmented software-testing tools use algorithmic approaches to enhance tester productivity. This can dramatically increase the efficacy of test automation tools, enabling software engineering teams to improve software quality and reduce testing cycle times.
Several new vendors have entered the AI-augmented software-testing market, and vendor acquisitions were prevalent in the last year. Gartner predicts that by 2027, 80% of enterprises will have integrated AI-augmented testing tools into their software engineering toolchain, a significant increase from 10% in 2022. As applications become increasingly complex, AI-augmented testing will play a critical role in helping teams to deliver high-quality applications rapidly.
The impact of AI and ML on software engineering is significant, and the positive impact of the combined effort between data science and software engineering should not be underestimated. The wealth of data that the enterprise possesses can add significant value to business applications through models that generate forecasts, scoring models, next-best-action recommendations and other valuable business-enhancing tools. This joint effort can enable repeatable best practices that will improve enterprise performance and contribute to strong ROI for the expenditures the business is making in these technologies.
Van Baker is a vice president analyst at Gartner, Inc. covering cloud AI development services and generative AI including natural language, vision and automated machine learning services. Gartner analysts will provide additional insights on the latest application strategies at Gartner Application Innovation & Business Solutions Summit, taking place May 22–24, 2023 in Las Vegas, NV.