Nick Bradbury, one of the great programmers that I know, has a post up about his approach to working out new ideas. He also has a few hints about things he’s playing with for the next version of FeedDemon. I’ve gotten to know Nick over the past year or so since NewsGator acquired Nick’s company and love his style and his products (I use FeedDemon all day long on several machines – it’s my primary newsreader.)
Back when I was one of the world’s best Basic programmers (self proclaimed, although my partner at the time liked to remind me of this random outburst on a regular basis), I used a very similar approach – just start coding for a while, bang into some of the real issues, and – when I feel like I’ve figured out the right approach, but well before I’ve put the final touches on everything, throw it all away and do a design / code process. As I’ve been able to work with some great software developers (and plenty of not so great ones) over the past twenty years as well as helped build companies like Rally Software that are working hard to help spread new approaches like Agile Software Development, I’ve seen – over and over again – that there there are a few key techniques that make all the difference in the world, especially early in the design phase of a new project or feature set.