I'm fairly new to this process myself but I'm finding the trick is to keep your designs extremely clean and easy to mentally model using types you can reason about. Then your software's features can emerge as interactions between "systems". That way (along with many other benefits) there's less to remember as you start coding. I find this post from the other day explains the principle better than I can: https://danshumway.com/blog/design-is-implementation/
[edit] not that that is necessarily how Fogleman does it. It just helps me.
[edit] not that that is necessarily how Fogleman does it. It just helps me.