AgileWarsaw: Spikes

1,919 views

Published on

How to deal with unknown technologies and research tasks in an Agile project.

From AgileWarsaw, June 14, 2010

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,919
On SlideShare
0
From Embeds
0
Number of Embeds
307
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Mateusz srebrny - Dziekuje organizatorom Mam szerzyc nowe trendy – opowiem jak scrum zachowuje się na styku miedzy klientem a dostawca Przy czym nie bede robil ogolnego wstepu do scruma, zakladam, ze nazwe przynajmniej wszyscy znaja. Opowiem o paru elementach, samych w sobie godnych uwagi analogia ze princowym srodowiskiem klient-dostawca, ktora bede probowal naszkicowac, sprowadza sie wlasnie do lekkosci – scrum pozostawia wszystko komunikacji w ramach kliku technik czy konceptow, co w porownaniu z ponad 40toma procesami princa zaklada duzo mniejszy narzut organizacyjny I formalny
  • .(1) A wiec na poczatek opowiem troche o sobie, samym scrumie I zwiazku miedzy nami . Potem pokaze pare technik, artefaktow uzywanych w scrumie do komunikacji miedzy kliemtem a dostawca . Na koniec krotkie podsumowanie
  • (2) Informatyk, zarzadzanie od 3 lat . To co bede mowil oparte jest na moich doswiadczeniach z prowadzenia zespolu... projekt skomplikowany (historyczne zaszlosci, oraz skala 2M uzytkownikow) Skad pojawil sie Scrum? Otoz, gdy zaczynalismy, firma byla mloda, rok wczesniej przeszla z jednoosobowej w organizowanie wiekszej struktury Nie bylo za duzo kompetencji odnosnie zarzadzania IT, trzeba bylo eksperymentowac, dzialac intuicyjnie . Po pol roku uznalismy, ze to nie dziala tak sprawnie jak bysmy chcieli I zdecydowalismy sie siegnac do promowanego przez Google I Microsoft Scruma. . Nazwa pochodzi od wlasnie takiej formacji w rugby, analogia zespolu scrumowego I rugbowego
  • AgileWarsaw: Spikes

    1. 1. Spikes <ul>Mateusz Srebrny < [email_address] > Agile Warsaw June 14, 2010 </ul>
    2. 2. Overview <ul><li>Introduction
    3. 3. Unknown technologies and research
    4. 4. Spikes in XP
    5. 5. Spikes in my team
    6. 6. Spikes in another team
    7. 7. Spikes in your teams? </li></ul>
    8. 8. Introduction <ul><li>Non-coding scrum master
    9. 9. Redesign and scaling-out of the server-side infrastructure of the biggest polish instant messenger (over 2M peak concurrent users)
    10. 10. 3 years, a small team of developers
    11. 11. Scrum after half a year
    12. 12. R&D project </li></ul>
    13. 13. And you? <ul><li>How many of you work in an Agile way?
    14. 14. How many of you develop the code?
    15. 15. How many of you lead your teams?
    16. 16. How many of you heard of spikes? </li></ul>
    17. 17. Agile design ideals <ul><li>Architecture magically emerges
    18. 18. Daily face-to-face designing
    19. 19. No change-hampering documents
    20. 20. But...
    21. 21. … life tends to get more complicated </li></ul>
    22. 22. Unknown technologies and research <ul><li>Sometimes you need: </li><ul><li>to choose between two new technologies
    23. 23. to learn something about the subject first
    24. 24. to do something extremely unique </li></ul><li>Problems: </li><ul><li>research takes a lot of time
    25. 25. the research time estimation?
    26. 26. the output of the research? </li></ul></ul>
    27. 27. Spikes and XP <ul><li>XP @ wikipedia: </li><ul><li>Development can also create spike solutions to analyse or solve the problem.
    28. 28. These solutions are used for estimation and discarded once everyone gets clear visualization of the problem. </li></ul></ul>
    29. 29. My spike understanding <ul><li>Put a time-box around research task
    30. 30. Specify the required output: </li><ul><li>Working prototype
    31. 31. Decision-making session
    32. 32. List of questions to be answered
    33. 33. Design sketch </li></ul></ul>
    34. 34. Spikes in my team <ul><li>Backlog items preplanned for two, three sprints
    35. 35. Three day-long two-people spikes per sprint
    36. 36. No backlog item for spikes
    37. 37. The output – team meeting with interested parties </li><ul><li>Product Owners
    38. 38. available domain experts
    39. 39. interfacing team members </li></ul></ul>
    40. 40. Spikes in my team – spike meetings <ul><li>Research details
    41. 41. Usually a couple of options for implementation </li><ul><li>Sometimes ready to implement
    42. 42. Sometimes needed some ad-hoc modifications
    43. 43. Sometimes needed another spike </li></ul><li>Never failed to deliver something of value </li></ul>
    44. 44. Spikes in my team – summary <ul><li>Never more than three spikes on a subject
    45. 45. Estimated within focus factor – the same amount of research work every sprint
    46. 46. The need to facilitate the spike meeting
    47. 47. Bonus value: </li><ul><li>Inclusion of less experienced in the research
    48. 48. People from other teams help with the quality...
    49. 49. … and spread the info about the interesting things going on within the team </li></ul></ul>
    50. 50. Spikes in my team – discussion <ul><li>What do you think? </li></ul>
    51. 51. Spikes in another team <ul><li>Research backlog item – 'X – analysis'
    52. 52. The research tasks: </li><ul><li>Check up technologies Y, Z
    53. 53. Discuss with relevant people A, B
    54. 54. Produce a proof of concept </li></ul><li>Estimation just like with other backlog items </li></ul>
    55. 55. Spikes in another team - meeting <ul><li>After the research tasks were completed – a meeting of all involved developers
    56. 56. Meeting goal: </li><ul><li>Break-up the researched feature into development tasks </li></ul><li>The development tasks presented during a sprint planning session
    57. 57. The time for this meeting included in the sprint time consumption estimates </li></ul>
    58. 58. Spikes in another team - discussion <ul><li>What do you think? </li></ul>
    59. 59. Research outside the sprint <ul><li>There was some research done without spikes </li><ul><li>By a new team member
    60. 60. In a holiday season
    61. 61. Analysis before the actual project start </li></ul></ul>
    62. 62. My spike understanding <ul><li>Put a time-box around research task
    63. 63. Specify the required output: </li><ul><li>Working prototype
    64. 64. Decision-making session
    65. 65. List of questions to be answered
    66. 66. Design sketch </li></ul></ul>
    67. 67. Reference <ul><li>http://en.wikipedia.org/wiki/Extreme_programming_practices
    68. 68. http://www.extremeprogramming.org/rules/spike.html
    69. 69. http://blog.agilebuddy.com/2009/11/what-is-a-spike-in-scrum.html
    70. 70. More discussion? </li></ul>
    71. 71. :) <ul><li>Thank you.
    72. 72. Let the informal session start. </li></ul>
    73. 73. Agile Manifesto <ul><li>Individuals and interactions over processes and tools
    74. 74. Working software over comprehensive documentation
    75. 75. Customer collaboration over contract negotiation
    76. 76. Responding to change over following a plan
    77. 77. That is,
    78. 78. while there is value in the items on the right,
    79. 79. we value the items on the left more. </li></ul>

    ×