29 Aug 2013 Skud   » (Master)

What is a spike?

There was some discussion on the Growstuff IRC channel last night, while I was asleep, about the term “spike”. I use it a bit on the Growstuff project but I don’t think everyone knows what I’m getting at, possibly because I picked it up by osmosis from the Extreme Programming community over a decade ago, and the term’s fallen out of favour since then. So here’s a quick definition as I use it:

  • A spike is experimental. It’s for writing something you’ve never written before, and don’t quite know how to start.
  • A spike is a learning exercise. The goal isn’t to write a new feature. The goal is to get enough knowledge to know that you can write that feature.
  • A spike is a conversation-starter. It moves abstract “maybe we could…” conversations into the concrete.
  • A spike may not follow coding standards. You don’t even know this thing is possible. It’s pretty hard to write tests first in that situation.
  • A spike is thrown away when you’re done. It gives you enough to say “okay, we know this is possible”, and then go and write it properly.

Syndicated 2013-08-29 00:22:18 from Infotropism

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!