This post was inspired by my reply/comment to a LinkedIn post by Will Borici (Senior Consultant - Platform Strategy | Business Architecture (Data/AI-enabled); NTT DATA, Inc.)
![]() |
| [image credit: Vilkasss on pixabay dot com] |
Over
the weekend, I decided to get started building a piece of software that
I have long wanted, and needed. In the past, I have used one
commercially available software utility – but it was acquired, and is no
longer available. Then I switched to using an open source utility – but
it is no longer maintained.
So, I decided to begin.
But, beginning does not mean immediately writing code.
I
had some very clear thoughts on what I wanted the software to do, but I
wanted to explore the requirements, use cases, and design first.
So, I began drawing diagrams.
Diagrams
allowed me to see layers of complexity – that if I had simply started
coding – would have constrained, or made more difficult, implementing
layers of features I *discovered* that I really wanted.
The
more I drew, the more my vision became clearer, crisper, tangible.
Reflecting on the diagrams - helped me to see which features to build
first, and ways of making it more useful to others.
And, I was reminded, yet again ...
Drawing is a goodness, not a waste.
Even if the diagrams are thrown away, eventually.
Even if the diagrams are no longer maintained.
The diagrams are part of the process in creating great software products.
