Skip to main content

AI is helping to make better software

Professionals are using artificial intelligence for help in design, development and deployment

Artificial intelligence isn’t writing much software on its own—yet. But companies are finding the technology invaluable in helping professionals develop and test custom software.

ARTIFICIAL intelligence is making the process of designing, developing, and deploying software faster, better, and cheaper. It’s not that programmers are being replaced by robots—rather, AI-powered tools are making project managers, business analysts, software coders, and testers more productive and more effective, enabling them to produce higher-quality software faster at lower cost. AI may become a key factor in meeting rising demand for custom software.

Signals

  • Large and small software vendors have launched dozens of AI-powered software development tools over the last 18 months.1
  • Startups offering AI-powered software development tools raised US$704 million over the 12 months ending September 2019.2
  • The global market for custom application development services is forecast to grow from US$47 billion in 2018 to more than US$61 billion in 2023.3
  • Due to increasing demand for software, employment of software developers is projected to grow 21 per cent from 2018 to 2028, much faster than the average for all occupations.4

Organisations are struggling to meet growing demand for software

Developing and deploying custom software is a critical element of how many companies innovate, 5 with top-performing organisations developing many of their most important software solutions in-house. 6 And the market for custom software development services is large: around US$47 billion in 2018 and climbing. 7 But 65 years after the invention of the FORTRAN programming language, major challenges plague software development efforts—most urgently, a chronic shortage of talented developers. 8 Plus, more than half of all software projects are late and over budget, with another 20 per cent cancelled outright, a 2017 study found. 9 Last year, poor software quality cost US organisations an estimated £250 billion. 10 The application of AI in the software development process promises to mitigate some of these problems.

From big data to better software

New AI-powered tools are having a remarkable impact on the software development process, such as reducing the number of keystrokes developers need to type by half, catching bugs even prior to code review or testing, 11 and automatically generating half of the tests needed for quality assurance. To see why this is happening now, it’s important to understand another software development trend: open source.

Open-source software has lowered the cost of software development by allowing developers to reuse and build upon others’ work. Organisations large and small are using open-source software. 12 A 2018 study that analysed more than 1,100 commercial applications found that 96 per cent of them used open-source components. 13 The volume of open-source software available for use by any developer is enormous and growing rapidly.

AI technology is making all of this code more useful than ever before. Researchers have discovered that machine learning and natural language processing can be used to analyse source code and other data about software development, such as records of project schedules, delays and application defects and their fixes. This makes it possible to automate some developers’ work. A new generation of AI-powered tools is thus emerging, guiding and empowering software professionals to produce better requirements documents, write more reliable code and automatically detect bugs and security vulnerabilities.

How AI can help develop better software faster

Developers are using AI to help improve every stage of the software development process, from requirements gathering to deployment. Consider the following examples.

Project requirements. Requirements management—the process of gathering, validating and tracking what end users need from a piece of software—is a major cause of delayed, costly, or failed projects when done poorly. 14 Several vendors have introduced digital assistants that can analyse requirements documents, flag ambiguities and inconsistencies, and suggest improvements. These tools are powered by natural language processing and trained on widely referenced guidelines for writing high-quality requirements. 15 These tools can detect inaccuracies or other weaknesses—such as incomplete requirements, immeasurable quantification (missing units or tolerances), compound requirements and escape clauses—to expedite requirements review. 16 Enterprises using such tools have been reportedly able to reduce requirements review time by over 50 per cent.

Coding, review, bug detection and resolution. As developers are typing, AI-powered code completion tools provide recommendations for completing lines of code. 17 According to various sources, this can reduce the keystrokes required by up to half. Some tools even generate a relevance-ranked list of usable code snippets. 18 Some of these tools work on the same principle as Gmail’s Smart Compose, a machine learning–powered feature that suggests words or phrases as a user is composing an email. Meanwhile, code-review tools use AI to automatically detect bugs and suggest code changes by understanding the intent of the code and identifying common mistakes and their variants. 19 At Facebook, a bug detection tool predicts defects and suggests remedies that are thus far proving correct 80 per cent of the time. 20 This is important: The cost of fixing bugs rises considerably further down the software life cycle, as reproducing the defects in a developer’s local environment can be complex and business-critical services failure can be costly. 21 Video game company Ubisoft says the use of machine learning is helping it catch 70 per cent of bugs prior to testing. 22

