Professional Documents
Culture Documents
Amrita
Outline
Origin of Scrum History of Scrum Scrum has been used in/for What is Scrum Why Scrum Scrum Sprint Scrum Practices 1. Roles 2. Ceremonies 3. Artifacts Why Scrum works Pros and Cons Agile Scrum In Depth Online Guide Questions
2
Origins of Scrum
Origins of Scrum
The New New Product Development Game in Harvard Business Review by Hirotaka Takeuchi and Ikujiro Nonaka, 1986. The relay race approach to product developmentmay conflict with the goals of maximum speed and flexibility. Instead a holistic or rugby approachwhere a team tries to go the distance as a unit, passing the ball back and forthmay better serve todays competitive requirements. Wicked Problems, Righteous Solutions by DeGrace and Stahl, 1990. First mention of Scrum in a software context
4
Origins of Scrum
Jeff Sutherland Initial Scrums at Easel Corp in 1993 IDX and nearly 600 people doing Scrum Not just for trivial projects
FDA-approved, life-critical software for x-rays and MRIs
Ken Schwaber ADM Initial definitions of Scrum at OOPSLA 96 with Sutherland Mike Beedle Scrum patterns in PLOPD4
7
History
History: A Timeline
In-house development
Contract development Fixed-price projects Financial applications ISO 9001-certified applications Embedded systems
Handheld software
Mobile phones Network switching applications
ISV applications
Some of the largest applications in use
11
What is Scrum
Figure 1
12
What is Scrum
Figure 1 shows how Scrum Agilists treat requirements like a prioritized stack, pulling just enough work off the stack for the current iteration (in Scrum iterations/sprints are often 30-days long, although this can vary). At the end of the iteration the system is rolled out to the stakeholders to verify that the work that the team promised to do at the beginning of the iteration was in fact accomplished.
13
What is Scrum
14
15
16
18
Why Scrum
Figure 2
Traditional SDLC
19
Why Scrum
Assumption
Each stage produces a predictable and defined output Application of the process results in repeatable outputs
Results
Loss of control Surprises Incomplete or wrong products
21
23
Scrums foundation in empirical process control is important because its model that fits the realities of creating software. Consider the following succinct definition from Wikipedias short entry on the topic: The empirical model of process control provides and exercises control through frequent inspection and adaptation for processes that are imperfectly defined and generate unpredictable and unrepeatable outputs. Wikipedia Empirical process (process control model)
24
Scrum Sprint
25
Scrum Sprint
Figure 3
24 hours Daily Scrum Meeting Sprint Backlog tasks expanded by team 30 days
Sprint Backlog
26
Scrum Sprint
http://www.youtube.com/watch?v=Wxiu E-1ujCM&feature=related
27
Scrum Sprint
A sprint is the basic unit of development in Scrum. Sprints last between one week and one month and are a "timeboxed" (i.e. restricted to a specific duration) effort of a constant length. Each sprint is preceded by a planning meeting, where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made, and followed by a review or retrospective meeting,where the progress is reviewed and lessons for the next sprint are identified. During each sprint, the team creates finished portions of a product. The set of features that go into a sprint come from the product backlog, which is a prioritized list of requirements. Which backlog items go into the sprint is determined during the sprint planning meeting. During this meeting, the Product Owner informs the team of the items in the product backlog that he or she wants completed (the ones with the highest priority). The team then determines how much of this they can commit to complete during the next sprint, and records this in the sprint backlog. During a sprint, no one is allowed to change the sprint backlog, which means that the requirements are frozen for that sprint. Development is timeboxed such that the sprint must end on time; if requirements are not completed for any reason they are left out and returned to the product backlog. 28 After a sprint is completed, the team demonstrates how to use the software.
Scrum Sprint
Sprint
Lasts for about 7-30 days Implement the top priorities in the Project Backlog called as the Sprint Backlog Sprint estimates updated as tasks are completed or new tasks crop up Potentially shippable product increment
29
Scrum Framework/Practices
30
Scrum Framework
31
Ancillary roles The ancillary roles in Scrum teams are those with no formal role and infrequent involvement in the Scrum processbut nonetheless, they must be taken into account.
32
Figure 4
http://www.implementingscrum.com/
33
Figure 5
36
Scrum Master
Scrum is facilitated by a Scrum Master, sometimes written as ScrumMaster, who is accountable for removing impediments to the ability of the team to deliver the sprint goal/deliverables. The ScrumMaster acts as a liaison between the Product Owner and the team. The ScrumMaster manages the team. Instead, he or she works to remove any impediments that are obstructing the team from achieving its sprint goals. In short, this role helps the team remain creative and productive, while making sure its successes are visible to the Product Owner.
The ScrumMaster also works to advise the Product Owner about how to maximize ROI for the team. A key part of the Scrum Masters role is to protect the Development Team and keep it focused on the tasks at hand.
37
Scrum Master Interface between the management and the scrum team Typically an experienced engineer Responsible for removing impediments that stall the progress of Scrum Team Members Should be able to make quick decisions based on incomplete data The role has also been referred to as a servantleader to reinforce these dual perspectives.
38
Owner
Product Owner represents the voice of the customer and is accountable for ensuring that the team delivers value to the business. The Product Owner writes customer-centric items (typically user stories), prioritizes them, and adds them to the product backlog. the Product Owner has the most authority of the three roles, its also the role with the most responsibility.
Because
39
Product Owner
Sole owner of the product backlog Changes to the product backlog have to be approved by the product owner Mostly Business Analyst ( In some cases Project Managers or Technical Leads)
40
Product Owner
Assure team is pursuing a common vision Establish priorities to track business value Act as the customer for developer questions Work with product management to plan releases Plan, elaborate and accept user stories and iterations Technical: understand and prioritize refactoring and infrastructure
41
In Scrum methodology, the Development Team is responsible for completing work. For software projects, a typical team includes a mix of software engineers, architects, programmers, systems analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. This grants teams a great deal of autonomy, but, similar to the Product Owners situation, that freedom is accompanied by a responsibility to meet the goals of the sprint. The Development Team is responsible for delivering potentially shippable product increments at the end of each Sprint. A Development Team is made up of 39 people with cross-functional skills who do the actual work (analyze, design, develop, test, technical communication, document, etc.). The Development Team in Scrum is self-organizing, even though they may interface with project management organizations (PMOs).
42
43
Development/Scrum Team
Cross Functional Designers, Testers, Systems Analysts etc Recommended Team Size 5 - 10
44
45
Scrum Ceremonies/Meetings
46
At the beginning of the sprint cycle (every 730 days), a Sprint planning meeting is held. Select what work is to be done Prepare the Sprint Backlog that details the time it will take to do that work, with the entire team Identify and communicate how much of the work is likely to be done during the current sprint Eight-hour time limit (1st four hours) Product Owner + Team: dialog for prioritizing the Product Backlog (2nd four hours) Team only: hashing out a plan for the Sprint, resulting in the Sprint Backlog
47
Figure 5
48
49
50
http://www.youtube.com/watch?v=q_R9wQY4G5I
51
52
Scrum of Scrums Each day normally after the Daily Scrum. These meetings allow clusters of teams to discuss their work, focusing especially on areas of overlap and integration. A designated person from each team attends. The agenda will be the same as the Daily Scrum, plus the following four questions: What has your team done since we last met? What will your team do before we meet again? Is anything slowing your team down or getting in their way? Are you about to put something in another teams way?
53
Figure 6
54
Scrum Board
Figure 7
55
the end of a sprint cycle, two meetings are held: the Sprint Review Meeting and the Sprint Retrospective
56
57
Sprint Review
Lasts for about 4 hours Provides feedback to the management Provides feedback to the next Sprint
58
Sprint retrospective
All team members reflect on the past sprint Make continuous process improvements Two main questions are asked in the sprint retrospective: What went well during the sprint? What could be improved in the next sprint? Three-hour time limit
59
60
Scrum Artifacts
1. Product Backlog (User Story) 2. Sprint Backlog 3. Sprint Burndown Chart 4. Sprint Task Board
61
62
63
http://www.mountaingoatsoftware.com/scrum/product-backlog-example/ Figure 8
64
65
Figure 9
66
Figure 10
http://www.mountaingoatsoftware.com/scrum/sprint-backlog/
67
68
Figure 11
69
Figure 12 (Tasks)
70
71
Despite being independent i.e. they have no direct dependencies with other requirements, stories may be clustered into epics when represented on a product roadmap or further down in the backlog.
73
1.As a bank customer I can change my PIN. 2.As a student, I can find my grades online so that I dont have to wait until the next day to know whether I passed. 1.As a book shopper, I can read reviews of a selected book to help me decide whether to buy it. 1.As an author, I want the spell checker to ignore words with numbers so that only truly misspelled words are indicated.
74
As a <user type> I want to <achieve a goal> So that I can <get some value>
75
Sprint Backlog
76
77
Pros/Cons of Scrum
78
Agile Software Development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self organizing, cross functional teams. Agile Manifesto In February 2001, 17 software developers met at the Snowbird, Utah Resort, to discuss lightweight development methods and as result published the Manifesto for Agile Software Development to define the approach now known as Agile Software Development. http://www.agilemanifesto.org/
Agile Alliance Some of the manifesto's authors formed the Agile Alliance, a nonprofit organization that promotes software development according to the manifesto's principles. http://www.agilealliance.org/
79
Scrum
80
81
Based on Agile software development methods as outlined in the Agile Manifesto A more detailed version of SCRUM Features Pre-Sprint Activity
82
over
over
over
Responding to change
over
following a plan
Figure 14
That is, while there is value in the items on the right, we value the items on the left more
83
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7.
Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
8.
2.
9.
3.
10.
4.
11.
5.
12.
6.
84
85
Pre sprint
Sprint Figure 16
Post sprint
86
SCRUM As Is
Figure 17
87
Process People
Products
88
Figure 18
Sprint
Process
89
People
(agile scrum)
team
Scrum master
Product Owner
Figure 19
90
Figure 20
91
Product owners facilitate communication. Product owners need good communication skills, including agile modeling skills. They also need to know who the stakeholders are, interact with them regularly, and when needed facilitate the interaction which the team has w them. Although it's convenient for deliver teams to think of product owners as the "one neck wring" because it puts the burden of requirements responsibility on them, the reality is that the product owner can't possibly know all the details known by the true range of stakeholders at all points in time and as a result will need to bring stakeholder experts to the team to share their expertise with the team at appropriate times. The implication is that the product owner isn't always the direct source of requirements.
92
93
Figure 21
94
http://guide.agilealliance.org/
95
Secrets to success --Agile-Scrum Development Early and often Focus on value Release focus Avoid eating elephants Test first approach to requirements Done-Done Communication, communication, communication (as usual)
96
References
1.
2. 3. 4.
97
References by Topic
Estimating the Product Backlog: http://www.mountaingoatsoftware.com/scrum/product-backlog Writing User Stories: http://www.agilemodeling.com/artifacts/userStory.htm Agile Manifesto: http://agilemanifesto.org/
References by Topic
Empirical Process Control: http://barryhawkins.com/blog/2012/04/13/empirical-process-controlwhy-scrum-works/ User Storys: http://www.westborosystems.com/2010/02/user-story-examples/ SCRUM Artifacts: http://www.scrumalliance.org/pages/scrum_artifacts
99
Questions
100
Thank You
101