30 Mar 2018 , tagged: Productivity, Software Development, Test Driven Development

Inspiration and Action

I’m currently re-reading Growing Object-Oriented Software, Guided by Tests, and this quote really spoke to me:

We should be taught not to wait for inspiration to start a thing. Action always generates inspiration. Inspiration seldom generates action.

– Frank Tibolt

I think of myself as a perfectionist, the kind of person that hates to produce anything short of flawless. And while this is great quality to have because it drives me to improve and progress, it’s also incredibly crippling and frustrating. I’ve often noticed that while I had great ideas, I would often fail to implement them because I would try to over engineer my approach so it would solve everything perfectly. Obviously, many of these ideas and projects never went anywhere. But then on the contrary, ideas where I just started hacking something together often went much further and produced something usable and new.

Frank Tibolt’s quote speaks so much to me because it encapsulates the whole idea so well – if you just think about this great idea you have, then you’re not going to achieve much. But if you start doing things, you’ll get somewhere. Maybe not where you want to get to, but you’ll have something. And something’s better than nothing (or just an idea for that matter).

And interestingly even if you have no inspiration at all, just going ahead and doing something often leads to inspiration to do other things. If I don’t feel like doing anything, for example on a weekend morning, I’ll start by doing little things: do the dishes, clean the kitchen, make the bed, etc. And before I know it, I’m reading, programming, organizing. Another nice benefit of this is that when Sunday night eventually arrives, I don’t feel like I wasted a weekend.

The underlying idea, that action generates inspiration, is interesting because it shows up in different variations:

  • I like to think of the idea of short feedback loops in software development (or Agile, agile?) as a variation or at least an enabler: a short feedback loop enable action. You can do things, and you don’t have to think about how to do it perfectly.
  • The test driven mantra of test first. Aside of the obvious benefits, writing a test first is an action that gets your mind going. You can do it almost mechanically and you’re already started on the bug you’re trying to squash or the feature you’re trying to add.
  • Default to creating, not consuming. If I spend lots of time just consuming media, I might learn new things, but it leaves me unaccomplished because at the end of the day I haven’t done much at all.

Some of these thoughts might be a stretch, I think they hold some truth. I made my bed this morning and already wrote this blog post. So make sure you make your bed.

comments powered by Disqus