This document discusses several agile and lean frameworks including Scrum, Kanban, eXtreme Programming (XP), Feature Driven Development (FDD), and others. It provides overviews of each framework, describing their core practices, events, artifacts, principles, and how they relate to agile development.
2. Agile and Lean Frameworks
Scrum
XP
Kanban
Behaviour Driven
Development
Agile Unified Process
Dynamic Systems
Delivery Method
A single team management framework
“Sign-board” from the Toyota Production System
eXtreme Programming a software development method
Crystal
Scaled Agile
Framework
Core Methods
Many Auxiliary
Methods
Agile and Lean Frameworks
Scrum of Scrums
Large Scale Scrum
Disciplined
Agile
Coincides with Agile Practice Guide 3.0
Feature Driven DevelopmentFDD
3. Coincides with APG 3.0
Scrum
Scrum Scrum is a single-team framework for managing product development.
The Scrum team consists of a:
• Product Owner
• The customer - responsible for maximising the value of the product
• Development Team
• Develops and tests the product. They are cross functional, self
organising and have all the roles needed to deliver the product.
• Scrum Master
• Responsible for ensuring the Scrum processes (i.e. stand-ups and
retrospectives), and coaches the team on removing blockers.
Agile and Lean Frameworks
4. An Introduction to Agile
Coincides with APG 3.0
Scrum Events and Artefacts
Events
Sprint A time-boxed project “iteration” of two to four weeks
Sprint Planning
At the start of each sprint, the scrum team selects the highest
priority items.
Daily Scrum
A short (15 minute) stand-up meeting to walk through project tasks
(often on a Kanban board).
Sprint Review
The development team gives a demo on the product to the product
owner for sign-off (or rework or change)
Sprint Retrospective
A retrospective at the end of the sprint, to improve the way of
work for the next iteration.
Artefacts
Product Backlog The product owner manages a prioritized list of planned product
items which evolves from sprint to sprint.
Sprint Backlog The items selected in Sprint Planning for the upcoming sprint.
Increments The Increment is all the Product Backlog items completed during a
Sprint - a step toward the main vision or goal.
5. Coincides with APG 3.0
Kanban Kanban translates to “visual sign” or card, in Japanese.
Kanban
It is a form of Visual management from Lean Manufacturing, for monitoring Work in Progress, and enabling
“Pull” and “Flow”.
Here is an example of a
simplified Kanban board.
You could use any
columns you like to
represent your work.
Agile and Lean Frameworks
6. Coincides with APG 3.0
Kanban
Kanban
• Pull is where people or teams “pull” work only when they are ready, instead of
work or inventory building up.
• Flow is where work flows effortlessly through the value chain, with no rework.
Kanban does not prescribe “iterations”, but works very well with them (i.e. Scrum).
It is helpful when you need:
• Increased efficiency
• Visibility of each task and ensuring it adds value.
• Team member focus
• Limited work in progress allows the team to focus on the current work.
• Variability in the workload
• Reduction of waste
• Transparency makes waste visible so it can be removed.
Agile and Lean Frameworks
7. Coincides with APG 3.0
Kanban
Kanban
• Additionally, the board acts as an information radiator to anyone who sees it,
providing up-to-date information on the status of work to the team.
Defining Principles Core properties
Start with current state Visualise the workflow
Agree to pursue incremental,
evolutionary change
Limit work in progress
Respect the current process Manage Flow
Lead at all levels Enable “Pull”
Make process policies explicit
Implement feedback loops
Improve collaboratively
Agile and Lean Frameworks
8. Coincides with APG 3.0
eXtreme
Programming
eXtreme Programming
XP is a software development method based on frequent cycles, known for popularising a holistic set of 12
primary practices (later expanded to other secondary practices).
XP Practice Area Primary Secondary
Organisational • Sit together
• Whole Team
• Informative workspace
• Real customer involvement
• Team continuity
• Sustainable pace
Technical • Pair programming
• Test-first programming
• Incremental design
• Shared code/collective ownership
• Documentation from code and tests
• Refactoring
Planning • User stories
• Weekly cycle
• Quarterly cycle
• Slack
• Root cause analysis
• Shrinking teams
• Pay per use
• Negotiated scope contract
• Daily stand-ups
Integration • 10-minute build
• Continuous Integration
• Test-first
• Single code base
• Incremental deployment
• Daily deployment
Agile and Lean Frameworks
9. Coincides with APG 3.0
Feature Driven Development
Feature driven development is an iterative model for developing software. It focuses on:
• Developing an overall model
• Building a features list
• Plan by those features
• Design by those features, and;
• Build by those features.
Feature Driven Development
Develop high-
level model
Develop
features list
Plan by
feature
Design by
feature
Build by
feature
Iterate after feedback
Agile and Lean Frameworks
10. Coincides with APG 3.0
Feature Driven Development
Feature driven development activities are supported by a core set of software engineering
best practices:
• Developing by Feature
• Feature teams
• Inspections
• Regular builds
• Visibility of progress and results
• Configuration management
• Individual class ownership
• Domain object modelling
Feature Driven Development
Agile and Lean Frameworks