A few months ago, I decided to start a little after-hours for fun project. I decided that I want to do this in Java, so opened up Eclipse, started creating classes, methods, tests, etc, and hoped that everything I did would eventually work up to something absolutely beautiful. Few weeks later of this, I got stuck, and I get over it.
A few weeks later, I decided to restart making the application, writing it in C# because its a language I’m familiar with. So I opened Visual Studio, started creating classes, methods, tests, etc and hoped that everything I did would eventually work up to something absolutely beautiful. Two weeks after this, I got stuck, and I got over it.
About a month later, I picked up the book Code Complete and started reading this. The writers talked about the importance of requirements and documenting requirements. And this is what I started to do. Write down what I want this thing to do. What I want it to look it. Detail of the specific features. Then start developing.
As a developer who also indulges in a few artistic pursuits such as graphic design, photography, playing music instruments and the like, one would feel that it would be similar: get to my PC, start writing in a cabin in the middle of the forest, and in the end, I’ll have a piece of art.
This doesn’t happen.
Without a roadmap, you get lost. Or end up where you don’t want to go (even if you don’t know where you want to go).
The documentation takes time. The thought of it is like the thought of [insert something discomforting but later enjoyable]. But as I’ve been doing it, crafting what I want the final product to look at, it has been like working on a piece art.