1 / 79

Agile Software Development using Scrum

Agile Software Development using Scrum. Derek Mathieson Group Leader Advanced Information System CERN – Geneva, Switzerland. Speaker Background. Currently: Group Leader of AIS since January 2010 Previously: Section Leader EDH (2000) Software Developer at CERN (1994)

lala
Télécharger la présentation

Agile Software Development using Scrum

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile Software Development using Scrum Derek MathiesonGroup LeaderAdvanced Information System CERN – Geneva, Switzerland

  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) Frequently Asked Questions on WWW FREQUENTLY ASKED QUESTIONS ON W3 An FAQ list is really a cop-out from managed information. You should be able to find everything you want to know by browsing from the WWW project page, as everything should be arranged in a logical way. Here though are things which maybe didn't fit into the structure, with pointers to the answers which maybe did. Its an experiment, started May 92. The questioners are anonymous. I am just starting: how do I find out more?[1] How does www keep track of the available servers?[2] How does W3 compare with WAIS and Gopher[3] ? How do I create my own server[4] ? 1-10, Up, <RETURN> for more, Quit, or Help:

  3. Agenda • Traditional Software Development • What is Agile? • The Agile Manifesto • Agile Methods • SCRUM • SCRUM @ CERN

  4. Traditional Development

  5. Waterfall Model Requirements Design Implementation Verification Maintenance Time

  6. Spiral Model C u m u l a t i v e c o s t 2 . I d e n t i f y a nd P r og r e s s 1 . D e t e rm i n e r e s o l v e r i s k s ob j e c t i v e s Operational R e v i e w R e q u i r e m e n t s Prototype 1 Prototype 2 Prototype p l a n C o n ce p t o f C o n c e p t o f D e t a i l e d r e q u i r e m e n t s o p e r a t i o n D r a f t R e q u i r e m e n t s d e s i g n C o d e V e r i f i c a t i o n D e v e l o p m e n t & V a l i d a t i o n p l a n I n t e g r a t i o n V e r i f i c a t i o n T e s t p l a n & V a l i d a t i o n T e s t I m p l e m e n t a t i o n 4 . P l a n t h e R e l e as e n e x t it e r a t i o n 3 . D e ve l op m e n t a nd T e s t

  7. Why Software Is Different? • Software is Complex • Technology Changes Rapidly • Requirements are Incomplete • Change is Considered Easy • Software Design is Research • Construction is Actually Design • Change is Inevitable

  8. Software is Complex “Computer programs are the most intricate, delicately balanced and finely interwoven of all the products of human industry to date” [James Gleick1992]

  9. Software is Complex

  10. Software is Complex

  11. Software is Complex

  12. Software is Complex

  13. Why Software Is Different? • Software is Complex • Technology Changes Rapidly • Requirements are Incomplete • Change is Considered Easy • Software Design is Research • Construction is Actually Design • Change is Inevitable

  14. Technology Changes Rapidly

  15. Requirements Are Incomplete

  16. An Experiment

  17. Project Description ‘Personal Transport Device’ • Usable outside • Weather proof. • Reasonably Strong • Usable for several years. • Stable, relativly easy to use • Probably 4 wheels?

  18. Implementation ?

  19. “Many projects fail because their developers fail to build the right thing” —Grady Booch

  20. Why Software Is Different? • Software is Complex • Technology Changes Rapidly • Requirements are Incomplete • Change is Considered Easy • Software Design is Research • Construction is Actually Design • Change is Inevitable

  21. Introducing Agile Development

  22. What is Agile?

  23. What is Agile? Agile: • Having the faculty of quick motion; nimble, active, ready. • 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. (Oxford English Dictionary) (Wikipedia)

  24. Why Agile?

  25. Iterative Development • Regular releases to customer • ‘Time-boxing’ • Normally 2 – 6 weeks • Adjust design as the project progresses Analysis & Design Requirements Implementation Planning Initial Planning Deployment Evaluation Testing

  26. The Iron Triangle Scope Traditional Development PickTwo Quality Schedule

  27. Software Delivery The Chaos ReportStandish Group (1995)

  28. The Iron Triangle Scope Traditional Development PickTwo Agile Development Quality Schedule

  29. The Agile Manifesto (2001) • Early and continuous delivery of valuable software • Welcome Change • Deliver Often • Customers and developers must work together • Best possible people, tools and workplace • Emphasis on face-to-face communication • Working software is the best measure of progress • Constant sustainable progress • Focus on technical excellence and good design • Simplicity • Self-organizing teams • Regular reflection on improvements

  30. 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 plan

  31. Agile Methods • Scrum • Feature Driven Development (FDD) • Lean • Extreme Programming (XP) • RUP • Kanban

  32. SCRUM

  33. What is SCRUM?

  34. 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 SCRUM

  35. Method Comparison Jeff Sutherland, ‘The Scrum Papers’ 2010 co-creator of SCRUM

  36. SCRUM in Pictures

  37. SCRUM in Practice

  38. EDH Statistics 3.00 25,000 60,000 2.50 Documents per month Distinct Users per month Signatures per month Ratio Signatures/Document 20,000 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.00 • 14,500 active users • 25k Documents/month • 60k Signatures/month

  39. 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/year

  40. EDH Development B.C. Before SCRUM C. • B. • Constant Developer Interruptions • Low efficiency • Delivery was often late • Poor estimation – many unknowns • Scope Creep • Specification constantly changing • Everything is Free • Some features never used

  41. SCRUM Vocabulary • Product Owner • Product Backlog • Scrum Team • Sprint Planning • Scrum Master • Daily Scrum • Sprint Backlog • Sprint Review Meeting

  42. Chickens and Pigs... Involved Committed

  43. The Product Owner • Typically a Product Manager, Internal Customer, etc. • Responsible for: • Providing and maintain a prioritised “Product Backlog” • Responsive to questions during a sprint

  44. 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 Team

  45. 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”

  46. Agile Estimation • Planning Poker

  47. 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 haven't got the software I ordered. • I need help debugging a problem with ____. • I'm struggling to learn ____ and would like help. • The GL has asked me to work on something else "for a day or two."

  48. 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”

  49. The Sprint Goal • A short “theme” for the sprint: • The SCRUM Team commit to this goal. “Create Reports.” “Create Working Form.” “Implement Workflow.” “Implement Bulk Emailing.”

  50. 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.

More Related