Before you play two notes learn how to play one note—and don’t play one note unless you’ve got a reason to play it. - Mark Hollis
This quote from Mark Hollis has always left a deep impression on me as I have approached both software development and songwriting. I have found it to be quite true that with either discipline, many times less can in fact be more (assuming of course that what you call “less” is actually any good to begin with).
While engaging in either software development or music composition I always attempt to keep this philosophy in mind. In song writing I find there is the temptation to add layer upon layer of sound in attempts to mask what is in reality a bad song. The same can happen in software development, where a flawed architecture is dressed up in a beautiful UI. At first it might look impressive but over time the cracks will form and you’ll be left with bad software that is unmaintainable.
It takes hard work to build a good foundation and much of that involves thinking and planning before you start to build anything. I think its this initial hard work that we want to avoid, but in doing so we end up making more work for ourselves in the long run. It might sound overly simplistic but it really comes down to just figuring out exactly what you want to build before you build it. It’s just like figuring out what note you want to play before you play it.