Date post: | 28-Jan-2015 |
Category: |
Technology |
Upload: | mralexrosales |
View: | 103 times |
Download: | 0 times |
Common Characteristics
Iterative Development
Cross-Functional & Self-Organized Team
Face-to-Face Communication vs. Documents
Open Office vs. Cubicles
Able to deliver quicklyChange oftenMitigate riskInvolve customerUltimate freedomUltimate responsibility
Increase Business ValueLower Development RiskHigher QualityLess DefectsEmployee EngagementTrust in People…
Agile Approach
Adaptive, empirical process• Small repeating cycles• Short-term planning with constant feedback, inspection and
adaptation
Scope
Develop
DefineEvaluate
• Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
What is Scrum?
• It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
What is Scrum?
• The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.
What is Scrum?
• 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.
What is Scrum?
• Self-organizing teams• Product progresses in a series of
month-long “sprints”• Requirements are captured as items in a
list of “product backlog”
Scrum Characteristics
• No specific engineering practices prescribed
• Uses generative rules to create an agile environment for delivering projects
• One of the “agile processes”
Scrum Characteristics
The Agile Manifesto–a statement of values
Process and toolsIndividuals and
interactionsover
Following a planResponding to
changeover
Source: www.agilemanifesto.org
Comprehensive documentation
Working software over
Contract negotiation
Customer collaboration
over
• Scrum projects make progress in a series of “sprints”
• Analogous to Extreme Programming iterations
• Typical duration is 2–4 weeks or a calendar month at most
Sprints
• A constant duration leads to a better rhythm• Product is designed, coded, and tested
during the sprint• Rather than doing all of one thing at a time...
...Scrum teams do a little of everything all the time
Sprints
• During the Sprint, NO CHANGES
• Plan sprint durations around how long you can commit to keeping change out of the sprint
Sprints
Scrum Framework
•Product Owner•ScrumMaster•Team
Roles
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Product owner•ScrumMaster•Team
Roles
Scrum Framework
• The product owner is responsible for bridging the gaps between the customer, business stakeholders, and the development team.
• The Product Owner is typically a project's key stakeholder with a vision for what is to be built.
Product Owner
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the product (ROI)
•Prioritize features according to market value
Product Owner
• Adjust features and priority every iteration, as needed
• Accept or reject work results
• Closely collaborates with the team on an ongoing basis and guides and direct the team (e.g. managing product backlog, feedback, signing off work results)
Product Owner
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Product owner•ScrumMaster•Team
Roles
Scrum Framework
• Represents management to the project
• Responsible for enacting Scrum values and practices
• Removes impediments
ScrumMaster
• Ensure that the team is fully functional and productive
• Enable close cooperation across all roles and functions
• Shield the team from external interferences
ScrumMaster
• The ScrumMaster is often considered a coach for the team, helping the team do the best work it possibly can.
• The ScrumMaster is also often viewed as a protector of the team.
• Protects the team from complacency – knows when is the time to push for more
ScrumMaster
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Product owner•ScrumMaster•Team
Roles
Scrum Framework
• Typically 5-9 people• Cross-functional:• Programmers, testers, user experience
designers, etc.• Members should be full-time• May be exceptions (e.g., database
administrator)
Team
• Teams are self-organizing
• Ideally, no titles but rarely a possibility
• Membership should change only between sprints
Team
•Product owner•ScrumMaster•Team
Roles
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
Scrum Framework
• Is the planning session before each sprint, where the scope of work for an iteration is determined.
• The purpose of the Sprint Planning is to decide on the sprint commitments, and ensure their content is clearly communicated across the board
Sprint Planning
Meeting
Sprint prioritization• Analyze and evaluate product backlog
• Select sprint goal
Sprint planning
• Decide how to achieve sprint goal (design)
• Create sprint backlog (tasks) from product backlog items (user stories / features)
• Estimate sprint backlog in hours
Sprintgoal
Sprintbacklog
Business conditions
Team capacity
Product backlog
Technology
Current product
Sprint Planning
• Team selects items from the product backlog they can commit to completing
• Sprint backlog is created
• Tasks are identified and each is estimated (ideally 1-8 hours MAX)
Sprint Planning
• Collaboratively, not done alone by the ScrumMaster
• High-level design is considered
Sprint Planning
As a vacation planner, I want to see photos of the hotels. Code the middle tier (8
hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)
•Product owner•ScrumMaster•Team
Roles
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
Scrum Framework
• At the end of each sprint a sprint review meeting is held. During this meeting the Scrum team shows what they accomplished during the sprint. Typically this takes the form of a demo of the new features – no slides
• No more than two hours of preparation time for the meeting - is intentionally kept very informal
Sprint Review
• Participants in the sprint review typically include the Product Owner, the Scrum Team, the ScrumMaster, management, customers, and developers from other projects if apply
• Project is assessed against the Sprint Goal
• Important to achieve the overall goal of the sprint
Sprint Review
•Product owner•ScrumMaster•Team
Roles
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
Scrum Framework
• It is a brief, dedicated period at the end of each sprint to deliberately reflect on how the team are doing and to find ways to improve
• Done after every Sprint
• Less than 1 hour preferable
Sprint Retrospective
• The entire team, including both the ScrumMaster and the Product Owner should participate, possibly customers and others
• Recommended to do it outside the office
• The next retrospective is often begun by reviewing the list of things selected for attention in the prior retrospective.
Sprint Retrospective
Sprint Retrospective
Whole team gathers and discusses what they’d like to:
Start doing
Stop doing
Continue doing
This is just one of many ways to do a sprint retrospective.
•Product owner•ScrumMaster•Team
Roles
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Sprint planning•Sprint review•Sprint retrospective•Daily Scrum Meeting
Ceremonies
Scrum Framework
• It is NOT for problem solving
• Whole world is invited
• Only team members, ScrumMaster, product owner, can talk
• Helps avoid other unnecessary meetings
Daily Scrum Meeting
• Everyone answers 3 questions:
Daily Scrum Meeting
1. What did you yesterday?2. What will you do today?3. Is anything in your way?
These are NOT status for the ScrumMaster
They are commitments in front of colleagues
•Product owner•ScrumMaster•Team
Roles
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product Backlog•Sprint backlog•Burndown charts
Artifacts
Scrum Framework
• The requirements• A list of all desired work on
the project• Ideally expressed such that
each item has value to the users or customers of the product
Product backlog
Sample Product backlog
Backlog item Estimate
Allow a guest to make a reservation 3
As a guest, I want to cancel a reservation. 5
As a guest, I want to change the dates of a reservation. 3
As a hotel employee, I can run RevPAR reports (revenue-per-available-room)
8
Improve exception handling 8
... 30
... 50
• is a short, one - or two-sentence, description of what the team plans to achieve during the sprint.
• It is written collaboratively by the Team and the Product Owner.
The Sprint Goal
• Implement basic shopping cart functionality including add, remove, and update quantities.
• The checkout process—pay for an order, pick shipping, order gift wrapping, etc.
Sprint Goals Sample Ecommerce App
•Product owner•ScrumMaster•Team
Roles
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product Backlog•Sprint Backlog•Burndown charts
Artifacts
Scrum Framework
• Individuals sign up for work of their own choosing
• Work is never assigned• Estimated work remaining
is updated daily
Sprint backlog
• Any team member can add, delete or change the sprint backlog
• If work is unclear, define a sprint backlog item with a larger amount of time and break it down later
Sprint backlog
• The Product Owner does not get to say, "We have four sprints left so you need to do one-fourth of everything I need.
Sprint backlog
• It is up to the Team to determine how much they can do in the sprint
• Work for the sprint emerges
• Update work remaining as more becomes known
Sprint backlog
Sample Sprint backlog
TasksCode the user interfaceCode the middle tier
Test the middle tier
Write online help
Write the foo class
Mon8
16
8
12
8
Tues4
12
16
8
WedThur
4
11
8
4
Fri
8
8
Add error logging
8
10
16
8
8
Sprint backlog
• During the sprint, team members are expected to update the sprint backlog as new information is available, but minimally once per day. Many teams will do this during the daily scrum.
Sprint backlog
• Once each day, the estimated work remaining in the sprint is calculated and graphed by the ScrumMaster, resulting in a Sprint Burndown chart
•Product owner•ScrumMaster•Team
Roles
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product Backlog•Sprint Backlog•Burndown Charts
Artifacts
Scrum Framework
Sprint Burndown ChartH
ou
rs
40
30
20
10
0Mon Tue Wed Thu Fri
TasksCode the user interfaceCode the middle tier
Test the middle tier
Write online help
Mon8
16
8
12
Tues Wed Thur Fri4
12
16
7
11
8
10
16 8
50
Sprint backlog
• The team does its best to pull the right amount of work into the sprint but sometimes too much or too little work is pulled in during the Sprint Planning meeting
• In this case the team needs to add or remove tasks and the Product Owner consulted
Portions of this Presentation are from the following sources:
• Mike Cohn, Mountain Goat Software, LLC• Scrum.org • Scrum Alliance, scrumalliance.org
Thank you for [email protected]