Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In some software development methodologies, "spike" is a task whose goal is figuring something out instead of delivering shippable code. https://agiledictionary.com/209/spike/


TIL that agile has its own words for everything.


That was a thing in the early 2000's. You had to have a blog and invent words that describe regular things everyone did.


Why can't they call it a prototype or experiment? Sheesh.


Prototype is usually something working, while spike can be pure research (e.g. validate that APIs are feasible and enough, or that something satisfies requirements). Prototype is usually more polished/usable. Experiment in my mind is something which user-facing but not in stable yet.

So for me they are differentiated enough, but could be that I am just used to it.


An experiment doesn’t say anything about user facing or not. I do tons of them when reverse engineering poorly documented hardware and APIs to determine if the thing I’m trying to do is even supported.


In general, yes, but I would say "experimental features" is a pretty widely used term, so in my mind the association with something user facing is strong.


"Spike" comes from Extreme Programming where it means specifically code written without TDD. Code that wasn't written against a pre-existing test is by definition broken, and should not go into production. So you create a simple "spike solution" to explore the problem space, so called because it cross-cuts concerns like a spike going through wood or something, I dunno.

Spikes are explicitly time-boxed to keep the team focused on the red-green-refactor churn which is the software engineering process in XP.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: