Progress announced the Q4 2024 release of its award-winning Progress® Telerik® and Progress® Kendo UI® component libraries.
Today we could be witnessing the dawn of a new age in software development, transformed by Artificial Intelligence (AI). But is AI a gateway or a precipice? Is AI in software development transformative, just the latest helpful tool, or a bunch of hype? The truth is that we can only really guess at this stage, but we can make some pretty good guesses.
To help with this assessment, DEVOPSdigest invited experts across the industry — consultants, analysts and vendors — to comment on how AI can support the software development life cycle (SDLC). In this epic multi-part series to be posted over the next several weeks, DEVOPSdigest will explore the advantages and disadvantages; the current state of maturity and adoption; and how AI will impact the processes, the developers, and the future of software development.
“Various forms of AI can be used at almost any phase of the development process,” says Arthur Hicken, Chief Evangelist at Parasoft.
AI development tools are moving from reactive, prompt-based AI assistants to autonomous, intelligent AI agents that transform how teams build, secure, deploy, and monitor software, David DeSanto, Chief Product Officer at GitLab confirms. These new tools can automate and optimize every tactical piece of the development process so developers can focus on solving big-picture challenges, creating value, and innovating.
Every aspect of the SDLC will be transformed with AI, adds Matt Healy, Director of Product Marketing, Intelligent Automation at Pega.
“There are very few areas where AI can not assist, but that is not to say everything should leverage it or even be automated,” Mathieu Bellon, Senior Product Manager at GitGuardian, cautions.
DEVOPSdigest starts the series by cataloging the many processes in the SDLC that AI can support and even improve.
PLANNING
“Regardless of your view, for good or for ill, AI is here to stay. It has the ability to be the great equalizer. It'll lower the bar of entry but raise the ceiling of what's possible. We need to take an active role in how AI will impact our industry and the world as a whole, not bury our heads in the sand. If we don't form opinions and share them, we risk our future being guided by those who do.”
Sterling Chin
Senior Developer Advocate, Postman
AI holds the power to significantly enhance the requirement analysis and planning processes at the early stages of the software development life cycle (SDLC). It can analyze massive amounts of data in order to identify user needs and preferences, allowing developers to make informed decisions about features and functionality.
Jobin Kuruvilla
Head of the DevOps Practice, Adaptavist
Starting with planning, AI is leveraged to make more accurate and predictable decisions, like time of delivery. Clearer guidance can be provided by having AI examine past use cases and compare it to other features.
Udi Weinberg
Director of Product Management, Research and Development, OpenText
I've been using AI in the planning and design phase of development for things that I want to build. While telling AI to write you a bunch of code isn't always useful, using AI to help you think through a problem and outline solutions can be highly effective. It acts as a powerful brainstorming partner, helping developers conceptualize and refine ideas before moving on to the coding stage. AI isn't a replacement for human reviewers, but it works as a good "rubber duck" to help you work through a problem.
Michael Webster
Principal Software Engineer, CircleCI
PLANNING: USER STORY CREATION
At the front end, Generative AI tools can be very helpful in analyzing, summarizing and simplifying initial user requirements for program managers, project managers, and engineers to use in creating well-defined user stories and Jira tickets.
Shourabh Rawat
Senior Director, Machine Learning, SymphonyAI
Generative AI is transforming user story creation by breaking down overarching business needs into individual DevOps tasks that clearly communicate the needs of end users, while giving developers a sequence of detailed, actionable items to focus on.
Marco Santos
Co-CEO, GFT Technologies
If Build, Test and Release are automated, the game is won or lost in the planning phase. AI can check the user story for completeness, update it for you, and identify hidden dependencies or impacts that should be accounted for. Additionally, for companies who use SAFe, AI can break up large features into individual user stories and flesh them out.
David Brooks
SVP of Evangelism, Copado
PLANNING: PRODUCT REQUIREMENT DOCUMENTS
The early-on requirements definition process of generating product requirement documents (PRDs) can be automated or supported using AI.
Anand Kulkarni
CEO, Crowdbotics
MEETINGS
Everyone knows that meetings are a large part of any job. And remembering whether anything important happened in a meeting, and what it was, can be tough. AI is a big help here.
Mike Loukides
VP of Emerging Tech Content, O'Reilly Media
PROJECT MANAGEMENT
For project managers, LLMs can help review, refine, and improve project plans, including making more accurate timelines, identifying risks, etc.
Shourabh Rawat
Senior Director, Machine Learning, SymphonyAI
AI can support project management by helping to estimate project timelines and budgets, allocate resources, and identify risks or bottlenecks before they occur.
Jobin Kuruvilla
Head of the DevOps Practice, Adaptavist
AI can also look at coding rates per user story within an app architecture context and allow Product Managers to better determine project timelines and resource needs. In doing so, they can more accurately predict the risk-reward of time-to-market versus high quality for every release, knowing that no software will be 100% defect-free.
Scott Willson
Head of Product Marketing, xtype
MONITORING
With execution, AI can support a range of smart dashboards with KPIs. By monitoring and governing throughout the entire development process, risks can be surfaced earlier, and root cause analysis becomes easier. And at the end, if you’ve embedded AI across the entire process, it would have the context to examine if goals or KPIs are met and even be used to draft user guides or marketing messaging.
Udi Weinberg
Director of Product Management, Research and Development, OpenText
PAIR PROGRAMMING
By treating AI as a pair programmer or colleague, the process of iterative and collaborative software development can be easily mimicked through the use of chat functionality.
Raman Sharma
CMO, Sourcegraph
With AI, you have a pair programmer who has infinite patience. Someone who will not judge you for seemingly "stupid" questions. Having this kind of support can increase an engineer's capabilities and productivity. So often as a junior engineer, I was afraid to ask the senior engineers on my team questions because I thought I should know the answer. Engineers can use AI without the worry of judgment, so no question is stupid, no answer should be known.
Sterling Chin
Senior Developer Advocate, Postman
The increasing context size coupled with RAG techniques makes having interactive question and answer sessions between human engineers and AI assistants a powerful productivity enhancer for engineers trying to reason about a large codebase.
Sakshi Garg
Head of Engineering, Hydrolix
COUNTERPOINT: I don't think the current generation of AIs could do a good job of pair programming, but that's something to watch. AI will have to get better at coaching.
Mike Loukides
VP of Emerging Tech Content, O'Reilly Media
CODE GENERATION
Developers have always used tools to support code writing through templates, scaffolding and snippets. AI improves on this concept with Natural Language Processing (NLP) and Generative AI. This combination allows developers to ask AI to generate code by describing the problem or scenario as opposed to manual processes like running a command or copying from templates. Developers will find NLP-based tools more intuitive, thus more productive.
Ed Charbeneau
Developer Advocate, Principal, Progress
As we've seen over the past decade with open source, it's not practical to write every line of code as you scale, making this a natural fit for AI. The emergence of copilot tools that assist developers by suggesting code snippets or even entire blocks of code as they type has been really powerful. AI-generated code works best when you have good examples of how you've solved problems before and can help eliminate unnecessary boilerplate code from AI.
Michael Webster
Principal Software Engineer, CircleCI
AI can suggest or even generate code snippets, complete functions, or provide boilerplate code based on natural language descriptions or existing code patterns, accelerating development and reducing errors.
Dotan Nahum
Head of Developer-First Security, Check Point Software Technologies
Features like AI-assisted code autocompletion automate a large portion of writing new code through suggestions that pop up while typing code.
Raman Sharma
CMO, Sourcegraph
Through AI copilots, developers can offload repetitive, manual tasks, allowing AI to take a first pass at components, workflows, integrations, UX components, and more. This has been proven to increase productivity by enabling developers to get more done faster and focus their efforts on more complex tasks. I'd expect this set approach to become more and more commonplace across development platforms.
Matt Healy
Director of Product Marketing, Intelligent Automation, Pega
We've seen the upswing in Large Language Model (LLM) activity to directly aid developers, make code suggestions and so on. This is a highly intriguing development and should be welcomed, albeit with an acknowledgement of the complexities around the developer role — it's not just about lines of code!
Jon Collins
Analyst, Gigaom
LLM-generated code is probably one of the biggest usages of LLMs today. It's growing and has huge potential. It is changing the way software is built. Chris Wysopal
Co-Founder and Chief Security Evangelist, Veracode
In software development, LLMs are proving to be quite adept at generating source code. The sheer amount of open source and/or publicly available code means that there's a lot of data to train against. Additionally, software projects tend to converge onto the same types of problems, and even when utilizing software libraries, there's a lot of glue code and business logic which would have previously been implemented in a bespoke fashion prior to LLMs.
Todd McNeal
Director of Product Management, SmartBear
COUNTERPOINT: Let's face it: the hard part of this business isn't writing low quality, first pass code. AI will get better at generating high quality code, but I don't think that's going to happen quickly.
Mike Loukides
VP of Emerging Tech Content, O'Reilly Media
SEARCH
Currently, the leading advantage of using AI to support development is to remove blockers from writing code. Previously, when a developer's workflow was interrupted by an error, or presented with an unfamiliar task, they would use search or Stack Overflow. Now, developers can write a question in an AI prompt and instantly find answers with code examples for the solution.
Ed Charbeneau
Developer Advocate, Principal, Progress
CODE SUMMARIZATION
AI can summarize code that is generated to help with pull requests and understanding the structure.
David Brooks
SVP of Evangelism, Copado
CODE EXPLANATION
The most time-consuming part of software engineering isn't writing code, but reading and understanding it. This is where LLMs can solve existing challenges — by helping engineers quickly understand existing systems and code. LLMs can quickly explain long complicated files and help pinpoint exactly where to focus attention.
Leo Jiang
Staff Software Engineer, Amplitude
Code explanation, a capability that can be supported with AI, is especially important for development teams working with complex programs and applications that aren't well documented or require specialized skill sets. It offers a way to break through knowledge gaps and enable code comprehension.
Keri Olson
VP of Product Management, AI for Code, IBM
IDENTIFYING CODE MODULES
Identifying code modules can be automated and supported using AI. Eventually assembling and completing code modules can be automated and supported using AI.
Anand Kulkarni
CEO, Crowdbotics
USER INTERFACE CODING
AI-based tools can generate full front-end UI code for screens and widgets by describing them with a prompt. This dramatically reduces the time dedicated by developers to work with UI/UX designers.
Chetan Conikee
Co-Founder and CTO, Qwiet AI
ALGORITHM IMPLEMENTATION
A helpful feature includes algorithm implementation where an AI code assistant can take the described purpose of an algorithm and produce code leveraging the appropriate data structures and coding best practices.
Chetan Conikee
Co-Founder and CTO, Qwiet AI
CREATING DATA STRUCTURES
A part of software development that I have found AI to benefit me greatly during development is creating data structure fields for statically typed languages, such as Go. Some of these data structure fields often have to be replicated, and writing these out manually is time-consuming. Codepilots are particularly beneficial in reducing the time spent writing repetitive information. With the push of a single key tab, I can recreate a data structure with multiple fields in less than a few seconds. As a result, I can focus on remaining in the state of flow and use my time more effectively to achieve the business goals.
Karl Cardenas
Director, Docs & Education, Spectro Cloud
INTEGRATION
We've coined the phrase: There is no AI without APIs. Increasingly software development is simply a matter of calling APIs. So finding the right API, calling it, and chaining it with more APIs to get a job done is the job. The code you really need to spend time figuring out is the glue code between the APIs. This is increasingly AI territory, from discovery (which APIs to use), to schema alignment between APIs, and sequencing APIs together to create higher order functionality.
Rodric Rabbah
Principal Scientist, Flows & AI, Postman
Rodric Rabbah, Principal Scientist, Flows & AI, at Postman breaks it down further:
■ API discovery: using AI to find which APIs can be used for particular tasks.
■ Schema alignment between APIs: to connect APIs together, AI can manipulate the responses and transform the data to allow for APIs to integrate with each other
■ Sequencing APIs: using AI to string together APIs to create higher order functionality
CODE REVIEW AND DEBUGGING
With AI, you can automatically review code for style consistency, adherence to best practices, potential vulnerabilities, and common coding errors. This functionality is particularly useful for junior developers or people with limited coding expertise. Dotan Nahum
Head of Developer-First Security, Check Point Software Technologies
AI can play a role in enhancing code quality by automatically detecting and suggesting fixes for bugs, well before deploying to production. Code review and refactoring processes can benefit from AI-powered tools that analyze code for potential performance and security improvements.
Ramprakash Ramamoorthy
Director of AI Research, ManageEngine
AI can review code for potential errors, check for security flaws, optimize performance, and enforce best practices faster than a human. David Brault
Product Marketing Manager, Mendix
We've seen AI being used as a bug hunter, helping developers quickly analyze error messages by providing tight feedback loops. While solving tricky bugs can be interesting, it's not the most productive use of time — so rather than using team resources for bug-hunting parties, we can just have AI do the heavy lifting.
Michael Webster
Principal Software Engineer, CircleCI
Using AI to perform code reviews can significantly speed up the time of shipping code to production. From static analysis, ensuring adherence to coding standards and suggesting improvement, AI can automate the entire code review process. Perhaps AI will finally solve The Halting Problem.
Chris Du Toit
Head of Developer Relations, Gravitee
OPEN SOURCE CODE REVIEW
A majority of today's software, anywhere from 70-90%, is made up of open-source software components. While open-source powers faster development and innovation, it doesn't come without risk — nearly 10% of open-source software comes from unknown origins. With a deep analysis of accurate software bill of materials (SBOMs) AI can optimize and reduce the time spent on remediation by providing targeted fixes that consider compatibility analysis, helping to identify what might break in the software before implementing changes. By understanding these potential impacts, AI ensures that remediations are both effective and safe.
Javed Hasan
CEO and Co-Founder, Lineaje
CODE EDITING
Through features like inline edits, AI allows developers to change sections of code just by providing guidance (in natural language) on what needs to change exactly.
Raman Sharma
CMO, Sourcegraph
FUNCTION/METHOD STUBBING
AI can be used to analyze local code context to support function/method stubbing and generate class methods or stub functions under the appropriate parameters.
Chetan Conikee
Co-Founder and CTO, Qwiet AI
VERSION CONTROL
Large Language Models (LLMs) are effective at summarizing text and code and are being used to automate mundane tasks, such as commenting code, creating documentation and supporting version control. One such example is allowing AI to analyze code changes to generate change logs when committing source code to version control.
Ed Charbeneau
Developer Advocate, Principal, Progress
Got to: Exploring the Power of AI in Software Development - Part 2: More Processes
Industry News
Check Point® Software Technologies Ltd. has been recognized as a Leader and Fast Mover in the latest GigaOm Radar Report for Cloud-Native Application Protection Platforms (CNAPPs).
Spectro Cloud, provider of the award-winning Palette Edge™ Kubernetes management platform, announced a new integrated edge in a box solution featuring the Hewlett Packard Enterprise (HPE) ProLiant DL145 Gen11 server to help organizations deploy, secure, and manage demanding applications for diverse edge locations.
Red Hat announced the availability of Red Hat JBoss Enterprise Application Platform (JBoss EAP) 8 on Microsoft Azure.
Launchable by CloudBees is now available on AWS Marketplace, a digital catalog with thousands of software listings from independent software vendors that make it easy to find, test, buy, and deploy software that runs on Amazon Web Services (AWS).
Kong closed a $175 million in up-round Series E financing, with a mix of primary and secondary transactions at a $2 billion valuation.
Tricentis announced that GTCR, a private equity firm, has signed a definitive agreement to invest $1.33 billion in the company, valuing the enterprise at $4.5 billion and further fueling Tricentis for future growth and innovation.
Check Point® Software Technologies Ltd. announced the new Check Point Quantum Firewall Software R82 (R82) and additional innovations for the Infinity Platform.
Sonatype and OpenText are partnering to offer a single integrated solution that combines open-source and custom code security, making finding and fixing vulnerabilities faster than ever.
Red Hat announced an extended collaboration with Microsoft to streamline and scale artificial intelligence (AI) and generative AI (gen AI) deployments in the cloud.
Endor Labs announced that Microsoft has natively integrated its advanced SCA capabilities within Microsoft Defender for Cloud, a Cloud-Native Application Protection Platform (CNAPP).
Progress announced new powerful capabilities and enhancements in the latest release of Progress® Sitefinity®.
Red Hat announced the general availability of Red Hat Enterprise Linux 9.5, the latest version of the enterprise Linux platform.
Securiti announced a new solution - Security for AI Copilots in SaaS apps.
Spectro Cloud completed a $75 million Series C funding round led by Growth Equity at Goldman Sachs Alternatives with participation from existing Spectro Cloud investors.