Afikri logo
AISoftware EngineeringProductivityWorkflow

AI-Assisted Software Development Workflow

Abdul Fikri

A practical, repeatable workflow for building high-quality software with AI coding agents.

Step 1 — Define the Problem

Write a concise specification that describes:

  • User needs and expected outcomes
  • Acceptance criteria
  • Technical or business constraints
  • What is explicitly out of scope

A clear problem definition gives both the developer and the AI agent a shared target.

Step 2 — Plan the Technical Approach

Before changing code:

  • Inspect the existing codebase and relevant conventions
  • Identify the modules and components likely to be affected
  • Consider edge cases, dependencies, and potential risks
  • Decide how the changes will be verified
  • Record significant architectural decisions in Architecture Decision Records (ADRs)

Plan enough to reduce avoidable mistakes without overdesigning uncertain requirements.

Step 3 — Break Work into Small Tasks

Divide the work into focused, manageable tasks. Each task should have:

  • A clear outcome
  • A limited scope
  • Defined acceptance criteria
  • A practical way to demonstrate that it works

This applies Agile's iterative principle: deliver value in small increments, gather feedback, and adjust as needed.

Step 4 — Let the AI Implement

Give the AI coding agent sufficient repository context and explicit constraints.

Ask it to:

  • Inspect the relevant code before editing
  • Follow the project's existing conventions
  • Make focused, reviewable changes
  • Avoid unrelated refactoring
  • Explain important trade-offs and assumptions

Treat the agent as an implementation partner, not as an unquestionable authority.

Step 5 — Verify Independently

Do not assume that code is correct simply because it compiles or the agent says it is finished.

Run the checks appropriate to the change, such as:

  • Unit tests
  • Integration tests
  • End-to-end tests
  • Linting and formatting checks
  • Static analysis and type checking
  • Dependency and security checks

Review the actual code diff and verify the behavior against the original acceptance criteria. Remember that AI-generated tests can also be incorrect, so test quality matters as much as test quantity.

Step 6 — Integrate and Release Incrementally

  • Commit coherent, reviewable changes
  • Use Continuous Integration (CI) to enforce quality gates
  • Deploy progressively when appropriate
  • Monitor errors, performance, and real-world behavior
  • Keep a clear path for rollback when a release causes problems

Small, verified releases make defects easier to identify and reduce the risk of large changes.

Step 7 — Learn and Improve

After implementation or release, review the results:

  • What failed or required rework?
  • What took longer than expected?
  • Which tests or checks missed a problem?
  • Which prompts, instructions, or engineering practices should change?

Use evidence from the development process and production behavior to improve the workflow over time.

Guiding Principle

Let AI accelerate implementation, but let specifications, tests, engineering judgment, and production evidence determine whether the software is good.

The process should be proportional to the project's complexity and the cost of failure. A prototype, a customer-facing SaaS application, and a safety-critical system do not need identical quality gates.