Much has been written about how artificial intelligence (AI) will put white-collar workers out of a job eventually. Will robots soon be able to do what programmers do best -- i.e., write software programs? Actually, if you are or were a developer, you've probably already written or used software programs that can generate other software programs. That's called code generation; in the past, it was done through "next" generation programming languages (such as a second-, third-, fourth-, or even fifth-generation languages), today are called low code IDEs. But also Java, C and C++ geeks have been turning high level graphical models like UML or BPML into code.
But that's not what I am talking about: I am talking about a robot (or bot) or AI software system that, if given a business requirement in natural language, can write the code to implement it -- or even come up with its own idea and write a program for it.
Don't panic! This is still science fiction, but it won't be too long before we can use AI to improve development, thanks to smarter tools that learn based on the individual developer's style and application and help write better, higher-quality code. We can see early signs of this: Microsoft's Intellisense is integrated into Visual Studio and other IDEs to improve the developer experience. HPE is working on some interesting tech previews that leverage AI and machine learning to enable systems to predict key actions for participants in the application development and testing life cycle, such as managing/refining test coverage, the propensity of a code change to disrupt/break a build, or the optimal order of user story engagement.
But AI will do much more for us in the future. How fast this happens depends on the investments and focus on solving some of the harder problems, such as "unsupervised deep learning," that firms like Google, FaceBook, Baidu and others are working on, with NLP linguists that are too researching on how to improve language comprehension by computers leveraging ML and neural networks.
But in the short term, AI will most likely help you be more productive and creative as a developer, tester, or dev team rather than making you redundant. Don't be afraid. Take advantage of this opportunity and you'll get an immediate return: It will give you more time to be more creative and to deliver more innovation -- which will help you save your job in the long term!
My recent report, How AI Will Change Software Development And Applications, shows how AI will change the way you program and build applications as well as the applications themselves. I surveyed over 25 software vendors and system integrators/consulting organizations and have been talking to a dozen or more experts in software companies about their near-future plans for leveraging AI to improve the way they build and test software. The results encouraged us to create a new stream of research that focuses on the shared ideas, concrete plans, and pilot projects and applications developed with clients.
Interestingly, our interviewees saw testing as the most popular phase of the software delivery life cycle in which to apply AI. This makes sense, as quality is of paramount importance in the age of digital acceleration; it's hard to both guarantee quality and speed to keep up with continuous delivery or the growing delivery cadence of modern development teams; and to achieve high quality it is expensive.
Firms are looking to AI both to increase test automation to unprecedented levels and test in much smarter ways, and lower the costs for it. In my recent trip to India Infosys, Wipro, TCS, IBM GBS shared interesting client case studies, and other GSIs have shown me some early accelerators
To find out how AI will change the way you program and build applications as well as the apps themselves, read my report -- the first in a series. The next report will focus on testing, given the heat around it.
Stay tuned and share any ideas, products, or plans you have that leverage AI in the development and testing space with me at email@example.com.
Diego Lo Giudice is VP and principal analyst at Forrester, serving application development and delivery professionals. Follow Diego on Twitter: @dlogiudice.