AI could be the answer to a software developer shortage
According to a Deloitte report entitled AI is helping to make better software, the rising demand for custom software is being met with a rise in the use of artificial intelligence (AI) tools during the design, development, and deployment stages.
Is there a data scientist shortage?
While we are not talking about AI writing lines of codes independently — though this will inevitably become a reality in the future — AI is taking on a more prominent role in assisting developer teams to produce cutting-edge software, particularly when faced with a shortage of talented software developers.
The Consortium for IT Software Quality (CISQ) reported an estimated loss of US$319 billion in US organizations due to poor software quality in 2018. Moreover, many more are late or over budget, which eventually leads to cancelation and abandonment of projects, adding on to monetary and productivity loss.
AI could help turn things around according to Deloitte, with automated development tools able to close the gap between a hike in demand for personalized software and a lack of talent to deliver the programs.
Speaking to TechHQ, Deloitte’s David Schatsky said that AI-powered tools will supplement both ends of the supply and demand chain in software development.
“On the supply side, large code repositories, improved machine learning (ML), and natural language processing algorithms have made it possible to build better tools. On the demand side, there is a chronic shortage of software developers and a list of challenges to improve software quality. These tools can help mitigate both.”
AI technology accomplishes this goal by detecting bugs and errors in code during the early stages of development, dramatically saving production time and cost. This is thanks to advanced ML and natural language processing, which analyzes source codes for early detection of defects.
The new software development tools provide recommendations for completing lines of code while developers are typing, reducing the number of keystrokes developers need to type by 50 percent, akin to predictive texting.
Other tools can also automatically create the tests needed for quality assurance, providing an extra safety layer, and debugging any lines that may potentially lead to bigger defects. As an example, video game company Ubisoft states that 70 percent of bugs were detected by machine learning before testing.
As Schatsky noted, all of this is becoming possible thanks to open-source code repositories. A previous report from 2018 found that, of more than 1,100 commercial applications, 96 percent used open-source components.
The volume of open-source software available for any developer, from any company size, is vast and continues to grow. AI and machine learning can be applied to these expansive libraries, making it possible to analyze source code and other data about software development, such as records of project schedules, delays, application defects, and their fixes.
YOU MIGHT LIKE
Our (software) robotic future in 2020
The newly-emerging tools can automatically spot bugs, produce better requirements documents, or suggest more reliable code. According to Forrester, 37 percent of respondents in a survey said they were already using AI tools for superior testing to increase software quality.
Some of these are now available for free, others are being built in-house by large tech firms, and the trends is also building towards a big new industry. Startups working in this arena raised over US$700 million for the 12 months leading up to September 2019. This emergence could usher in a new, more efficient and accessible age of software development, where programs can be created faster, with less need for experienced developer talent.
Companies that leverage AI-inspired development tools will save time and money in project planning and execution. The return on investment (ROI) can be seen in increased quality assurance, more reliable code, and improved software quality. The tool’s application and impacts on each stage of a software life cycle make it invaluable to organizations today.
However, there are two sides to the same coin and the many benefits of AI development tools are not isolated from the challenges it holds.
AI-based software development tools trained on open-source projects can present security risks and vulnerabilities as the code is not completely free from errors or defects. Besides that, teams embracing code recommendation tools may experience a productivity drop as tools require more training before it can provide more reliable suggestions.