19 March 2024

Scrum and Technical Practices : Spike

Spike definition

  • A spike is an investment to make the story estimable or schedule-able.
    • A spike is a product development method originating from Extreme Programming (XP) that uses the simplest possible program to explore potential solutions.
    • A Spike is a story or task aimed at answering a question or gathering information, rather than at producing shippable product.
    • A spike is an experiment which enables Developers to estimate the user story by giving them enough information about the unknown elements of the same story.

Spike purpose

  • It is used to determine how much work will be required to solve or work around a software issue.
    • Typically, a “spike test” involves gathering additional information or testing for easily reproduced edge cases.
    • The term is used in agile software development approaches like Scrum or Extreme Programming (XP).

Spike and Risks

  • The nature of Agile development is characterized with uncertainties and risks.
    • The team determines the right solution through hours spent in discussion, collaboration, experimentation, and negotiation.
    • So, every user story has a spike-like structure which helps in identifying the technical and functional risks.
  • The ultimate goal of the Agile team is to be able to address uncertainty in each iteration.
    • Spikes are good, but when there is a high uncertainty they can be critical.

Spike practice

  • In practice, the spikes teams take on are often proof-of-concept types of activities.
    • The definition above says that the work is not focused on the finished product.
    • It may even be designed to be thrown away at the end.
    • This gives your Product Owner the proper expectation that you will most likely not directly implement the spike solution.

Spike redaction

  • In order to need to …
  • Example: In order to split the collection curve wizard story, the tech lead needs to do some detailed design. (Just enough to split the story.)

Spike types

  • There are three types of Spikes :
    • architectural,
    • technical,
    • and functional.

Spike synonyms

  • There are many synonyms for spike such as :
    • Knowledge Acquisition
    • Research
    • Proof‐of‐Concept

Technical spikes and Functional spikes

  • A distinction can be made between technical spikes and functional spikes :
  • The technical spike is used more often for evaluating the impact new technology has on the current implementation.
  • A functional spike is used to determine the interaction with a new feature or implementation.

Scrum and Technical Practices : Architectural Spike

Scrum and Technical Practices : Functional Spike

Scrum and Technical Practices : Spikes, estimation and time-boxing

More informations for the Scrum PSD certification here.

Leave a Reply

Your email address will not be published. Required fields are marked *