More thorough testing. Automated testing tools that run test scenarios written by quality assurance analysts have been in use for years. Now, AI has made it possible not only to run tests automatically but to automatically generate the test cases. This saves analysts time and helps ensure that more scenarios and functionality are tested. For instance, a private equity firm used an AI-powered tool to automatically generate over half of the test cases it used to validate one software project. 23 These tools can also make it easier to distinguish true defects from noise and identify their root causes. A mid-sized software company found its traditional tool to be brittle—tests would break with slight changes in the user interface (UI). The firm found an AI-based testing tool to be more robust; able to adapt to UI changes by identifying elements by their functionality and not just their position on the screen. The company achieved the same test coverage as with its older testing tool in a smaller fraction of the time. 24

Deployment. Sometimes software defects become apparent only after the software is deployed in the environment in which it is meant to run. But AI-powered tools are helping to predict deployment failure ahead of time by examining data such as statistics from prior code releases and application logs. This can speed up root cause analysis and recovery in case of a failure. 25 In one case, machine learning–based automatic verification of deployments and rollback helped an e-commerce company attain faster application delivery and a 75 per cent reduction in mean-time-to-restore from a failure in the production environment. AI can even help applications run optimally while in production. 26 Another online company deployed a machine learning–based tool that analyses numerous potential application runtime settings and automatically deploys optimal environment configurations. This helped them halve cloud costs and more than double application performance.

Project management. Firms are even using AI to improve project management. A number of startups have introduced tools that apply advanced analytics to the data from large numbers of prior software projects to predict the technical tasks, engineering resources and timelines that new software projects will require. This can make project planning more accurate and project execution more efficient. 27 As an example, the innovation team at French telco Orange deployed an AI-powered project management tool to automate the long, manual process of updating project timelines with changes in project scope or feature sets. 28

AI-powered tools coming to market

A growing number of AI-based tools to support enhanced software development processes are coming to market or being made available for free. Leading technology providers have introduced AI-based software development tools, offering them as plug-ins or enhancements. Facebook is using its newly developed bug fixing and code recommendation tool for in-house projects. 29 And several startups are offering their tools partially free—public code can be processed for free, while private code processing is free for a limited number of developers. 30 In a Forrester survey, 37 per cent of respondents said they were already using AI and machine learning for superior testing to increase software quality. 31 Investors see great promise in the market for AI-powered development tools: Venture capital funding raised by startups working in this area totals over US$700 million for the 12 months ending September 2019. 32 All this promises to accelerate the adoption of AI-augmented software development methods and increase the productivity and quality of software development.

The use of AI-based software development tools does have a downside. Tools trained on open-source projects could encourage developers to inadvertently propagate bugs and security risks into their code, as open-source software is not free of errors or vulnerabilities. 33 And teams deploying code recommendation tools could see productivity dip before improving, as those tools may require some usage and training before reliably generating highly accurate recommendations.

Considerations for enterprises

Any company that undertakes a significant amount of custom software development should explore the growing number of AI-enhanced software development tools as an opportunity to increase their output's velocity and quality. An old rule of thumb holds that the best developers can be 10 times more productive than the average. 34 Anything that has the potential to boost productivity of average developers is worth exploring. Enterprises that contract out custom software development should inquire about the tools their vendors use to improve productivity and quality. And it is worth taking note of so-called low-code development environments, which enable professionals without computer science or software engineering training to develop applications. 35 In recent months, these platforms have begun to include AI-enabled capabilities to make it easier and more efficient to create and test applications. 36

