{"id":671,"date":"2020-02-10T19:54:57","date_gmt":"2020-02-10T19:54:57","guid":{"rendered":"https:\/\/www.danieledavi.com\/blog\/?p=671"},"modified":"2021-02-10T21:34:30","modified_gmt":"2021-02-10T21:34:30","slug":"spikes-101","status":"publish","type":"post","link":"https:\/\/www.danieledavi.com\/blog\/2020\/02\/spikes-101\/","title":{"rendered":"Spikes 101"},"content":{"rendered":"\n<p class=\"has-text-align-justify\">Scrum is often described as a very prescriptive framework despite this is not the case. Take for example the various type of backlog items that we are used to deal with in our favourite backlog visualisation tool. Some work with Epics and User Stories only, others use a mix of Stories and Tasks, others add bugs, improvements or other type of issues. <\/p>\n\n\n\n<p class=\"has-text-align-justify\">I found very useful to introduce and use Spikes with some of my teams. Yet, the scrum guide never explicit, favour or advocate any particular type. In Scrum a unit of increment is called Backlog Item. Yet is up to the team to find the best practices to implement. Scrum is open and incomplete on purpose, to let teams and organisations welcome or borrow concepts from other frameworks, methodologies, techniques. <br \/>Today I would like to introduce Spikes. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are Spikes?<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">Spikes are a type of exploration Enabler Story in Scaled Agile Framework (SAFe). Defined initially in Extreme Programming (XP), they are used to <strong>gain the knowledge necessary to reduce the risk of a technical approach<\/strong>, better understand a requirement, or increase the reliability of a story estimate. A spike has a maximum&nbsp;<strong>time-box<\/strong>&nbsp;size as the&nbsp;sprint&nbsp;the contains it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"m_3933771390064351887gmail-Why-to-use-Spike\">Why to use Spike?<\/h3>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Agile and Lean value facts&nbsp;over speculation.<\/strong> When faced with a question, risk, or uncertainty, Agile Teams&nbsp;conduct small experiments before moving to implementation, rather than&nbsp;speculate about the outcome or jump to a Solution. <br \/><strong>It is also important that teams plan for and allocate time for getting smarter. <\/strong>Agile teams use the term&nbsp;<em>spike<\/em>&nbsp;to refer to a time-boxed research activity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"m_3933771390064351887gmail-When-to-use-Spike\">When to use a Spike?<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">Sometimes the team is unsure if they can complete the story due to some potential blockers and probably can\u2019t even estimate the story. The Product Owner allocates a little bit of the team\u2019s capacity now, ahead of when the story needs to be delivered, so that when the story comes into the sprint, the team knows what to do.<\/p>\n\n\n\n<p>Here some good use case for when Spikes may be used:<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td>Conduct basic research to familiarise them with a new technology or domain<\/td><\/tr><tr><td>Some knowledge is needed to decide between different architectures.<\/td><\/tr><tr><td>Gain confidence in a technical or functional approach, reducing risk and uncertainty.<\/td><\/tr><tr><td>The team may not have knowledge of a new technology, and spikes may be used for basic research to ensure the feasibility of the new technology (domain or new approach).<\/td><\/tr><tr><td>Other examples of activities are: research, design, investigation, exploration, prototype, storyboard or some other partial solution to help drive the final results<\/td><\/tr><tr><td>A story requires to be implemented using a 3<sup>rd<\/sup>&nbsp;party library with API that is poorly written and documented.<\/td><\/tr><tr><td>The story may contain significant technical risk, and the team may have to do some experiments or prototypes to gain confidence in a technological approach that may allow them to commit the user story to some future time-box.<\/td><\/tr><tr><td>A Proof of Concept (POC) is requested to demonstrate a capability.<\/td><\/tr><tr><td>A decision needs to be done and documented to rule out some risks.<\/td><\/tr><tr><td>Estimate new&nbsp;Features and Capabilities to analyse the implied behaviour, providing insight about the approach for splitting them into smaller, quantifiable pieces.<\/td><\/tr><tr><td>Perform feasibility analysis and other activities that help determine the viability of epics.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"m_3933771390064351887gmail-Acceptance-Criteria\">Shall Spikes have ACs?<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">Just like any other ordinary user story, Spikes need fulfil some Acceptance Criteria to obtain the status of done by making sure that the \u201cSpike Story\u201d <strong>estimable<\/strong>, <strong>demonstrable<\/strong>, and <strong>acceptable<\/strong>.<\/p>\n\n\n\n<p><strong>Estimable<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">Like other stories, spikes are put in the backlog. A Spike does not usually receive a Story Point Estimate, but is given a fixed number of hours to be worked on. In any case, the spike should develop just the information sufficient to resolve the uncertainty in being able to identify and size the stories hidden beneath the spike.<\/p>\n\n\n\n<p><strong>Demonstrable<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">The output of a spike is demonstrated to the team in the Sprint Review. This brings visibility to the research and architectural efforts and also helps build collective ownership and shared responsibility for the key decisions that are being taken. Based on the new information, the original question is reframed as a new User Story in a future Sprint.<\/p>\n\n\n\n<p><strong>Acceptable<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">Like any other story, spikes are accepted by the product owner when the&nbsp;acceptance criteria&nbsp;for the spike have been fulfilled.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Takeaways<\/h2>\n\n\n\n<ul><li>Scrum doesn&#8217;t prescribe any particular type for Backlog Items.<\/li><li>It is up to the team to decide wether they find any value in using Spikes.<\/li><li>Spikes are investigation activities (such as research, design, investigation, exploration, prototyping) to gain the knowledge to solve a problem.&nbsp;They produce information, rather than working code. <\/li><li>Spikes are time-boxed; shall have ACs; must be estimable, demonstrable, and acceptable.<\/li><\/ul>\n\n\n\n<p>In my <a href=\"https:\/\/www.danieledavi.com\/blog\/2020\/02\/spikes-102\/\" target=\"_blank\" rel=\"noreferrer noopener\">next article<\/a> I will deep dive on some aspects around Spikes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Scrum is often described as a very prescriptive framework despite this is not the case. Take for example the various type of backlog items that we are used to deal with in our favourite backlog visualisation tool. Some work with Epics and User Stories only, others use a mix of Stories and Tasks, others add [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[263],"tags":[252,291,253,289,292,288],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p90hsv-aP","jetpack-related-posts":[{"id":673,"url":"https:\/\/www.danieledavi.com\/blog\/2020\/02\/spikes-102\/","url_meta":{"origin":671,"position":0},"title":"Spikes 102","author":"Daniele Dav\u00ec","date":"February 11, 2020","format":false,"excerpt":"In my previous article \"Spike 101\" I introduced the concept of Spike and it's general use in Agile. In that article we saw that: Spikes are investigation activities -e.g: research, design, investigation, exploration, prototyping- to gain the knowledge to solve a problem.\u00a0As Scrum doesn\u2019t prescribe any particular type for Backlog\u2026","rel":"","context":"In &quot;Agile&quot;","block_context":{"text":"Agile","link":"https:\/\/www.danieledavi.com\/blog\/category\/agile-2\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":734,"url":"https:\/\/www.danieledavi.com\/blog\/2021\/10\/no-time-for-agile-meetings\/","url_meta":{"origin":671,"position":1},"title":"No time for agile meetings","author":"Daniele Dav\u00ec","date":"October 23, 2021","format":false,"excerpt":"One of the most recurring topics in many organizations is time spent on meetings.\u00a0If you are a Scrum Master, you may find yourself rolling your eyes like in a Robert Downey Jr meme and you wish you would get a euro for every time you hear someone saying in agile\u2026","rel":"","context":"In &quot;Agile&quot;","block_context":{"text":"Agile","link":"https:\/\/www.danieledavi.com\/blog\/category\/agile-2\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2021\/03\/Again.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":504,"url":"https:\/\/www.danieledavi.com\/blog\/2019\/12\/update-yourself\/","url_meta":{"origin":671,"position":2},"title":"Update yourself","author":"Daniele Dav\u00ec","date":"December 18, 2019","format":false,"excerpt":"A manifesto for Scrum adoption in your life. By Johanna Pung made this for Wikimedia Deutschland - Wikimedia Deutschland, CC BY-SA 3.0, https:\/\/commons.wikimedia.org\/w\/index.php?curid=19189236 Assuming you already heard about Agile, Scrum, Sprints and Retrospectives. As in any scrum team, the iterative and incremental process culminate in a retrospective, where members receive\u2026","rel":"","context":"In &quot;Agile&quot;","block_context":{"text":"Agile","link":"https:\/\/www.danieledavi.com\/blog\/category\/agile-2\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2019\/12\/Evolution-des-wissens.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2019\/12\/Evolution-des-wissens.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2019\/12\/Evolution-des-wissens.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2019\/12\/Evolution-des-wissens.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2019\/12\/Evolution-des-wissens.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2019\/12\/Evolution-des-wissens.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":462,"url":"https:\/\/www.danieledavi.com\/blog\/2020\/02\/run-daily-scrum-like-a-pro\/","url_meta":{"origin":671,"position":3},"title":"Run daily Scrum like a pro","author":"Daniele Dav\u00ec","date":"February 13, 2020","format":false,"excerpt":"The daily scrum is the heartbeat of a scrum team.As Scrum is a compression algorithm for organizational and engineering best practices, this meeting is not a Scrum invention but it is considered an Agile best practice independently from the adopted framework. It is also known as StandUpMeeting (1993 Jim Coplien),\u2026","rel":"","context":"In &quot;Agile&quot;","block_context":{"text":"Agile","link":"https:\/\/www.danieledavi.com\/blog\/category\/agile-2\/"},"img":{"alt_text":"daily plank","src":"https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2021\/03\/daily_plank.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2021\/03\/daily_plank.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.danieledavi.com\/blog\/wp-content\/uploads\/2021\/03\/daily_plank.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":555,"url":"https:\/\/www.danieledavi.com\/blog\/2020\/07\/is-your-team-doing-scrum\/","url_meta":{"origin":671,"position":4},"title":"Is your team doing Scrum?","author":"Daniele Dav\u00ec","date":"July 26, 2020","format":false,"excerpt":"There many tools and checklists to verify wether your team is doing Scrum and how good (or or bad or ugly) is implementing it. If you are a Scrum Master, self-assessing the following statements from 1 (strongly disagree) to 5 (strongly agree) can help you to make a reality check\u2026","rel":"","context":"In &quot;Agile&quot;","block_context":{"text":"Agile","link":"https:\/\/www.danieledavi.com\/blog\/category\/agile-2\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":946,"url":"https:\/\/www.danieledavi.com\/blog\/2022\/03\/does-agile-work-and-who-should-answer-the-question\/","url_meta":{"origin":671,"position":5},"title":"Does Agile work? And who should answer the question?","author":"Daniele Dav\u00ec","date":"March 29, 2022","format":false,"excerpt":"Before revealing the answer to these million dollar questions, in this article I will try to clean up some misconceptions and cover some basis on the role of an Agile coach (Scrum Master). As explained by Lyssa Adkins (co-author of the Agile coaching competency framework) there is no hierarchy or\u2026","rel":"","context":"In &quot;Agile&quot;","block_context":{"text":"Agile","link":"https:\/\/www.danieledavi.com\/blog\/category\/agile-2\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"amp_validity":null,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/posts\/671"}],"collection":[{"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/comments?post=671"}],"version-history":[{"count":3,"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/posts\/671\/revisions"}],"predecessor-version":[{"id":676,"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/posts\/671\/revisions\/676"}],"wp:attachment":[{"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/media?parent=671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/categories?post=671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.danieledavi.com\/blog\/wp-json\/wp\/v2\/tags?post=671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}