Software Development, Past And Present Shortfalls
As digital accelerates, so does the demand for business applications. And the complexity of building business applications is growing, despite all the innovations we’ve created during the past 20 years. Decision-makers have tried leveraging prepackaged business apps on-premises and now also in the cloud — only to find they still need to customize them a lot. Now, the low-code development of custom applications gives both citizen and professional developers easier access to environments, but these apps still have to pass the “enterprise scaling test.” And we’ve given professional developers highly interactive, wizard-driven integrated development environments and command-line interfaces to build ever more sophisticated applications and services.
We’ve also tried model-driven code generation approaches — remember, 20 years ago, Object Management Group, Model-Driven Architecture, and IBM Rational? All these approaches have improved things, and we are certainly building more sophisticated and cool apps, but we still have to admit that building enterprise software is hard, expensive, and slow. The cost of all this custom development adds up. Research shows that the cost of software development is now upwards of US$1.25 trillion per year, and the University of Cambridge found that developers spend over 50% of their time making software code compile and fix bugs. That equates to a $600 billion-per-year cost. (And this is just custom development on Linux!) So as AI increases the world of autonomous everywhere, can it do the same for building enterprise software and applications? That’s our bet here.
AI Breakthroughs Are Poised To Set Software Development Up For A New Future
Today, examples of computer intelligence surround us thanks to a combination of breakthroughs in machine learning (ML), abundant data, and cheap compute. An early example of the new age of AI was IBM Watson competing at the level of a human champion in real time on the American TV quiz show “Jeopardy!” in 2014. As IBM started putting a lot of marketing muscle behind AI, other software giants such as Google, Microsoft, Amazon, and Facebook followed. Toss in a gaggle of startups revealing their efforts in AI, and it was soon clear that IBM was not alone. Today, AI innovation continues at an impressive pace as new machine-learning frameworks such as reinforcement learning and other initiatives like OpenAI Gym, Vowpal, and more are brought to market. Ultimately, AI innovations are becoming more and more democratized and available on demand.
So what innovation has this new renaissance of AI brought to developers and development teams? A bunch of startups are working on cool developments and tester use cases (see above figure), infusing coding and testing tools with AI and ML to augment developer and tester intelligence in their daily work. And the tech giants are not idle: Google, Microsoft, Facebook, and IBM are also moving forward. Google TF-Coder helps write TensorFlow code, and Facebook Aroma uses ML for code generation and autocompletion. And even large enterprises like Intel augment thousands of developers with a bot that finds code similarities to help choose the most efficient code among software doing similar things.
In conclusion, there is enough prior art here to imagine that huge innovation is coming in terms of the way we build applications, making AI bots good companions to business analysts, architects, developers, testers, and ops folks during the entire application development lifecycle, augmenting their overall analysis, design, development, testing, and deployment intelligence and capabilities. In a nutshell, the era of making development, testing, and deployment of software, as well as the building and deployment of AI models themselves, more autonomous is here and developing rapidly. You can read more about this prior art in our research on autonomous testing and autonomous development (both automation-focused machine learning and model operations), which automates the building of AI-infused apps themselves.
We believe these and other recent advances in AI will enable automated application generation from application design artifacts and will dramatically change the future of work for application development and delivery pros. Want to know more? Look out for our next blog, Prepare For AI That Learns To Code Your Enterprise Applications (Part 2).