Set Up Now for AI to Augment Software Development

By Kasey Panetta | 4-minute read | September 21, 2023

Big Picture

AI Infiltrates the Entire Software Development Life Cycle

Here are five ways that forward-thinking software engineers can immediately start to leverage AI for critical activities along the software-development life cycle and seven ways that software engineering leaders can prepare their teams to sustainably integrate AI from planning to testing.

No. 1: Use generative AI to write and understand software code.

  • Generative AI code generation tools like GitHub Copilot, Amazon CodeWhisperer and Google Codey are good choices for almost any enterprise seeking AI-enabled code generation tools.

  • The use of nonenterprise large language model (LLM) offerings, such as ChatGPT and Google Bard, by contrast, requires a number of trade-offs that many enterprises will find unacceptable. For example, your prompts and code may be included in future updates to the vendor products, which could put you in breach of data privacy regulations and leak critical intellectual property.

  • Tap plug-in coding assistants powered by machine learning to offer predictions of what single or multiline code fragments might come next, speeding the build. 

  • Interact with code assistants in an exploratory, conversational manner to help turn a vague idea into a program.

No. 2: Deploy generative AI as an app modernization tool.

  • OpenAI’s ChatGPT chatbot can already translate software code from one language to another, providing a quick and easy automated way to transform and modernize software code.

  • GenAI tools can support developers’ app modernization efforts, but we recommend limiting their use.

  • There are significant risks if code isn’t translated exactly, which can happen as a result of generative AI solutions injecting hallucinations and other factual errors into code.

By 2027, 70% of professional developers will use AI-powered coding tools, up from less than 10% today.

Source: Gartner

No. 3: Use generative AI to explain, detect and measure technical debt and its impact.

  • Technology debt is the amount of money that an organization must spend to meet its digital technology cost obligations and continue doing business. Technical debt is the segment that originates from software application architecture, design and development. Generative AI can help manage this burden.

  • To effectively prioritize the debt risk and remediation cost with business partners, use generative AI to detect and measure sources of technical debt and demonstrate simply the implications, risks and level of effort required for remediation. 

  • Don’t use generative AI products to remediate or track technical debt. Doing so is expensive and can produce inaccurate results.

No. 4: Meet user expectations for AI-powered products and services.

  • Generative AI is forcing user experience (UX) designers to deliver against users’ increasing expectations of AI-driven products and services. 

  • As conversational prompt-based interfaces proliferate, users expect to see this feature in software products. Failing to provide it — and provide it well — will lead to unhappy users.

No. 5: Leverage AI across the software testing life cycle.

  • AI is transforming software testing by enabling improved test efficacy and faster delivery cycle times.

  • AI augmentation can provide benefits across five areas of software testing:

    • Test planning and prioritization

    • Test creation and maintenance

    • Test data generation

    • Visual testing

    • Test and defect analysis

7 actions for software engineering leaders who want developers to embrace AI as a partner

  1. Instill an AI-first mentality. At the project kickoff, ask how AI techniques, such as predictions and automations, can improve apps.

  2. Provide developers with a framework to illustrate when AI is applicable and needed to drive better outcomes.

  3. Invest in dedicated AI-augmented solutions to support software engineering roles, tasks and workflows across areas like design, coding, testing and integration.

  4. Expand work on the data engineering pipeline to leverage AI enrichment and create metadata to power smart applications.

  5. Articulate how development and model-building teams should work together to avoid overlapping responsibilities and ensure smooth app deployment.

  6. Collaborate with D&A and AI governance teams on all elements of your AI trust, risk and security management (AI TRiSM) program.

  7. Upskill the team. AI is part of the future of the workplace for all roles. It is especially pertinent for software engineers to add to their diverse set of skills.

The story behind the research

From the desk of Arun Batchu, Gartner VP Analyst

“AI-augmented software engineering tools help developers write more and better code, because emerging AI tools are able to recommend the best code fragments to meet functional and operational requirements. Software engineers who use these tools are more productive, happier and tend to stay longer in their jobs than those who don’t.”

3 things to tell your peers

1

Generative AI and coding assistants can augment and speed up activities from design to testing across the software development life cycle.


2

Within the testing phase alone, AI can enable efficacy and faster delivery cycle times.


3

Shifts in your team’s operating model, culture and skills will be necessary to maximize the value of AI as a software development partner.

Share this article

Arun Batchu is a Vice President, Analyst in the Software Engineering practice. He helps software engineering leaders build their software design, development, and people strategies.

Drive stronger performance on your mission-critical priorities.