Agile Software Development With Scrum - Sosy-lab

3y ago
35 Views
3 Downloads
2.31 MB
68 Pages
Last View : 3d ago
Last Download : 2m ago
Upload by : Alexia Money
Transcription

Agile Software Development withScrumAn Iterative, Empirical and Incremental Frameworkfor Completing Complex Projects(Slides by Prof. Dr. Matthias Hölzl, based on material from Dr. Philip Mayer with input from Dr.Andreas Schroeder and Dr. Annabelle Klarl)

CHAOS Report 2009Completion of projects: 32% success 44% challenged2/3 of all projects 24% impairedfail partiallySome of the reasons for failure: Incomplete requirements Changing requirements Little involvement of the customer Low support by the management4/27/17Matthias Dangl2

Sequential paradigm The Big Bang approach to software does NOT work:* After two years of coding No interaction with the customer in the black cloud! The problem: Requirements might have been misunderstood orchanged. The resulting system is not what the customer wanted.4/27/17Matthias Dangl3

Iterative paradigm The iterative approach to software does not workeither: Requirements are captured while product is unknown. Requirements Phase is drawn out until no time forimplementation is left.4/27/17Matthias Dangl4

Agile paradigmChange is the only constant in SW development “Expect the unexpected!”Agile methods build on the ability to react to change. “Get it working!”Agile methods deliver working software frequently. “Please the customer!”Agile methods build on openness andcommunication.4/27/17Matthias Dangl5

The Agile ManifestoWe are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items onthe right, we value the items on the left more.Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, JamesGrenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, SteveMellor, Ken Schwaber, Jeff Sutherland, Dave Thomas 2001, the above authorsthis declaration may be freely copied in any form,but only in its entirety through this notice.4/27/17Matthias Dangl6

Why agile softwaredevelopment?Software development is like new productdevelopment, not like manufacturing Manufacturing: building the same model again andagain Software development: creating something newWe need: Research and Learning Creativity Subtle Control and Self-organization4/27/17Matthias Dangl7

Examples for agilemethodsA multitude of agile processes has been introduced Kanban www.kanbanblog.com/explainedXP (eXtreme programming) www.extremeprogramming.orgScrum www.scrum.org Here 4/27/17Matthias Dangl8

Agile methods in SWEP Scrum (mainly) XP Head First SoftwareDevelopment The Scrum process follows the agilemanifesto is intended for groups ofup to seven people consists of simple rulesand is thus easy to learn4/27/17Matthias Dangl9

AgendaI.IntroductionScrum OverviewPlanning and Controlling theProcess1.The source of Scrum1.Deciding on Items for a Sprint2.The three legs3.The big picture2.Daily Scrum Meeting3.Pleasing the customer (with aDemo)4.Learning from the processII.V.III. Roles in Scrum1.About pigs and chickens2.The Scrum Master3.The Product Owner4.The Scrum TeamVI.Scaling ScrumVII. ConclusionIV. Capturing and ManagingRequirements1.Release Planning Meeting2.Product Backlog3.Priority and Estimation4/27/17Matthias Dangl10

AgendaI.IntroductionScrum OverviewPlanning and Controlling theProcess1.The source of Scrum1.Deciding on Items for a Sprint2.The three legs3.The big picture2.Daily Scrum Meeting3.Pleasing the customer (with aDemo)4.Learning from the processII.V.III. Roles in Scrum1.About pigs and chickens2.The Scrum Master3.The Product Owner4.The Scrum TeamVI.Scaling ScrumVII. ConclusionIV. Capturing and ManagingRequirements1.Release Planning Meeting2.Product Backlog3.Priority and Estimation4/27/17Matthias Dangl11

The source of ScrumScrum in rugbyStrategy for getting the ball back into playwww.andrewgoss.net/sport.htmlScrum as an agile method„a holistic or „rugby“ approach – where a team tries to gothe distance as a unit, passing the ball back and forth“Takeuchi, H. & Nonaka, I. The new new product development game. Harvard Business Review 64, 137-146 (1986).4/27/17Matthias Dangl12

The three legs of ScrumScrum is grounded in empirical process controltheory and is therefore not guided by a fixed projectplan, but by Transparency„Everything can be seen by everybody.“ Inspection„The process is continuously monitored.“ Adaption„Feedback mechanisms are the heart of Scrum.“4/27/17Matthias Dangl13

The big pictureAn iterative, empirical and incremental framework4/27/17Matthias Dangl14

Product Backlog andSprints Product Backlog: Everything with respect to the productor the process, that anyone is interested in, isrepresented in the Product Backlog. Sprints: A Sprint is a short timeframe of about four weeksfor working on the Sprint Backlog - a fixed subset of theProduct Backlog, producing a working piece ofsoftware. Daily Scrum Meetings: The current progress of workand any impediments are revealed in this daily timeboxed meetings.4/27/17Matthias Dangl15

SummarySoftware development is about shipping softwarethat brings the customer’s ideas to life.Which means: Shipping software: The software must be completed,executable and delivered – on time and on budget. Customer’s Ideas: The customer has a vision of hisproduct. The developer must be flexible enough toextract that image, implement it and neverthelessreact to changes.4/27/17Matthias Dangl16

