dwyl / dwyl/contributing

Working on a "Spike"

Open
#34 2 comments 1 reaction 0 assignees View on GitHub
discuss enhancement help wanted question
Dominant language
No language data
Stars
91
Forks
9
PR merge metrics
No merged PRs in 30d

Description

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
+ A good example of doing this is https://github.com/dwyl/learn-nightwatch/issues/8
+ 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.