art and programming Hans Nowak referred to yesterday's post, and wonders if it could be applied to the "agile" vs. "design everything first" schools of programming. I certainly thought about that kind of thing when I was writing it. When working on my own stuff, it's way too easy to get into an "analysis paralysis" condition where nothing actually gets produced. That's one of the sorts of situations where you just have to push through. It's like trying to completely define a trip or vacation before you take it. It's possible, and it may be the way you like to do things, but how can you know what you are going to see or do until you get there? It's good to plan, it's good to have an idea of what you want, but once you start on the journey, if you stay open to possibilities as they present themselves, you are likely to have a better time than you imagine. Heck, even the bad times serve as lessons and fodder for funny anecdotes. Feel free to completely define what your project (coding or otherwise) is going to be. But if you are not open to taking advantage of new ideas and new directions as they present themselves, you are going to miss out on the best parts. You will lead a boring life if all you ever experience are only those things of which you can concieve. On the other hand, if you never finish the story/article/program/piece, if you never give it up to the world, you will also miss out. There is a balance between exploration and culmination, and it's important to always keep an eye on the goal. You may have to keep re-evaluating what that goal is, but you should always have one. If you are the only one who ever sees or uses your creation, you will fall prey to a form of solipsism, and will never benefit from the feedback from people other than yourself.
Now, stop reading blogs and get going. |