AgendaI.IntroductionScrum OverviewPlanning and Controlling theProcess1.The source of Scrum1.Deciding on Items for a Sprint2.The three legs3.The big picture2.Daily Scrum Meeting3.Pleasing the customer (with aDemo)4.Learning from the processII.V.III. Roles in Scrum1.About pigs and chickens2.The Scrum Master3.The Product Owner4.The Scrum TeamVI.Scaling ScrumVII. ConclusionIV. Capturing and ManagingRequirements1.Release Planning Meeting2.Product Backlog3.Priority and Estimation4/27/17Matthias Dangl17

About pigs and chickensA chicken and a pig are together when the chicken says,„Let‘s start a restaurant!“The pig thinks it over and says,„What would we call this restaurant?“The chicken says, „Ham n‘ Eggs!“The pig says,„No, thanks. I‘d be committed, but you‘d only beinvolved!“ Pigs: Everyone with total commitment to the project Chickens: Everyone else who is interested in theproject4/27/17Matthias Dangl18

Scrum MasterThe Scrum Master is responsible for the success ofScrum. Responsibilities: Introduces/Briefs the Product OwnerForms a Scrum TeamAssists all Planning MeetingsEnsures that Scrum values, practices and rules areenforced Removes any impediments Although being a management role, the Scrum Mastershould be your friend in need. In SWEP, the Scrum master is one of the team members.4/27/17Matthias Dangl19

Product OwnerThe Product Owner is officially responsible for theproduct.Best if it is a person Responsibilities:employed by the Represents the customer Maintains the Product Backlog Registers new Items Prioritizes Items Get the estimates for Itemscustomer BUT WHO ISALSO knowledgeable inbeing a “SCRUM productowner" Makes the Product Backlog visible to everyone Developers only listen to the Product Owner (regarding priorities and user stories) In the SWEP, the PO is a tutor.4/27/17Matthias Dangl20

Scrum Team (I)The Scrum Team commits to achieving a Sprint Goal. 7 ( -2) developersA common overarching“theme” of the sprint,according to which userstories are selected 5 developers impose skill constraints 9 developers induce complex coordination Responsibilities: Decides on a Sprint Goal in compliance with the ScrumMaster and the Product Owner Commits to turn the selected set of the Product Backloginto a working product during a Sprint Has full authority how to achieve the Sprint Goal4/27/17Matthias Dangl21

Scrum Team (II)“We swim and sink together” The whole team is responsible for the whole productBest not to have Normally full time membersspecialists because they No titlesmay leave, get sick,must work on another All-round developersthing, – or at least willing to assist each otherTeam composition may only change at the end of aSprint, but experts can be invited to assist thedevelopment!4/27/17Matthias Dangl22

Chickens Everyone else who is interested in the project Customer (except PO) Management Other Scrum Teams (working on the same project,depending projects or totally different projects) Observers Chickens are not allowed to influence the work ofthe Scrum Team during a Sprint!4/27/17Matthias Dangl23

Summary Pigs are committed to the project. The Scrum Master enforces the Scrum rules. The Product Owner manages the Product Backlog. The Scrum Team is committed to the Sprint Goal. Chickens are only involved into the project. Scrum Teams must not listen to chickens. Chickens are only allowed to consult.4/27/17Matthias Dangl24

AgendaI.IntroductionScrum OverviewPlanning and Controlling theProcess1.The source of Scrum1.Deciding on Items for a Sprint2.The three legs3.The big picture2.Daily Scrum Meeting3.Pleasing the customer (with aDemo)4.Learning from the processII.V.III. Roles in Scrum1.About pigs and chickens2.The Scrum Master3.The Product Owner4.The Scrum TeamVI.Scaling ScrumVII. ConclusionIV. Capturing and ManagingRequirements1.Release Planning Meeting2.Product Backlog3.Priority and Estimation4/27/17Matthias Dangl25

Release Planning Meeting The Product Vision is the customer’s mental imageabout his software. The Release Planning Meeting plans the variousreleases over the course of the next year(s) The goal of the Release Planning Meeting is„How can we turn this vision into a winning product?“ Overall features and functionalities Major risks Probable delivery date and cost But how do we extract the correct requirements fromthe Product Vision?4/27/17Matthias Dangl26

Product Backlog Items In Scrum, requirements are captured in the form ofProduct Backlog Items (PBI). For the SWEP, we use User Stories and Issues asPBIs. A User Story captures one thing (and one thing only)that the software needs to do for the customer. A User Story has a title and a short description The description should fit on a DIN A6 index card (if it is toolong, it needs to be split in two) An Issue captures one thing that is hard to mold into aUser Story e.g. software quality issues like bugs andsafety, security or performance as well asdocumentation matters.4/27/17Matthias Dangl27

Capturing User Stories User Stories are customer-oriented. User Stories are written with and for the customer They must be written in a language the customer canunderstand Techniques for capturing requirements Blueskying: brainstorming with the customer Role playing: developer acts as the new software Observation: developer watches the customer do thetasks to be supported by the new software4/27/17Matthias Dangl28

