Set up now for AI to augment software development

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.

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.

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.

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.

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.

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
Source: Gartner

Subscribe to Farvest IT newsletter for free!