The future of software development

Pundits have long predicted the end of programming. Some have forecasted that computers would eventually write their own programmes; others have suggested that the task of programming computers will give way to a process of teaching computers, by means of machine learning. 37 Both of these are happening, to a limited degree. But for years to come, most software will be created by people. AI-enhanced software development tools are a good example of how AI can empower, rather than replace workers. Technology leaders are on a mission to help their organisations create the future and savvy use of AI to improve the practise of software development can support this mission.

Deloitte’s System Design and Engineering

Deloitte’s System Design and Engineering practise provides clients with teams that help develop and deliver large-scale software applications and integrated systems across development approaches: agile, traditional (SDLC) and hybrid.

Learn more

The authors would like to thank Vishal Iyengar of Deloitte Consulting LLP, and Navya Kumar and Mahalakshmi S. of Deloitte Services India Pvt. Ltd.

Cover image by: Molly Woodworth

  1. Deloitte analysis of Quid data, with a total of 46 new launches from 1 January 2018 (22 items) until 30 September 2019 (24 items).

    View in Article
  2. Deloitte analysis of CB Insights data for 12 months ending 30 September 2019.

    View in Article
  3. Peter Marston, “Worldwide and U.S. custom application development services forecast, 2019–2023,” IDC, April 2019.

    View in Article
  4. US Bureau of Labor Statistics, “Occupational Outlook Handbook: Software developers,” accessed 20 November 2019.

    View in Article
  5. James Bessen and Walter Frick, “How software is helping big companies dominate,” Harvard Business Review, 19 November 2018.

    View in Article
  6. Katie Costello, “Make application development cool again,” Smarter with Gartner, 14 August 2018.

    View in Article
  7. Marston, “Worldwide and U.S. custom application development services forecast, 2019–2023.”

    View in Article
  8. ACT, “Six-figure tech salaries: Creating the next developer workforce,” 21 June 2016.

    View in Article
  9. Speed & Function, “A look at 25 years of software projects. What can we learn?,” 1 July 2017.

    View in Article
  10. Herb Krasner, The cost of poor quality software in the US: A 2018 report, Consortium for IT Software Quality, 26 September 2018.

    View in Article
  11. Frederic Lardinois, “Ubisoft and Mozilla team up to develop Clever-Commit, an AI coding assistant,” TechCrunch, 12 February 2019.

    View in Article
  12. Red Hat, The state of enterprise open source, 2019; Bill Briggs, Mike Bechtel, and Stefan Kircher, Open for business: How open-source software is turbocharging digital transformation, Deloitte Insights, 17 September 2019.

    View in Article
  13. Synopsys, 2018 open source security and risk analysis, 2018.

    View in Article
  14. See, for instance: IBM, “IBM Engineering Requirements Quality Assistant,” accessed 22 November 2019; IBM, “Deliver higher quality products at enterprise scale with industry-leading requirements management,” accessed 22 November 2019.

    View in Article
  15. See, for reference: Maggie Mae Armstrong, “Engineering breakthrough: IBM introduces Watson AI for RQA,” IBM Internet of Things blog, February 28, 2019; QRA, “About QRA,” accessed November 22, 2019; Visure, “Requirements management,” accessed November 22, 2019; Asif Sharif, “Meet Alice: Your cognitive assistant for business analysis,” Modern Requirements, accessed November 22, 2019.

    View in Article
  16. IBM, “IBM Engineering Requirements Quality Assistant.”

    View in Article
  17. See, for reference: Darryl K. Taft, “Kite boosts Python code completion with machine learning,” SearchSoftwareQuality.com, February 4, 2019; Codota, “Give your development team AI superpowers,” accessed November 22, 2019; Visual Studio, “IntelliCode,” accessed November 22, 2019; Reina Qi Wan, “Deep TabNine: A powerful AI code autocompleter for developers,” Medium, July 18, 2019.

    View in Article
  18. See, for example: Kite, “Kite announces Intelligent Snippets for Python,” September 4, 2019; Celeste Barnaby, Satish Chandra, and Frank Luan, “Aroma: Using machine learning for code recommendation,” Facebook Artificial Intelligence, April 4, 2019.

    View in Article
  19. See, for reference: DeepCode, “Technology,” accessed November 22, 2019; Semmle, “CodeQL,” accessed November 22, 2019; Johannes Bader et al., “Getafix: How Facebook tools learn to fix bugs automatically,” Facebook Engineering, November 6, 2018.

    View in Article
  20. Bader et al., “Getafix: How Facebook tools learn to fix bugs automatically.”

    View in Article
  21. Sanket, “Exponential cost of fixing bugs,” DeepSource, January 29, 2019.

    View in Article
  22. Project Management Institute, “AI innovators: Cracking the code on project performance,” 2019.

    View in Article
  23. Diego Lo Giudice et al., “The path to autonomous testing: Augment human testers first,” Forrester, January 7, 2019.

    View in Article
  24. Ankur Verma, “Case study: Functionize eliminates Agvance test maintenance with machine learning,” Functionize, 11 September 2018.

    View in Article
  25. See, for reference: XebiaLabs, “New XebiaLabs DevOps prediction engine uses machine learning to deliver a ‘weather forecast’ for software delivery,” 27 March 2019; Unravel, “Optimize performance with the power of AI"; Mike Wheatley, “Continuous app delivery firm Harness raises $60M,” SiliconANGLE, 23 April 2019.

    View in Article
  26. See, for reference: Opsani, “Opsani AI,” accessed 22 November 2019; Densify, “Cloe,” accessed 22 November 2019.

    View in Article
  27. See, for instance: Tara, “How Tara works,” accessed 22 November 2019; Ryan Hickman, “How CraneAi uses artificial intelligence to help teams build apps faster,” CraneAi, 30 November 2018; Seerene, “A digital boardroom for software management,” accessed 22 November 2019.

    View in Article
  28. Joshua Reola, “How Cisco used AI to build a better API integration,” Tara, accessed 22 November 2019.

    View in Article
  29. See, for reference: Barnaby et al., “Aroma: Using machine learning for code recommendation”; Bader et al., “Getafix: How Facebook tools learn to fix bugs automatically.”

    View in Article
  30. See, for instance: Codota, “FAQ,” accessed 22 November 2019; Kite, “Kite,” accessed 22 November 2019; DeepCode, “Peace of mind with our AI code review suggestions,” accessed 22 November 2019; Dane Mitrev, “Deep TabNine: Code autocomplete tool that uses deep learning,” Neurohive, 21 July 2019.

    View in Article
  31. Diego Lo Giudice, “Continuous and smart testing trends,” Forrester, 9 October 2018.

    View in Article
  32. Deloitte analysis of CB Insights data for 12 months ending 30 September 2019.

    View in Article
  33. Robert Lemos, “The state of vulnerability reports: What the CVE surge means,” TechBeacon, 24 September 2019.

    View in Article
  34. Know Your Meme, “10x engineer driver,” accessed 21 November 2019.

    View in Article
  35. For more on the topic of low-code development, see Ragu Gurumurthy, Peter Gratzke, and David Schatsky, Software development beyond IT, Deloitte Insights, 22 February 2017.

    View in Article
  36. See, for instance: Mendix, “Mendix announces the first AI-assisted low-code development environment,” 19 June 2018; Perfecto, “Perfecto launches clever codeless automation testing solution to improve quality, creation and maintenance of scripts,” 12 March 2019.

    View in Article
  37. Jason Tanz, “Soon we won’t program computers. We’ll train them like dogs,” Wired, 17 May 2016.

    View in Article

Did you find this useful?

Thanks for your feedback

If you would like to help improve Deloitte.com further, please complete a 3-minute survey