Examples Good Story (customer-level): Bad Story (tootechnical):4/27/17Matthias Dangl29

Product Backlog All User Stories and Issues make up the ProductBacklog. The Product Backlog is never complete! Everyone (pigs and chickens) may add items. The Product Backlog evolves during the project byadding or changing requirements. User Stories and Issues get a priority (by the PO) a time estimate (by the Scrum team)4/27/17Matthias Dangl30

PrioritizingThe Product owner prioritizes the Product BacklogItems in compliance with the customer. Important ones get a higher priority and must beimplemented first. Priorities should be taken out of the set of{10,20,30,40,50} with 10 being most important . Priorities are added to the Product Backlog Items. Priorities for Product Backlog Items might changedepending on estimates or changing requirements.4/27/17Matthias Dangl31

Estimating Time required for implementing User Stories orIssues are estimated by the Scrum team ideally in separate sessions before release or sprintplanning without PO (bias); except for clarifications. Estimation means guessing the number of hours forconstructing each PBI. How long will it take it get it done? User Stories and Issues may be split into tasks forestimation (but we don’t do this in the SWEP).4/27/17Matthias Dangl32

Estimating (II) The whole Scrum Team is responsible for the project. Everybody should, in principle, be able to implementeach functionality. Thus, estimation takes everybodyinto account! Each estimate should include time for DesignCode and DocumentTest and ReviewIntegration and Delivery To arrive at a number everybody is comfortablewith we use Planning Poker.4/27/17Matthias Dangl33

Planning Poker (I) Planning Poker A certain PBI is presented. Every developer thinks about the PBI and how long itwill take himself to implement it, all things considered. Every developer privately chooses a card from thedeck with cards for 0, ½, 1, 2, 3, 5, 8, 13, 20, 40 and100 hours. All cards are simultaneously uncovered. High and low estimates are discussed. The estimation process is repeated until convergence.4/27/17Matthias Dangl34

Planning Poker (II)Everybody must be ableto implement thefunctionality with thisestimate! The goal is convergence. The team must come up with a single estimate. If the estimates differ a lot, this indicates (probably) hiddenassumptions and less confidence. Thus, a second goal is to uncover assumptions .about what is part of a story and what is not .about the skills required or the need to acquire them first .about the complexity of the task This might require asking the customer for clarification. And, a third goal is to transfer knowledge.4/27/17Matthias Dangl35

Estimating (III)Meaningful estimation requi

Agile Software Development with Scrum An Iterative, Empirical and Incremental Framework for Completing Complex Projects (Slides by Prof. Dr. Matthias Hölzl, based on material from Dr. Philip Mayer with input from Dr. Andreas Schroeder and Dr. Annabelle Klarl) CHAOS Report 2009 Completion of projects: 32% success 44% challenged 24% impaired Some of the reasons for failure: Incomplete .

Related Documents:

This Scrum and Scrum Master Guide is a free, quick reference material designed to help aspiring scrum masters discover the ins and outs of Scrum. It throws light on the fundamental principles of the scrum, scrum terminologies, Agile Manifesto, scrum theories, scrum tools, different roles, responsibilities, and more. SCRUM & SCRUM MASTER

Agile Estimating and Planning by Mike Cohn Agile Game Development with Scrum by Clinton Keith Agile Product Ownership by Roman Pichler Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and .

Training Formal Change Management training for key positions Agile certification -Product Owner -Scrum Master Agile team -Led by Scrum Master -Two day, self-paced Agile frameworks -Kanban: maintenance -Scrum: enhancements Scrum teams -Size: 7 2 -Team members Dedicated Scrum room Master Scrum Master

EXIN Agile Scrum Master is a certification that looks to confirm both skills and knowledge of the Agile framework and Scrum methodology. Agile Scrum is about working together to successfully reach a goal. Agile methodologies are popular approaches in software development and are increasingly being used in other areas.

The most popular agile methodologies include: extreme programming (XP), Scrum, Crystal, Dynamic Sys-tems Development (DSDM), Lean Development, and Feature Driven Development (FDD). All Agile methods share a common vision and core values of the Agile Manifesto. Agile Methods: Some well-known agile software development methods include: Agile .

Agile development method - Scrum is one of the growing development methods in software projects [13]. Scrum is a process skeleton that includes a set of practices and predefined roles [13, 14]. The Scrum team composed of Scrum master, Product owner and development team. A set of practices include Scrum sprint and Scrum meetings.

Agile Software Development with Scrum Jeff Sutherland Gabrielle Benefield. Agenda Introduction Overview of Methodologies Exercise; empirical learning Agile Manifesto Agile Values History of Scrum Exercise: The offsite customer Scrum 101 Scrum Overview Roles and responsibilities Scrum team Product Owner ScrumMaster. Agenda Scrum In-depth The Sprint Sprint Planning Exercise: Sprint Planning .

Agile software development therefore has a focus on: . Scrum is one of the most popular agile development methodologies. Scrum is a lightweight framework designed to help small, close-knit teams of people to create complex software products. The key features of the scrum methodology are as follows: Scrum team: A team of people using this methodology are called a “scrum”. Scrums usually .