When it comes to the best way to develop software, I’m always struck by the sheer magnitude of all the different methods. Still, there are some ground rules that always apply. At SIG, we’ve captured them in a scientifically-tested model, which we update every year to keep pace with the developments in the world.
Still, we sometimes get the argument that duplicating code isn’t a bad thing, as it makes it a lot easier to do things independently. By the way, that’s correct (and that’s the problem).
When thinking about the topic, a recent visit to good friends of ours came to mind. For their respective birthdays, we gave them two nice books, which is a long-standing tradition between us. The books had very contrasting covers, which got us to talking about the subject of book covers. And then I noticed their bookshelf was very neatly organized by color. All blue books were next to the green ones, then the yellow, the red, and the purple, like a rainbow of knowledge. And please understand, these are hundreds of books I’m talking about here – we’ve known them for a very long time, our tradition of gifting books is long-standing, as mentioned above, and they have many more friends. The book display really looked magnificent (not too surprising, considering that one of them has a designer background).
Trouble is, of course, that you never look to read a blue book, or think to yourself, “This evening, I feel like reading a dark green book!” People can feel very lucky that libraries haven’t organized their books this way. Just imagine a librarian telling you, “A book by Darwin, you’d like? Well, there’s his original work, On the Origin of Species, that’s brown and therefore on the 3rd floor. But his biography is blue, so that’s on the 8th.” So off you go, finally finding a red book on evolution by Darwin in the basement, after three hours of looking.
For those in software development, they may recognize this librarian as that one experienced person who has been developing the strangely organized code for the last 20 years.
When it needs to be beautiful, you can choose any direction art takes you. When it needs to be practical, you need to follow certain rules. Nice thing is, that can be beautiful too; it typically is. If you need any assistance making your software look beautiful, my colleagues and I are ready to help.