Skip to content

Practical use of AI/LLM

Refinement-First Processes for AI Development

Stacy Cashmore

Stacy Cashmore

Three decades of shipping software across industries gives Stacy stories worth hearing. She takes the stage to share what actually works — live code, hard-won lessons, and a genuine passion for helping teams build better. Recognised with a Microsoft MVP Award for Developer Technologies since 2020, she is also the author of Beginning Azure Static Web Apps, helping developers build dynamic applications using C#, Azure Functions, and Azure Static Web Apps.

"Yeah, yeah, but your scientists were so preoccupied with whether or not they could, that they didn't stop to think if they should." — Dr Ian Malcolm, Jurassic Park

True in 1993. True today. When developers boast about writing 37,000 lines of code in a day, the question that matters isn't "how much code did you write?" — it's "what problem did any of it solve?" Our job as developers is to solve problems, and volume without value is wasteful. To deliver high-quality code that actually solves the right problem, teams must shift from thoughtlessly generating code to a structured, refinement-first approach.

To scale this standard across an entire department, we built a two-stage process: refinement first, build second. Refinement takes a problem through hypotheses, an epic, features, and stories — each with its own prompt specialized to the task. And all before a line of code exists.

The prompts are passed to a set of specialized AI agents in Claude Code or Copilot for building, orchestrated with OpenSpec. In building there are also multiple agents that between them handle: architecture, API design, writing tests, reviewing tests, coding, documentation, or logging architectural decisions. And all this in a development environment designed to allow teams to work without interruptions – YOLO mode, safely.

This isn't the one true process; it's what works for us, refined through trial and error. Yours will look different. But the basics of it - refine before you build, and let AI specialise rather than generalise - will be a great base to start from.

In this session I'll walk the process end to end, showing the real artifacts it produces at each stage: the prompts, the cost of running it this way, and the times it's gone wrong and needed rework.

By the end, you'll have a concrete process you can adapt: how to structure refinement so AI doesn't just generate code, but high-quality code that solves the right problem — and an honest account of what it costs to run this way.