Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working on a "Spike" #34

Open
iteles opened this issue Nov 3, 2016 · 2 comments
Open

Working on a "Spike" #34

iteles opened this issue Nov 3, 2016 · 2 comments

Comments

@iteles
Copy link
Member

iteles commented Nov 3, 2016

I think this deserves a separate section as:
a) Less experienced developers don't tend to know what a spike is
b) It is, in my experience, something which has been treated with very little process and as a result, the information resulting from it is often not useable.

What?

A spike is a limited period of time (often between half a day and two days) during which you try a number of different methods to solve a problem, in order to determine what the best solution is. The code that you write during this time is not used directly in the project, but the lessons you learn are.

How to perform one?

  • Timebox your spike
  • Determine what the different methods you will try are
  • Start researching and trying these approaches outside of the main body of code
  • Document all of your steps as you go along - this is crucial, not only are you more likely to actually keep track of your findings this way, but you are also providing a very valuable resource of the journey you've taken for future developers who encounter the same issues
  • Determine which approach you will follow, throw the code away and open an issue in your project's repo so that you can begin the implementation.
@nelsonic
Copy link
Member

nelsonic commented Nov 5, 2016

@iteles an older example of a "Spike" we did is: https://github.com/dwyl/meteor-search

@nelsonic
Copy link
Member

Basic definition added to: https://github.com/dwyl/technical-glossary#spike via dwyl/technical-glossary#41

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants