Full Walkthrough: An AI-Assisted Development Workflow from Requirements to Production

AI Engineer

Summary:

This workshop demonstrates a comprehensive AI coding workflow, emphasizing that software engineering fundamentals remain crucial when working with AI.

The key steps and concepts include:

  • Understanding LLM Constraints: Recognizing the "smart zone" and "dumb zone" of LLMs and the "Memento effect" (LLMs forgetting context) highlights the need for small, focused tasks.
    Smart Zone / Dumb Zone concept with 100K token limit for optimal LLM performance.
    Smart Zone / Dumb Zone concept with 100K token limit for optimal LLM performance. [ 00:04:10 ]
  • Grilling for Alignment: Using a "grill me" skill to collaboratively define ambiguous requirements into a clear Product Requirements Document (PRD) through iterative questioning, ensuring shared understanding with the AI.
    The prompt definition for the `/grill-me` skill, instructing the AI to interview the user relentlessly.
    The prompt definition for the `/grill-me` skill, instructing the AI to interview the user relentlessly. [ 00:12:24 ]
  • Vertical Slicing with Kanban: Transforming the PRD into a Kanban board of "tracer bullet" (vertical slice) issues, which traverse all system layers to enable early feedback and parallel development by AI agents.
    The "tracer bullet" approach advocates for vertical slices that cut across all system layers, enabling early integration and feedback.
    The "tracer bullet" approach advocates for vertical slices that cut across all system layers, enabling early integration and feedback. [ 00:43:57 ]
  • AFK Implementation with TDD: Running autonomous AI agents (AFK) to implement tasks using Test-Driven Development (TDD), ensuring robust code with continuous feedback loops from tests and type checks.
    The prompt for the AFK (Away From Keyboard) agent, outlining task prioritization.
    The prompt for the AFK (Away From Keyboard) agent, outlining task prioritization. [ 00:56:06 ]
  • Codebase Architecture for AI: Designing "deep modules" with simple interfaces and rich internal functionality to make the codebase more testable and easier for AI to work with, avoiding "shallow modules."
    The concept of "deep modules," which have simple public interfaces but encapsulate complex internal functionality, making them easier for AI to manage and test.
    The concept of "deep modules," which have simple public interfaces but encapsulate complex internal functionality, making them easier for AI to manage and test. [ 01:18:06 ]
  • Human QA and Automated Review: Maintaining human-in-the-loop quality assurance and incorporating automated code reviews to maintain taste and coding standards.
    A comprehensive flow diagram illustrating the full lifecycle of AI-assisted development.
    A comprehensive flow diagram illustrating the full lifecycle of AI-assisted development. [ 01:01:28 ]

Introduction to AI Coding Workflow [00:00:15]

Matt Pocock introduces the concept that while AI represents a new paradigm in software development, fundamental software engineering principles remain essential when working with AI. He emphasizes that practices crucial for human collaboration also apply to AI. The workshop aims to guide participants through an AI-assisted development lifecycle, from ambiguous requirements to production features, focusing on these enduring principles.

Understanding LLM Constraints [00:03:00]

The speaker highlights two main constraints when working with Large Language Models (LLMs):

Phase 1: Turning Ambiguous Requirements into a Product Requirements Document (PRD) [00:11:08]

This phase focuses on achieving a shared understanding with the AI before any coding begins. The demo uses the Cadence course management platform.

The Cadence course management platform, which serves as the application for feature development.
The Cadence course management platform, which serves as the application for feature development. [ 00:11:51 ]

Phase 2: Breaking Down PRDs into Actionable Tasks (Kanban Board) [00:39:38]

This phase focuses on structuring the work for efficient AI execution.

Human-in-the-Loop (HITL) multi-phase plan, where large tasks are broken into smaller, individually executed "smart zone" phases.
Human-in-the-Loop (HITL) multi-phase plan, where large tasks are broken into smaller, individually executed "smart zone" phases. [ 00:40:06 ]

Phase 3: AI-Assisted Implementation (AFK Agent) [00:53:51]

This is the phase where the human largely steps back, and AI handles the coding.

A comprehensive flow diagram illustrating the full lifecycle of AI-assisted development.
A comprehensive flow diagram illustrating the full lifecycle of AI-assisted development. [ 01:01:28 ]

Phase 4: Human Quality Assurance (QA) and Code Review [01:09:12]

Even with autonomous agents, human oversight is non-negotiable.

Codebase Design for AI Effectiveness [01:14:10]

The underlying codebase architecture significantly impacts AI's ability to perform well.

Parallelization with Sandcastle [01:29:50]

For scaling AI-assisted development, parallelization is key.