Three approaches to prepare for the development of AI-enhanced software
Over the past 12 months, the information technology industry has made progress in applying artificial intelligence to software development work.
Some vendor models have demonstrated their ability to translate natural language instructions into program code. Other tools have used AI to automatically generate test scripts and low code Development platform providers are also integrating AI into their development tools.
Emerging technology for AI-enhanced software development has the potential to combine with scripted automation techniques to automate up to 70% of the work currently performed manually by software engineers.
Figure 1 (below) shows the potential. The seven bars indicate where most efforts are in software development today and where machine learning could have an impact in the near future.
AI augmented software development tools will bring huge changes in the way software development is to be managed. There are three approaches to supporting change, depending on whether you employ software engineers, sell their services, or buy software development services:
Hiring software engineers
In 2020, there were over 25 million specialized software developers, by some estimates. Some developers are innovative, highly skilled and productive. At the other end of the scale are “cargo worshipâDevelopers who rely on Google to find useful snippets of code that they can paste into their work. AI will automate the work of less skilled developers first.
To prepare for the development of AI-enhanced software, software engineers leaders can:
- Identify the developers whose work can be most easily automated, then recycle them for higher value work or reassign them to different roles.
- Develop new career paths for junior developers, as less skilled tasks that were previously assigned to juniors will be increasingly automated.
- Consider reducing the size of development teams. For example, a Scrum team of 10 that included three developers and two testers can, with Generative AI, be able to do the same job with just six people.
Sale of software engineering services
According to Gartner, the market for software development and application maintenance services are worth over $ 300 billion, and many service providers are currently experiencing double-digit growth.
Seventy percent of software development engagements are billed based on the effort required to complete the job, so there is an opportunity to increase success rates if AI can be used to deliver a project at a cost. lower than the competition. Conversely, there is a risk that an hour saved through automation will result in an hour less revenue that can be billed, making it difficult for consulting and outsourcing businesses to grow.
Suppliers also need to recognize that writing code is becoming a much less important part of software development and application maintenance as companies seek to assemble. “composableâBusiness applications or systems based on pre-written business capabilities. The more you compose, the less coding you need.
Consulting services focused on solving business problems have a much higher value than technology skills. After all, contextual domain knowledge of an industry or business process is not usually vulnerable to automation, as its success relies on such machine learning models.
Leaders of software development services companies should prepare for AI-enhanced software development by:
- Use ‘bench’ developers waiting for their next billable assignment to quantify the effort savings from AI automation tools.
- Use the results to update the cost estimation tools used in proposal writing, to ensure that the prices of proposed projects for new engagements are as competitive as possible.
- Redesign of the organization of service delivery, moving away from providing teams of designers, architects, developers and testers.
Purchase software engineering services
Companies that outsource their software engineering to an external service provider are also affected by disruption to AI-enhanced software.
In the past, software engineering services were dominated by the use of software engineers in nearshore or offshore locations to optimize costs. More recently, software engineering companies have evolved to provide entire Scrum teams of highly skilled developers. No type of vendor can be assured of harnessing the potential to automate their professional services.
Buyers of software engineering services must take the lead, clearly signaling to their suppliers their intention to automate the development lifecycle beyond the established scripted automation of test and CI deployment toolchains. /CD.
While there will remain a market for traditional custom software development services to create unique customer experiences, unique business processes, or unique product features, generative AI will play an increasingly important role in delivering these services.
Software engineering managers who use contractors should prepare for the development of AI-enhanced software by:
- Require incumbent software engineering vendors to deliver AI-enhanced automation innovations at least quarterly as part of a continuous improvement process.
- At the end of a contract during a renewal or re-call for tenders, include in the calls for tenders questions about the supplier’s automated development plans.
- Revise the quality engineering plan and the contractual definition of the fact to strengthen the acceptance criteria for the code generated by the AI.
Neil barton is Vice President Analyst at Gartner Inc., covering the market for custom application development and maintenance services. He wrote this article for SiliconANGLE. Barton and his fellow analysts Gartner Summit on Application Innovation and Business Solutions will take place virtually in the Americas on May 26-27.