In this blog post, I demonstrate a hands-on example of using AI tools with a legacy technology system to build the foundation for a modern software solution.

This is the SpecOps method in practice.

https://spec-ops.ai/blog/posts/reverse-engineering-legacy-app/

Using AI to Reverse-Engineer a Legacy Application into a Modern Software Specification

How we used AI to extract a complete specification from a 25-year-old Microsoft Access application, producing 13 modular documents in roughly 4–5 hours of collaborative work.

@mheadd I'm interested in whether you'll be able to demonstrate multiple test-passing versions based on different stacks from the same spec. And from there, I'll be very interested in the usability of the resultimg implementations, and how/if that can also be tackled with AI and incorporated into the spec, with the downstream versions regenerated.

Also: Has it occurred to you yet that this is "what if waterfall, but the cost of development/change was zero"? 😉

@mogul I talk a lot in the book about iterative use of the SpecOps approach. There is some discussion of that here, but its expanded on in the book (I can send a copy if you like).

https://github.com/spec-ops-method/spec-ops/discussions/2

I don't do hands off, one-shot, YOLO development with AI tools and I don't recommend that others do so either. Particularly not for replacing existing legacy systems.

Isn't SpecOps Just Waterfall? (Spolier alert: No) · spec-ops-method spec-ops · Discussion #2

The Observation "SpecOps seems to require documenting everything upfront before you can start building. Isn't that just waterfall methodology with a new name? We've moved past that for good reasons...

GitHub

@mheadd Right, I get it, and I understood the difference immediately. It's more about recognizing that AI makes this more practical than in the past by bringing the cost of iteration down. I'm glad you're being explicit about that.

(That said, the AI-generated text there is exhausting to read... Endless bulleted lists, and generated headings like "The [noun]: [phrase]".)

@mogul That's fair. I opted for letting it embrace thoroughness and then focused on distilling it downstream.