Adopting Scrum

9,049 views
8,844 views

Published on

Adopting Scrum

Published in: Technology, Business
0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,049
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
Downloads
680
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Adopting Scrum

  1. 1. Agile Software Development: Adopting SCRUM A short version of a two-day class Details are available at www.scrumguides.com Lviv, 8 Feb 2008 © SCRUMguides www.scrumguides.com Alexey Krivitsky, Tim Yevgrashyn
  2. 2. Who We Are? Ukrainian Agile community www.agileukraine.org SCRUM trainings and coaching www.scrumguides.com SCRUM Certifications (CSM) www.scrum.com.ua Agile Software Development: Adopting SCRUM 2 ©SCRUMguides
  3. 3. Our Ground Rules: Can we all agree on this please? No Laptops yes we know how hard it is … ☺ Cell phones on silent mode if you need to talk, please leave the class for a while Be active, participate use our knowledge and your time to maximize your returns Don’t interrupt each other one dialog per time Learn by asking questions we promise to address all your questions Thank You! Agile Software Development: Adopting SCRUM 3 ©SCRUMguides
  4. 4. What’s in it for you? Who of you has been using SCRUM? Who of you is going to use SCRUM? Who of you is never going to use it? :) Agile Software Development: Adopting SCRUM 5 ©SCRUMguides
  5. 5. Agenda Why Agile What is SCRUM How to adopt Agile with SCRUM Q/A Agile Software Development: Adopting SCRUM 7 ©SCRUMguides
  6. 6. How long are you in the business? Agile Software Development: Adopting SCRUM 9 ©SCRUMguides
  7. 7. 30 years ago (in the 70s)… To know binary code, assembler languages To solve math tasks … To look smart Agile Software Development: Adopting SCRUM 10 ©SCRUMguides
  8. 8. 10-15 years ago (in the 90s)… To be good at documenting requirements To use templates (like the ones from RUP) To try to predict the future by drawing Gantt charts, project work-breakdown structures (WBS) To model and talk UML To look stable Agile Software Development: Adopting SCRUM 11 ©SCRUMguides
  9. 9. Today To make quick and regular releases of software that solves business challenges To be able to adapt to ever-changing business context 30 day is too long now To be dynamic and flexible Agile Software Development: Adopting SCRUM 12 ©SCRUMguides
  10. 10. It is only going faster… Competition on the software market is growing Business needs of the clients are becoming more and more complex Their expectations of the products’ and services’ qualities are expanding Not everyone survives. Agile Software Development: How can we? Adopting SCRUM 13 ©SCRUMguides
  11. 11. Iterative and Incremental Approach: Shortening Time-to-Market Agile Software Development: Adopting SCRUM 15 From Michael Vizdos’s “CSM presentation” ©SCRUMguides
  12. 12. Iterative and Incremental Approach: Reducing Risks of Delays Agile Software Development: Adopting SCRUM 16 From Henrik Kniberg’s “Scrum Intro” ©SCRUMguides
  13. 13. Sequential vs. overlapping development Requirements Design Code Test Rather than doing all of one thing at a time... ...Scrum teams do a little of everything all the time Agile Software Development: Adopting SCRUM 17 ©SCRUMguides
  14. 14. The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/ See also the Declaration of Interdependence, http://pmdoi.org/ Agile Software Development: Adopting SCRUM 19 ©SCRUMguides
  15. 15. In another words… More focused product development through tight cooperation with the clients Better products Ongoing project steering throughout the project lifecycle Happier clients Self-managing teams that are empowered to solve the project challenges Greater teams Agile Software Development: Adopting SCRUM 21 ©SCRUMguides
  16. 16. Agenda Why Agile What is SCRUM How to adopt Agile with SCRUM Q/A Agile Software Development: Adopting SCRUM 25 ©SCRUMguides
  17. 17. SCRUM in 100 words SCRUM is a set of rules that are based on the Agile principles and are designed to assist the customers and the team to build constructive relationship. SCRUM is an agile process that allows us to focus on delivering the highest business value in the shortest time (Mike Cohn). Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint (from SCRUM Framework). SCRUM is about common sense (Ken Schwaber). Agile Software Development: Adopting SCRUM 26 ©SCRUMguides
  18. 18. Origins of SCRUM Jeff Sutherland – Initial scrums at Easel Corp in 1993 – IDX and 500+ people doing SCRUM Ken Schwaber – ADM – SCRUM presented at OOPSLA 96 with Sutherland – Author of three books on SCRUM Mike Beedle – SCRUM patterns in PLOPD4 Ken Schwaber and Mike Cohn – Co-founded SCRUM Alliance in 2002, initially within the Agile Alliance Agile Software Development: Adopting SCRUM 27 ©SCRUMguides
  19. 19. Popularity of SCRUM It has been used by: Microsoft Intuit Yahoo! Nielsen Media Google First American Real Estate Electronic Arts High Moon Studios High Moon Studios Ipswitch Lockheed Martin John Deere Philips Lexis Nexis Siemens Sabre Nokia Salesforce.com Capital One Time Warner BBC Turner Broadcasting Oce Taken from Mike Cohn’s presentation on SCRUM Agile Software Development: Adopting SCRUM 28 ©SCRUMguides
  20. 20. Applicability of SCRUM It has been used for: Commercial software FDA-approved, life-critical systems In-house development Satellite-control software Contract development Websites Fixed-price projects Handheld software Financial applications Mobile phones ISO 9001-certified applications Network switching applications Embedded systems ISV applications 24x7 systems with 99.999% uptime Some of the largest applications in use requirements Video game development Taken from Mike Cohn’s presentation on SCRUM Agile Software Development: Adopting SCRUM 29 ©SCRUMguides
  21. 21. Some Worldwide Statistics CSMs: – 12’000 CSMs by Q1 of 2007 – Increase in 1’500 CSMs each quarter – 221 CSM class is planned already for 2008 Popularity of SCRUM vs. XP, DSDM 2nd Annual “State of Agile Development” survey 2007: – SCRUM – 37%, – Hybrid XP/SCRUM- 23%, – XP = 12%, – DSDM – 5% Agile Software Development: Adopting SCRUM 30 ©SCRUMguides
  22. 22. SCRUM is not a Silver Bullet SCRUM evangelists believe that the problem we face has nothing to do with process and technology, but with people. SCRUM and Agile are based on the hypothesis that there is no meta-solution for software development. Just a framework within which we will inspect and adapt. This is very frustrating to those looking for procedures and final answers Agile Software Development: Adopting SCRUM 31 ©SCRUMguides
  23. 23. What is SCRUM? An Agile Project Management framework A wrapper for existing engineering practices A team-based approach (focus on self-organizing teams) Handles conflicting interests and needs Improves communication and cooperation Early detection and removal of obstacles Iterative feature-driven planning activities Produces potentially shippable functionality at each iteration of 2-4 weeks Disciplined approach Agile Software Development: Adopting SCRUM 32 ©SCRUMguides
  24. 24. SCRUM in Details This part uncovers all SCRUM concepts in details: Roles Artifacts Metrics Ceremonies Agile Software Development: Adopting SCRUM 33 ©SCRUMguides
  25. 25. Terminology used in SCRUM ScrumMaster (SM) = Process Owner Product Owner (PO) = Customer Rep. Sprint = Iteration Product Backlog (PB) = Inventory of Requirements Sprint Backlog (SP) = Task List Agile Software Development: Adopting SCRUM 34 ©SCRUMguides
  26. 26. The Framework Agile Software Development: Adopting SCRUM 35 ©SCRUMguides
  27. 27. Agenda Why Agile What is SCRUM How to adopt Agile with SCRUM Q/A Agile Software Development: Adopting SCRUM 38 ©SCRUMguides
  28. 28. What do we want to achieve? Adopt agile in the project? Meet the project goals effectively! Thanks to Askhat Urazbaev from Agile Russia for this clear slide Agile Software Development: Adopting SCRUM 39 ©SCRUMguides
  29. 29. Steps to adopt SCRUM 1. Find Product Owner 4. Build Sprint Backlog 2. Build Product Backlog 5. Sprint! 3. Define DONE criteria 6. Learn and adapt Agile Software Development: Adopting SCRUM 40 ©SCRUMguides
  30. 30. (1) Find a Product Owner There should be only one PO The teams should support the decision makers with all possible means of information that cam help them to make right decisions. So what does “business” need to know? Agile Software Development: Adopting SCRUM 41 ©SCRUMguides
  31. 31. (2) Build a Product Backlog Work with User Stories Our plans are based on users’ needs of systems that we are building. We know the needs are likely to be changing as we will be proceeding. It will add risks to our projects. The later the change occur the higher the risks will be (more to rework). That’s why we want the changes to occur as early as possible, and as much as needed! Write the users’ needs in a form: As a <user> I can <do> so that <value>. Agile Software Development: Adopting SCRUM 42 We have a dedicated module on user stories and estimates. ©SCRUMguides
  32. 32. Example of a Product Backlog Sprint Feature Comments Estimate Each product has a thumbnail, sprint i User can see the list of categories and products name, description and price 5 User can see which products are out of stock 2 User can put any in-stock product item to the basket Check for available quantity 3 Basket content is preserved User can see which products are in his basket between sessions 3 sprint (i+1) User can delete a product item from the basket 1 User can buy all products from his basket 5 User can pay with invoice Works only for local customers 8 … sprint n … Agile Software Development: Adopting SCRUM 43 ©SCRUMguides
  33. 33. From Henrik Kniberg’s “Scrum Introduction” Granularity of Planning Details Agile Software Development: Adopting SCRUM 44 ©SCRUMguides
  34. 34. (3) Define “Done” criteria What do you mean when you say you’re done? It is very important for the team and the client to agree upon what “done” actually means. As the team’s maturity grows the “doneness” expands. What “done” means to you? Does you “done” mean “live”? What is the shortest time within which you can “do” a meaningful minimal set of stories? Agile Software Development: Adopting SCRUM 45 ©SCRUMguides
  35. 35. (4) Build the Sprint Backlog Remained Estimate (hours) Feature Tasks Responsible Mon Tue Wed Thu Fri User can see the list of categories and products Implement layout VM 8 4 3 0 0 Design DB TY 16 12 10 8 4 Implement API TY 6 4 4 4 2 Implement unit-tests TY 2 2 2 2 2 Import data from Xserver AK 4 4 4 4 4 User can see which products are out of stock Implement layout VM 3 3 1 1 1 Add field to products table TY 1 1 1 1 1 Import data from Xserver TY 1 1 1 2 2 Implement API AK 2 1 1 1 1 Implement unit-tests AK 1 2 2 2 2 Refactor Product class AK 3 2 SUM 44 34 32 27 19 Agile Software Development: Adopting SCRUM 46 ©SCRUMguides
  36. 36. (5) Sprint! Daily Scrums - synchronization points Agile Software Development: From Henrik Kniberg’s Adopting SCRUM 47 “What is SCRUM” http://crisp.se/ ©SCRUMguides
  37. 37. (5) Sprint! Team’s visual tool Agile Software Development: From Mike Cohn’s “Task Boards”, Adopting SCRUM 48 http://www.mountaingoatsoftware.com/ ©SCRUMguides
  38. 38. (5) Sprint! Burndown chart is a very simple and powerful visualization tool you can use in your progress. Daily it tells you where you are: Sprint Burndown 50 44 43 40 36 Estimates 30 27 20 21 18 15 10 11 5 0 0 1 2 3 4 5 6 7 8 9 10 Agile Software Development: Adopting SCRUM 50 Days ©SCRUMguides
  39. 39. From Henrik Kniberg’s “What is SCRUM” http://crisp.se/ (5) Sprint! The Task Board after the i-th meeting … Agile Software Development: Adopting SCRUM 51 ©SCRUMguides
  40. 40. (5) Sprint! A word on visibility Sprint Burndown 50 45 44 41 41 39 39 40 35 Estimates 30 25 20 22 15 12 10 8 5 3 0 Mon Tue Wed Thu Fri Days Agile Software Development: Adopting SCRUM 52 ©SCRUMguides
  41. 41. (6) Learn and Adapt • Sprint review • demo working software • get feedback • Sprint retrospective • what went well • what didn’t • what will the team do differently next sprint • Cook until you’re done :) Agile Software Development: Adopting SCRUM 53 ©SCRUMguides
  42. 42. Now. What’s in it for you? :) Who of you has been using SCRUM? Who of you is going to use SCRUM? Who of you is never going to use it? Agile Software Development: Adopting SCRUM 54 ©SCRUMguides
  43. 43. Three things that can derail Agile methods are easy to misunderstand The methods exist in order to enable the philosophy Agile practices are like any other practices; they’re learned through example, application, and training It’s easy to think you’re doing Agile right, and be wrong Without direction, a team told to throw away its waterfall method will simply devolve into quot;code and fix.quot; Agile methods make value visible Can that be a bad thing? If someone in an Agile Project isn’t contributing, the fact will become obvious Agile Software Development: Taken from presentation of Serhiy Yevtushenko Adopting SCRUM 55 done on one of the Gathering of Agile Ukraine ©SCRUMguides
  44. 44. A sure way to get it wrong quot;Big bang“, massive, world-shaking change without experimentation Expecting to have your cake and eat it too: All features, on time, on budget, on schedule, re-gardless of how realistic that schedule is Iterative development without automated tests quot;Iterationsquot; that deliver incomplete work products For instance, software that isn’t ready to release to the customer Agile development while keeping the developers and the testers separate Testing becomes an afterthought a verification activity Implementation of Agile techniques without a belief in the core philosophies Responding to change and not planning everything up front Agile Software Development: Taken from presentation of Serhiy Yevtushenko Adopting SCRUM 56 done on one of the Gathering of Agile Ukraine ©SCRUMguides
  45. 45. We can help you adopt SCRUM Order a two-day training for your team: http://www.scrumguides.com/ Agile Software Development: Adopting SCRUM 57 ©SCRUMguides
  46. 46. We Welcome Everyone to join our Discussions http://groups.google.com/group/agile-ukraine/ Agile Software Development: Adopting SCRUM 58 ©SCRUMguides
  47. 47. Questions? Agile Software Development: Adopting SCRUM 59 ©SCRUMguides
  48. 48. Thank you! Agile Software Development: Adopting SCRUM 60 ©SCRUMguides

×