TL;DR Build a working model first. Optimize and refine later.
I’ve been reading alot of technical stuff lately. I’ve also been working on a couple of interesting projects. I’ve come to appreciate the inherent idea of building things that work, not perfect things. For most of us, we want to have that perfect “something”. That “something” may be a product, a system, a website, an app, an animation, some software, some code, you name it. Well, unfortunately, reality is… reality, and it’s not perfect. When working on something, you first work on something that works. You then later on refine and adapt the working product until it becomes good enough. Many things have been built that way. Analysis and any other fancy things come after the working model has been built. Otherwise, a lot of time will be wasted on details that might end up becoming obsolete in the grand scheme of things.