IMO, that’s a sign of overthinking (and one thing I try hard to not get caught in). My process is usually:
- What am I trying to do?
- What data do I have available?
- Where do they come from?
- What operations can I use?
- What’s the final state/output?
Then it’s a matter of shifting into the formal space, building and linking stuff.
What I did observe is a lot of people hate formalizing their thoughts. Instead they prefer tweaking stuff until something kinda works and they can go on to the next ticket/todo item. There’s no holistic view about the system. And they hate the 5 why’s. Something like:
- Why is the app displaying “something went wrong” when I submit the form?
- Why is the response is an error when the request is valid?
- Why is the data is persisted when the handler is failing and giving a stack trace in the log?
- Why is it complaining about missing configuration for Firebase?
- …
Ignorance is te default state of programming effort. But a lot of people have great difficulty to say I don’t know AND to go find the answer they lack.