Agility Multi-Workshop
L E A N
A G I L E
Venerdì 13 Dicembre 2013 SIAM V. Santa Marta 18 (MI)
K A N B A N
8.30 – 17.30
The Professional Development Team
Introduction to agile & scrum framework Milano, December 13th 2013
Agile introduction Scrum process Scrum roles Estimation User stories Room exercise
Agile introduction
What does Agile means ?
What does Agile means ?
Agile Manifesto
www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. By Agile alliance, Snowbird, Utah on February 2001 http://www.agilemanifesto.org
12 Principles Behind the Manifesto • 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. • 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.
7
http://www.agilemanifesto.org/principles.html
From Emiliano Soldi slideshare
The core ideas in Agile Adaptive: teams and the process flexible in presence of “rapid-fire change”.
Iterative and incremental: Agile Development produces working products in stages – a growing set of “completed and working software”.
People-oriented: the team organization and processes will support good people, who are the most important ingredient to project success.
Agile – Many methods Iterative & Incremental Adaptive to change Customer value focus People Oriented Self--organized team Self Collaborative Continuous Improving …
Scrum XP
Crystal
Kanban TDD and others …
TDD = Test Driven Development
XP = Extreme Programming
Agile introduction Scrum process Scrum roles Estimation User stories Room exercise
What’s scrum
What is Scrum? Scrum is an Agile development framework
Scrum Assumes
Defines simple roles, clear responsibilities
Expects teams to be self managing, selfself-disciplined, selfselfaware continuously improving
Predicting in advance is not possible - markets, customers, will change their minds constantly Therefore, small incremental/iterative development with inspect--adapt loops provides the best chance for market inspect success.
Empirical process model C I PROCESS
O
What is Scrum?
Scrum is
Simple But ……
What is Scrum?
Simple does
Not Mean Easy
What is Scrum? Scrum 3 pillars Inspection:: The various aspects of the process must Inspection be inspected frequently enough so that unacceptable variances in the process can be detected
Adaptation : If one or more aspects of the process are outside acceptable limits, the process must be adjusted as quickly as possible.
Transparency : ensures that aspects of the process that affect the outcome must be visible to those managing the outcomes.
What is Scrum? Scrum 5 values It provides people all the authority they need to meet their commitment
Commitment Focus
put all your efforts and skill on doing what you have committed. Do not worry about anything else!
Openness
scrum keeps everything about a project visible to everyone
Respect
it is important to respect the different people who make up a team
Courage
to commit, to act, to be open and to expect respect!
The values helps us to understand “why we do what we do”.
What is Scrum? Iterations
Scrum Master
Events Daily Stand-up
Daily Scrum 24 hours Sprint backlog
Sprint Planning
Sprint 2-4 weeks
Team Release 2-6 months
Product Owner
Product backlog
Sprint Review Sprint Retrospective
Increment
Scrum roles • The Team • Builds the product that the Product Owner asks. • Cross-functional: all expertise to deliver potentially shippable product each - Product Owner (PO) Sprint. - Responsible for maximizing ROI. • Self-organizing, with a very high - Identifies product features, prioritizes, degree of autonomy and accountability continually re-prioritizes, refines the • 7 ± 2 people; long-lived; list.
• ScrumMaster • Ensure Scrum Practices and Principles. • Not the manager but the coach of the team • Serves the Team, protects them from outside interference, removes impediments. He is a Servant Leader. • Educates, guides the Product Owner and the Team in skillful use of Scrum.
http://www.youtube.com/watch?v=P6v-I9VvTq4&feature=youtu.be 19
A better way to communicate requirements user
user
Marketing requirement
PBIs Product backlog item Priority Value estimate Effort estimate as a user, I want to read the status in 2 as a user, I want to print the result of 3 as a user, I want to record the previous 1 as a user, I want to record the next it 8 as a user, I want to identify the new e 8 as a user, I want to go back on the l 4 as a user, I want to reduce the conse 4 as a user, I want to reuse the previou 6 as a user, I want to remove the item 12 as a user, I want to change the nam 7 as an administrator, I want to collect 3 as an administrator, I want to print a 1 as an administrator, I want to analys 8 as an administrator, I want to raise a 8 as company owner, I want to compu 4 as company owner, I want to read th 6 as company owner, I want to move t 12 as company owner, I want to review 7
Product requirement
Technical requirement
Software requirement
developer
developer
20
Product Backlog High Priority High Precision Each Iteration Implements the highest priority requirements
Requirements may be reprioritized at any time
Each new requirement is prioritized and added to the stack Requirements may be removed at any time
Low Priority Low precision
Backlog refinement is a continuous activities across the sprints
Release Planning •When? Once at the beginning of Scrum adoption or at the start of the product/release •Who? Product Owner, the Team, and any subject matter experts who can help us understand the requirements •What? Create, update, and estimate items for the Product Backlog - Product Backlog Items are estimated and prioritized - Product Backlog Items are selected to worked on in the first Sprint
Release planning = the process of building and maintaining the Product Backlog and Release Burndown - Owned by the Product Owner and updated every Sprint “The release plan establishes the goal of the release, the highest priority Product Backlog, the major risks, and the overall features and functionality that the release will contain. It also establishes a probable delivery date and cost that should hold if nothing changes. The organization can then inspect progress and make changes to this release plan on a Sprint-by-Sprint basis.” from Scrum Guide
Sprint overview Review •2 weeks
•Sprint Planning daily standup meeting
Retrospective
Periodical Backlog Refinement
23
Agile introduction Scrum process Scrum roles Estimation User stories Room exercise
Estimation
Estimation The more effort we put into something, the better the result ? An estimate is still an estimate
According to the experience it does not seem so … Beyond a certain point, additional estimation effort yields very little value
No matter how effort you put an estimate still remains an estimate … From “Agile estimating and Planning” by Mike Cohn 25
Estimation uncertainity cone
Predictable
Uncertain
User story
Epics
Unpredictable
Vision
Goals
Focus
Iteration 2/3 weeks
Release
3 months
1 year
> 1 year Time
Agile planning shifts the emphasis from the plan to the planning Not to change the plan just for the sake of changing, but we want To change because change means we’ve learned something to avoid a mistake
Estimation
It’s difficult to estimate the volumes But it’s easier to estimate their relative sizes
How many coins in the piles ? 3 2
27
1
1
1.5
0.5
Estimation (∑Sizei * timeelementary size ) * team size = Total effort The estimation in size completely separates the estimation of effort from the estimation
of duration Point = f(size, complexity, risks) Estimate size
Guesstimate !
Derive duration
28
Schedule
Estimation
Estimation Ideal burn UP
Story Point
Total Story point = ~240
240
Velocity = ~40 points/ Sprints
220 200 180 160
Sprints to get it Done
140
= 240/40 = 6
120 100
Sprint planned = 7 =
80 60
6 Dev sprints + 1 buffer sprint
40 20
1 Project start
2
3
Actual burn UP
4
5
6 Dev
Release
Complete
Date
Sprints
Estimation [story points] initial estimate value
|line segment slope|= sprint velocity
1
2
3
4
5
6
31
7
8
9
10
iterations
Estimation • The Planning Poker session is a form of Delphi procedure - Studies show that this process works pretty well because quite intuitive. - The estimation process is a public vote. All participants choose a card and put it face down – everyone turns over their cards at the same time - This avoids having some of the early voters influence the votes of other participants - If the cards don’t match, each person gets a chance to briefly defend their choice – then revote
Created by James Grenning and popularized by Mike Cohn
- Pseudo Fibonacci sequence limits the number of choices, avoids false sense of accuracy for high estimates and encourages user stories further splitting
Agile introduction Scrum process Scrum roles Estimation User stories Room exercise
User stories
User stories Designed for modern approach : less formal short iterations
User stories were developed by Kent Beck and Ron Jeffries as part of the Extreme Programming process in the mid-1990s 34
User stories & the 3Cs CARD Stories are traditionally written on note cards
Cards may be annotated with estimates, notes, etc
Conversation
CONFIRMATION
CONVERSATION with the Product Owner adding all the necessary details to the story
Product Owner’s conditions of satisfaction Acceptance criteria to confirm the story was implemented correctly and completed 35
User stories User story = a description of desired functionality told from the perspective of the user or customer ≅ A peculiar scenario of a use case/feature Format of a user story As a I want [to] (So that )
Not that this is not the only possible user story format and Scrum does not mandate any particular approach to Requirements!
• The As a… format was created to solve a particular problem in context, at Connextra (in England, 2000, source Craig Larman) • ‘Spike’ is a special user story used to drive out risk and uncertainty - The team may not have knowledge of a new domain or technology - The story may contain technical/functional risks to be investigated
User stories
Card for "Job search website"
As a user, I want view information about each job is matched by a search FRONT
BACK
38
Conversation for "Job search website” Comments from conversation with Product Owner (details about the user story) + Management information (priority, business value, effort)
As a user, I want view information about each job is matched by a user get a full or partial view according to search •theShould permission (level of subscription) ? FRONT
• What should be shown in every views ? • PLM says: description, salary and location should be basic to show • ….
39
Confirmation for "Job search website “ As a user, I want view information about each job is matched by a search
Try it with an empty job description Try it with a really long job description Try it with a missing salary Try it with …
40
Reading Recommendations For Managers & Practitioner
- For Agile and Lean Coaching
Reading Recommendations For Organizational Transformation & Lean thinking
Agile / scrum community around the world and particularly .. • Mike Cohn
44