The discovery record would be stronger if representative scenarios included negative space: actions that must remain unavailable, not only workflows that should still succeed. In the training example, preserving the visible course list is insufficient if the new backend also accepts direct enrollment into a course the user was never eligible to see.
I would pair each allowed scenario with a nearby disallowed one and agree which differences are intentional before migration. During coexistence, run both against the old and new paths using equivalent starting state. That turns stakeholder approval into a testable boundary and catches a replacement that looks correct on screen while quietly broadening what users can do.
100% - Do's and Donts go hand in hand are equally important. In my head, when breaking down a screen into what it cant or cannot do is just a feature list. I never looked at it from this POV. I will be mindful of it, thanks for observing.
The useful distinction is that a feature list names capabilities, while a negative scenario names the state that must remain unchanged when someone attempts a disallowed action. That makes the boundary observable across the replacement.
For the enrollment example, I would check the denial response and then read the enrollment state through an independent path. A replacement can display an error after already creating the record. Keeping that post-denial state assertion alongside the allowed enrollment case turns the do-and-don't list into a migration acceptance test.
Ahmet Özel
AI Engineer. Computer Vision, RAG and LLM agents.
The discovery record would be stronger if representative scenarios included negative space: actions that must remain unavailable, not only workflows that should still succeed. In the training example, preserving the visible course list is insufficient if the new backend also accepts direct enrollment into a course the user was never eligible to see.
I would pair each allowed scenario with a nearby disallowed one and agree which differences are intentional before migration. During coexistence, run both against the old and new paths using equivalent starting state. That turns stakeholder approval into a testable boundary and catches a replacement that looks correct on screen while quietly broadening what users can do.