Use the Mikado Method to do safe changes in a complex codebase
https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/In other words, I'd reword this to using the Mikado method to understand large codebases, or get a first glimpse of how things are connected and wired up. But to say it allows for _safe_ changes is stretching it a bit much.
It gives a great way to visualise the work needed to achieve a goal, without ever mentioning time.
I have this configured to feed in to an agent for large changes. It’s been working pretty well, still not perfect though… the tricky part is that it is very tempting (and maybe even sometimes correct) to not fully reset between mikado “iterations”, but then you wind up with a messy state transfer. The advantage so far has been that it’s easy to make progress while ditching a session context “poisoned” by some failure.
I think there are similar methods, such as nested todo-lists. But DAGs are exceptionally good for this use case of visualising work (Mikado graphs are DAGs).
Using a programming language that has a compiler, lucky.