Overview of agile methodology
- 3. traditional approach
to software development
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Waterfall Development is
another name for the more
Waterfall Development
- 4. This approach is highly risky, often more costly and
generally less efficient than Agile
approaches
REQUIREMENTS
DESIGN
DEVELOPMENT
TESTING
MAINTENANCE
Takes too long
Changes
Skipped
You don’t realize any value until
the end of the project
You leave the testing until the
end
You don’t seek approval from
the stakeholders until late in the
day
But…
- 11. Scrum Roles
Product owner
SCRUM
ROLES
Product owner
• Define the features of the
product
• Makes scope vs. schedule
decisions
• Responsible for achieving
financial goals of the
project
• Prioritize the product
backlog
• Adjust features and
priority every sprint, as
needed
• Accept or reject work
results
- 12. Scrum Roles
Scrum master
SCRUM
ROLES
Scrum master
• Responsible for enacting
Scrum values and
practices
• Removes impediments
• Coaches the team to their
best possible
performance
• Helps improve team
productivity in any way
possible
• Enable close cooperation
across all roles and
functions
• Shield the team from
external interference
- 13. Scrum Roles
Team
SCRUM
ROLES
Team members
• Share the same norms and rules
• Accountable for the delivery
• The Scrum Team is empowered
• It is working as autonomous as
it is possible
• Self organizing
• The skills within the Scrum team
are balanced
• A Scrum Team is small (7+-2)
and has no sub-teams
• The people within the Scrum
Team work full time in the team
• People are collocated
- 24. Scrum process
SCRUM
PROCESS
Daily
Cycle
Daily Cycle
Parameter:
• Daily
• Stand up
• Time box: 15 mins maximum
Everyone answers 3 questions:
• What did you do yesterday?
• What will you do today?
• Is there anything obstacles?
Not a status report for Scrum Master, they
are commitments in front of peers.
Not for problem solving.
- 26. SCRUM
PROCESS
Sprint
review
Sprint Review
• Team presents what it accomplished
during the sprint.
• Typically takes the form of a demo of
new features or underlying
architecture.
• Periodically take a look at what is and
is not working.
• Typically around 30 minutes.
• Done after every sprint.
• Whole team participates.
- 29. Scrum Measurement?
Velocity
Determines the sum of story points completed ("done") per sprint per
team.
Benefit: Shows the team's capacity for work on a sprint-by-sprint basis.
Story cycle time
Average number of days user stories were in a "committed to done"
state on a sprint-by-sprint basis.
Benefit: Shows how quickly the team completes user stories.
Estimation accuracy
Aggregating story cycle time into story point buckets based on the
completed user story's estimate shown over time (monthly).
Benefit: Shows the reality of how long it takes to complete a user story
versus what's estimated.
- 30. Scrum Measurement?
Defects per release cycle
Shows number of defects logged per release cycle, broken down to
defect type (IAT, regression, production, post-release).
Benefit: Shows overall quality of the team's work.
Defects per story point
Shows a ratio of defects to velocity per sprint.
Benefit: Shows team's average quality per story point.
Test cases run
Showing the number of test cases executed per sprint, broken down by
test type (manual/automated). Can be shown against the sprint's total
number of defects to show the test cases' effectiveness.
Benefit: Shows how much testing is being performed during each sprint.
- 32. Kanban
Lean approach to agile development
Similar to Scrum in the sense that you focus on
features as opposed to groups of features –
however Lean takes this one step further again.
You select, plan, develop, test and deploy
one feature (in its simplest form) before you
select, plan, develop, test and deploy the
next feature.
Aim is to eliminate ‘waste’ wherever possible…
- 33. Kanban (contd…)
Visualize the workflow
Limit WIP (work in progress)
Split the work into pieces, write each
item on a card and put on the wall
Use named columns to illustrate
where each item is in the workflow
Assign explicit limits to how many items may be in progress at each stage
Measure the lead time (average time to complete
one item, sometimes called “cycle time”)
Optimize the process to make lead time as small and predictable as
possible
Editor's Notes
- Prescriptive means “more rules to
follow” and adaptive means “fewer rules to follow”.