D.mathieson agile software_development_using_scrum

330 views
284 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
330
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

D.mathieson agile software_development_using_scrum

  1. 1. CERN - European Organization for Nuclear Research GS Department - Administrative Information ServicesAgile Software Developmentusing Scrum Derek Mathieson Group Leader Administrative Information Services CERN - Geneva, Switzerland
  2. 2. Speaker Background  Currently: - Group Leader of AIS since January 2010  Previously: - Section Leader EDH (2000) - Software Developer at CERN (1994) - Software Developer at SSC in Texas (1992) - CERN Fellow (1990) - CERN Technical Student (1989) - Software Developer (1986)CERNGS-AIS
  3. 3. Agenda  What is Agile?  The Agile Manifesto  Agile Methods  SCRUM  SCRUM @ CERNCERNGS-AIS
  4. 4. What is Agile?CERNGS-AIS
  5. 5. What is Agile? Agile: - Having the faculty of quick motion; nimble, active, ready. (Oxford English Dictionary)  Agile software development: - A group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.CERN (Wikipedia)GS-AIS
  6. 6. Waterfall Model Requirements Design Implementation Verification Maintenance TimeCERNGS-AIS
  7. 7. Spiral Model Cumulative cost 1.Determine Progress 2. Identify and objectives resolve risks Requirements Operational Rev iew plan Prototype 1 Prototype 2 Prototype Concept of Concept of operation requirements Detailed Requirements Draft design Development Verification Code plan & Validation Integration Test plan Verification & Validation Test Implementation 4. Plan the Release next iteration 3. DevelopmentCERN and TestGS-AIS
  8. 8. Iterative Development  Regular releases to customer - „Time-boxing‟ - Normally 2 - 6 weeks  Adjust design as the project progresses Requirements Analysis & Design Implementation Initia Planni ent Evaluation TestingCERNGS-AIS
  9. 9. Why Agile?CERNGS-AIS
  10. 10. The Iron Triangle Traditional Scope Development Agile Development Quality ScheduleCERNGS-AIS
  11. 11. The Agile Manifesto (2001) 1. Early and continuous delivery of valuable software 2. Welcome Change 3. Deliver Often 4. Customers and developers must work together 5. Best possible people, tools and workplace 6. Emphasis on face-to-face communication 7. Working software is the best measure of progress 8. Constant sustainable progress 9. Focus on technical excellence and good design 10. Simplicity 11. Self-organizing teams 12. Regular reflection on improvementsCERNGS-AIS
  12. 12. The 4 Agile Values Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a planCERNGS-AIS
  13. 13. Agile Methods  Scrum  Feature Driven Development (FDD)  Lean  Extreme Programming (XP)  Crystal  KanbanCERNGS-AIS
  14. 14. An ExperimentCERNGS-AIS
  15. 15. Project Description „Transportable Weather Guard‟  Usable outside: weather-proof - Possibly fabric cover?  Reasonably Strong - Metal construction?  Quick to set up, if it rains suddenly - Perhaps automatic?CERNGS-AIS
  16. 16. C
  17. 17. “Many projects fail because their developers fail to build the right thing” —Grady BoochCERNGS-AIS
  18. 18. SCRUMCERNGS-AIS
  19. 19. What is SCRUM?CERNGS-AIS
  20. 20. What is SCRUM?  Scrum is a framework for iterative, incremental development using cross- functional, self-managing teams. It is built on industry best practices, lean thinking, and empirical process control. Ken Schwaber, 2006 co-creator of SCRUMCERNGS-AIS
  21. 21. Method Comparison Waterfall Spiral Iterative ScrumDefined processes Required Required Required Planning & Closure onlyFinal product Determined Fixed during Set during Set during project during planning planning project Determined Partially Set duringProject cost Set during project during planning variable project Determined Partially Set duringCompletion date Set during project during planning variable projectResponsiveness to Planning At end of each Planning only Throughoutenvironment primarily iterationTeam flexibility, Unlimited during Limited - cookbook approachcreativity iterations Training prior to projectKnowledge transfer Teamwork during projectProbability of Low Medium low Medium Highsuccess Jeff Sutherland, „The Scrum Papers’ 2010 co-creator of SCRUM CERNGS-AIS
  22. 22. SCRUM in PicturesCERNGS-AIS
  23. 23. SCRUM in PracticeCERNGS-AIS
  24. 24. EDH Statistics  14,500 active users  25k Documents/month  60k Signatures/month 25,000 3.00 60,000 Documents per month Distinct Users per month 2.50 20,000 Signatures per month Ratio Signatures/Document 50,000 2.00 40,000 15,000 1.50 30,000 10,000 1.00 20,000 5,000 0.50 10,000 - - 0.00CERNGS-AIS
  25. 25. EDH Development Team  4 Staff  2 Project Associates  2 Fellows  2 Students (9 month contract)  1.8 million lines of code  ~1000 3rd line support calls/yearCERNGS-AIS
  26. 26. EDH Development B.C.  B C. re SCRUM - Constant Developer Interruptions • Low efficiency - Delivery was often late • Poor estimation - many unknowns - Scope Creep • Specification constantly changing • Everything is Free • Some features never usedCERNGS-AIS
  27. 27. SCRUM Vocabulary Product Owner  Product Backlog Scrum Team  Sprint Planning Scrum Master  Daily Scrum  Sprint Backlog  Sprint Review MeetingCERNGS-AIS
  28. 28. Chickens and Pigs...CERNGS-AIS
  29. 29. The Product Owner Typically a Product Manager, Internal Customer, etc.  Responsible for: - Providing and maintain a prioritised “Product Backlog” - Responsive to questions during a sprintCERNGS-AIS
  30. 30. The Product Backlog A list of all desired work on the project - Usually a combination of • story-based work: “let user search and replace” • task-based work: “improve exception handling”  Prioritised by the Product Owner - Priority should be (ideally) based on “Business Value”  “Cost” assigned by the Scrum TeamCERNGS-AIS
  31. 31. The Scrum Team  Teams are self-organising  Cross-functional - QA, Programmers, UI Designers, Technical Writers, etc.  Assign Cost to each Item on the Product Backlog  Commit to the “Sprint Goal”CERNGS-AIS
  32. 32. The “Sprint”  Fixed “Time-Box” (we chose 2 weeks) Product is designed, coded, and tested during the sprint  Daily Scrum Meetings  Produce demonstratable, working, new functionality.CERNGS-AIS
  33. 33. The Scrum Master  Responsible for enacting Scrum values and practices (The Process)  Main job is to remove obstacles which affect the team  Typical obstacles could be: - My ____ broke and I need a new one. - I still havent got the software I ordered. - I need help debugging a problem with ____. - Im struggling to learn ____ and would like help. - The GL has asked me to work on something else "for a day or two."CERNGS-AIS
  34. 34. The Sprint Planning Meeting  Attended by: • Product Owner, Scrum Master, Scrum Team, and any interested and appropriate management or customer representatives.  Product Owner describes the highest priority features to the team.  Collectively the Scrum Team and the Product Owner define a “Sprint Goal”CERNGS-AIS
  35. 35. The Sprint Goal A short “theme” for the sprint: “Create Reports.” “Create Working Form.” “Implement Workflow.” “Implement Bulk Emailing.”  The SCRUM Team commit to this goal.CERNGS-AIS
  36. 36. The Daily Scrum  Anyone Invited  Led by Scrum Master  15 minutes, every day  Not for problem solving  Three questions: 1.What did you do yesterday 2.What will you do today? 3.What obstacles are in your way?CERNGS-AIS
  37. 37. Process repeats... 2 Weeks Pass…CERNGS-AIS
  38. 38. The Sprint Review Meeting Team presents what it accomplished during the sprint  Typically takes the form of a demo of new features or underlying architecture  Participants - Management - Product Owner - Other engineers -…CERNGS-AIS
  39. 39. Release Sprint Release Sprint 1 Sprint 2 Sprint 3 Sprint  Concentrate on preparing for production: - No new features - Last minute bugs, typos, layout issues, etc. - Translation (if not done already) - Desktop Icons - Communication, Bulletin Articles, etc.CERNGS-AIS
  40. 40. Scrum- value driven not plan driven  Empower lean teams to deliver more software earlier with higher quality.  Demonstrate working features to the customer early and often so the customer can inspect progress and prioritize change.  Deliver exactly what the client wants by directly involving the customer in the development process.  Provide maximum business value to the customer by responding to changing priorities in real time. Jeff Sutherland, 2007CERNGS-AIS co-creator of SCRUM
  41. 41. SCRUM in Industry  The most profitable software product ever created (Google Adwords) is powered by Scrum.  The most productive large project with over a million lines of code (SirsiDynix) used a ... Scrum implementation. Jeff Sutherland, 2010 co-creator of SCRUMCERNGS-AIS
  42. 42. SCRUM in Industry No, Organizations using 31% Yes, Agile methods 69% Agile Adoption Survey, March 2008 No, 24% Yes, 76%CERN State of the IT Union Survey, July 2009GS-AIS
  43. 43. Visible benefits of SCRUM  Time-Boxed: - Maximum investment known up-front  Tackle most valuable features first  Focus on working, tested, documented product featuresCERNGS-AIS
  44. 44. Conclusions  Product Owner: - Active Participant - Can “see” product evolve - Know the cost of each feature - Good Product Owners can be hard to findCERNGS-AIS
  45. 45. Conclusions  Team: - Work closely with Product Owner - Know the “Value” of each Feature - Known Start and End of Project - Efficient, highly focused development - Strong Team SpiritCERNGS-AIS
  46. 46. Why SCRUM?  What I wanted: - Manage Product Requirements - Provide Visibility to Clients - Better manage developer time - A more repeatable development process  What developers wanted: - Something „light‟ - Task management - CommunicationCERNGS-AIS
  47. 47. What did we adapt?  2 week Sprint  Release Sprint  Not everyone „SCRUMs‟ - Full time support staff - Technology  (Almost) Everyone does support too  Some people have several rolesCERNGS-AIS
  48. 48. Implementation Barriers  Some clients insist all features must be in final product Scope  Daily S ion  Poor P - Not fi - Does Pick Two - More Quality ScheduleCERNGS-AIS
  49. 49. Lessons Learned Be careful of the choice of Product Owner  Use tools to simplify admin - Excel, whiteboards, ScrumWorks, JIRA, …CERNGS-AIS
  50. 50. Product Backlog WindowCERNGS-AIS
  51. 51. Sprint Detail WindowCERNGS-AIS
  52. 52. Web ClientCERNGS-AIS
  53. 53. JIRA + GreenHopperCGS-AIS
  54. 54. Jira IDE Integration (IDEA)CERNGS-AIS
  55. 55. Does it Increase Productivity?  Probably…   Did it make development work easier?  Yes… - Communication is better - Estimates are better - Planning is easier - Customers are happierCERNGS-AIS
  56. 56. Thank YouCERNGS-AIS
  57. 57. Yes… but…  “I like writing software, but I don‟t like doing the other development stuff which we are not forced to do here.”  SCRUM lets you: - Focus on valuable development  Use tools to minimise adminCERNGS-AIS
  58. 58. Yes… but…  “It might help, but we have multiple projects per person.”  So do we… - It‟s simpler to have only one, but sometime schedules don‟t allow… - Time-boxing helps to reduce parallel activities.CERNGS-AIS
  59. 59. Yes… but…  “Management won‟t agree”  SCRUM offers: - Better Planning - Deadlines met - Minimise unnecessary development - Happy ClientsCERNGS-AIS
  60. 60. Yes… but… “Our clients won‟t agree”  Tricky one… - SCRUM needs Client commitment - SCRUM exposes the cost of features - SCRUM makes the client choose  In return they get: - Transparency - License to change their minds - Met deadlinesCERNGS-AIS
  61. 61. Yes… but…  “I like X from Scrum, but not Y, I might try X.”  Do X!CERNGS-AIS
  62. 62. Yes… but…  “You are trying to get us to work more for less! No way!”  SCRUM lets you: - Focus on useful workCERNGS-AIS
  63. 63. Yes… but…  “Our project X is special and not industry so we don‟t need a process.”CERNGS-AIS
  64. 64. Thank YouCERNGS-AIS

×