SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
Mike Cohn
Mountain Goat Software
mike@mountaingoatsoftware.com
Selecting a Development
Process:
Choosing Among the
Leading Alternatives
1
Founding member and
director of Agile Alliance,
Scrum Alliance, and Agile
Project LeadershipNetwork
Founder of Mountain
Goat Software
Consultant, author,and speaker
Mike Cohn - background
© Mountain Goat Software, LLC
2
© Mountain Goat Software, LLC
Considerations
Team Software Process
Scrum
Extreme Programming
OpenUP/Basic
Feature-Driven Development
Today’s agenda
3
© Mountain Goat Software, LLC
Ceremony
The amount of formalism in a process
Documentation, method weight, reviews
Few documents
Few steps
Many documents
Formal steps
4
© Mountain Goat Software, LLC
Cycles
Number and
length of
iterations
Few documents
Few steps
Many documents
Formal steps
Sequential
Many short iterations
(5 days)
5
© Mountain Goat Software, LLC
Placing the processes
Few documents
Few steps
Many documents
Formal steps
Sequential
Many short iterations
(5 days)
Extreme
Programming
Scrum
Team Software
Process
OpenUP
6
© Mountain Goat Software, LLC
Considerations
Team Software Process
Scrum
Extreme Programming
OpenUP/Basic
Feature-Driven Development
Today’s agenda
7
© Mountain Goat Software, LLC
Team Software Process (TSP)
Created by Watts Humphrey
Of Software Engineering Institute and Capability
Maturity Model (CMM)
Builds on his Personal Software Process
A “cyclic development strategy”
Another way of saying “iterative and incremental”
8
© Mountain Goat Software, LLC
Goals of the TSP
1. Build on the Personal Software Process
2. Develop products in cycles
3. Establish standard measures for quality and
performance
4. Provide precise measures
5. Use role and team evaluations
6. Require process discipline
7. Provide guidance on teamwork problems
9
© Mountain Goat Software, LLC
Team Software Process (TSP)
Strategy 1
Plan 1
Requirements 1
Design 1
Implementation 1
Test 1
Postmortem 1
Cycle 1 Launch
Strategy 2
Plan 2
Requirements 2
Design 2
Implementation 2
Test 2
Postmortem 2
Cycle 2 Launch
Strategy 3
Plan 3
Requirements 3
Design 3
Implementation 3
Test 3
Postmortem 3
Cycle 3 Launch
10
© Mountain Goat Software, LLC
Cyclic development
A testable version is produced at the end of
each cycle
it
Defects should be removed during the cycle
11
© Mountain Goat Software, LLC
Designed to solve team problems
Tom DeMarco
“The success or failure of a project is seldom due to
‘has the state of the art advanced far enough so that
this program can be written?’ Of course it has. If the
project goes down the tubes, it will be non-technical,
human interaction problems that do it in.The team
will fail to bond, or the developers will fail to gain
interminably over meaningless methodological
issues.”
12
© Mountain Goat Software, LLC
Teams, members, roles and goals
A team has one or more members
Goals are assigned throughout this hierarchy
Team, member, role
Team leader Quality/process manager
Development manager
Planning manager
Support manager
13
© Mountain Goat Software, LLC
Goals and goals and...
Team goals
Produce a quality product
Run a productive and well-managed project
Finish on time
Team member goals
Be a cooperative and effective team member
Do consistently disciplined personal work
Plan and track all your personal work
Produce quality products
14
© Mountain Goat Software, LLC
...more goals
Dev manager goals
Produce a superior product
Fully use the team members’ skills and abilities
Some of these goals point out some underlying
beliefs of TSP, such as:
You can’t control what you can’t measure
Managers “use the team members’ skills”
15
© Mountain Goat Software, LLC
Scripts and forms
a software system
21 activity scripts
10 role scripts
Often quite detailed
Scripts prescribe completing 21 supporting
forms
16
© Mountain Goat Software, LLC
The inspection script
Purpose To help engineers produce quality products
Entry criteriaa
A completed and reviewed product with available
materials
Step Activities Description
1
Plan the
inspection
The developer
Arranges with the quality/process manager or
moderator
Handles the mechanics of setting up and running…
2
Hold the
inspection
The moderator describes the inspection process
The producer familiar the inspection team with the
product.
... ... ...
Exit ccriteria
17
© Mountain Goat Software, LLC
Choose TSP if...
…you have the discipline to follow all of its
…are already using the complementary
Personal Software Process (PSP)
…team members need this level of guidance
…you do not have emergent requirements
18
© Mountain Goat Software, LLC
Considerations
Team Software Process
Scrum
Extreme Programming
OpenUP/Basic
Feature-Driven Development
Today’s agenda
19
© Mountain Goat Software, LLC
Scrum characteristics
30-day iterations called “sprints”
Self-organizing teams
But many Scrum teams are adopting much of XP
Uses generative rules to create an agile
environment for delivering projects
20
© Mountain Goat Software, LLC
Scrum roles
Not quite the project manager
Removes impediments
Enforces Scrum values
ScrumMaster
Scrum team
7–9 full-time individuals
Self-organizing
Ideally full-time on project
Product owner
Customer or user of the project
Makes prioritization decisions
21
© Mountain Goat Software, LLC
Scrum
Cancel
Gift wrap
Return
Sprint
2-4 weeks
Return
Sprint goal
Sprint
backlog
Potentially shippable
product increment
Product
backlog
CouponsGift wrap
Coupons
Cancel
24 hours
22
© Mountain Goat Software, LLC
Scrum roles and responsibilities
Prioritizes features according to market value
Can change features and priority every sprint
Accepts or rejects work results
Product
Owner
Ensures that the team is fully functional and productive
Enables close cooperation across all roles and functions and removes
barriers
Shields the team from external interferences
Ensures that the process is followed.
Scrum
Master
Cross-functional, seven plus/minus two members
Selects the sprint backlog
Has the right to do everything within the boundaries of the project
guidelines to reach the sprint goal
Organizes itself and its work
Demos work results to the Product OwnerTeam
23
© Mountain Goat Software, LLC
Scrum meetings
Sprint
planning
Team selects product backlog items to
complete during sprint
Daily scrum
What did you do yesterday?
What will you do today?
What’s in your way?
Team demonstrates working software
built in the sprint
Sprint review
Sprint
retrospective ways to improve
24
© Mountain Goat Software, LLC
Scrum of scrums of scrums
25
© Mountain Goat Software, LLC
A sprint burndown chart
0
200
400
600
800
1,000
4/29/02
5/6/02
5/13/02
5/20/02
5/24/02
26
© Mountain Goat Software, LLC
Choose Scrum if...
…requirements are changing or emergent
…you’re willing to let the team self-organize
…you need a management framework more
than a set of engineering practices
…you want to better manage risk
…you need a proven, scalable agile process
27
© Mountain Goat Software, LLC
Considerations
Team Software Process
Scrum
Extreme Programming
OpenUP/Basic
Feature-Driven Development
Today’s agenda
28
© Mountain Goat Software, LLC
Extreme Programming
project management approach
A tough target to hit but highly productive if
you do
29
© Mountain Goat Software, LLC
XP’s customer practices
On-site customer
Small releases
30
© Mountain Goat Software, LLC
XP’s quality practices
Metaphor
Testing
Simple design
Refactoring
Pair programming
31
© Mountain Goat Software, LLC
XP’s quality practices
The Planning Game
Sustainable pace
Collective ownership
Coding standards
Continuous integration
32
© Mountain Goat Software, LLC
Choose Extreme Programming if...
requirements
…you have or can develop strong engineering
skills and practices
…customers can be involved on a daily
(hourly) basis
…it’s important you hit the bull’s eye right off
and you think you can
33
© Mountain Goat Software, LLC
Considerations
Team Software Process
Scrum
Extreme Programming
OpenUP/Basic
Feature-Driven Development
Today’s agenda
34
© Mountain Goat Software, LLC
OpenUP/Basic
Delivered through the Eclipse Process
Framework
Targeted at teams of 3-6 people
Targeted at projects 3-6 months long
35
© Mountain Goat Software, LLC
Comparison with RUP
OpenUP/Basic RUP
Pages 190 ~2000
Roles 6 ~45
Tasks 23 ~150
Artifacts 17 ~80
Source: What is the Eclipse Process Framework,
Per Kroll and Scott Ambler,
IBM Rational Software Development Conference 2006.
36
© Mountain Goat Software, LLC
OpenUP roles
Analyst
Architect
Developer
Tester
Project manager
37
© Mountain Goat Software, LLC
Roles, tasks, and artifacts
Plan the
project
Assess
results
Prioritize
work
Monitor
and
control
project
Initiate
Iteration
Plan
Iteration
Project
manager
Performs
Project
plan
Status
assessment
Iteration
plan
Work
items list
Responsible for
38
© Mountain Goat Software, LLC
Open UP phases
Establish scope and produce business case
Mitigate business risks
Get buy-in and decision to undertake project
Inception
Reduce major risks to enable cost and schedule
estimates
Mitigate major technical risks
Implement a baseline architecture
Implement key capabilities
Elaboration
39
© Mountain Goat Software, LLC
Majority of implementation
Ends with deployment of a beta version
Construction
Ensure software meets users’ needs
Prepare for release
Solicit user feedback and make minor adjustments
Transition
40
© Mountain Goat Software, LLC
Iterate within each phase
Inception
Preliminary
iteration(s)
Elaboration
Iteration#1
Iteration#2
Iteration#n
Iteration#n+1
Construction
Iteration#n+2
Transition
Iteration#m
Iteration#m
41
© Mountain Goat Software, LLC
Choose OpenUP/Basic if...
You like RUP but want something lighter
You want an open source version of RUP
You have a small project (3-6 people; 3-6
months)
You want a semi-agile process based on role,
task and artifact guidance
42
© Mountain Goat Software, LLC
Considerations
Team Software Process
Scrum
Extreme Programming
OpenUP/Basic
Feature-Driven Development
Today’s agenda
43
© Mountain Goat Software, LLC
Feature-Driven Development
Originates in Java Modeling in Color with UML
by Coad, Lefebvre and De Luca in 1999
Jeff DeLuca is main advocate
A Practical Guide to Feature-Driven Development
by Palmer and Felsing in 2002
44
© Mountain Goat Software, LLC
Features and feature sets
Features
Serve as primary unit of work
Similar to XP stories or Scrum backlog items
Small enough to do in two weeks
Feature Set
Collection of features
Assigned to a Chief Programmer and her team
Major Feature Set
A domain area, one or more Feature Sets
45
© Mountain Goat Software, LLC
Example features
A short description of an action of value to
users of the system
Format
<action> the <result> <by|for|of|to> a(n)
<object>
Estimate the closing price of a stock
Calculate the total cost of an order
Change the password for a user
Retrieve the room number of a guest
Examples
46
© Mountain Goat Software, LLC
Five processes
Develop
an overall
model
Build a
features
list
Plan by
feature
Design by
feature
Build by
feature
Sequential Iterative
47
© Mountain Goat Software, LLC
Sample development plan
Major feature
set Feature set Feature Chief
programmer Date
Interfacing Reservations
Make a
reservation for a
guest
Chris December
Interfacing Reservations
Cancel a
reservation for
a guest
Chris December
Interfacing Reservations
Update a
reservation for
a guest
Chris January
Reporting Future
reservations
View future
reservations of
competitors
James December
Reporting Rates View internet
rates for a hotel Kristy February
48
© Mountain Goat Software, LLC
Eight best practices
Feature
teams
Domain
object
modeling
Regular
progress
Regular
builds
Individual
class
ownership
management
Inspections
Developing
by feature
Need all eight to be doing FDD
49
© Mountain Goat Software, LLC
Tracking progress
Reservations
(3)
65%
December
Chris
Chief
programmer
Feature set name
Number of
features in set
Percentage complete
Target completion
month
Work in progress
Completed
Attention
Not started
50
© Mountain Goat Software, LLC
Choose FDD if...
…you are willing to trade some agility for a
…your organization has solid UML skills
…most requirements are knowable in advance
or somewhat stable
…you do not view self-organizing teams as a
critical success factor
51
© Mountain Goat Software, LLC
Where to go next
Team Software
Process
Scrum
Extreme
Programming
Introduction to theTeam Software Process
by Watts S. Humphrey
www.mountaingoatsoftware.com/scrum
Agile Software Development with Scrum by
Ken Schwaber and Mike Beedle
Agile Project Management with Scrum by
Ken Schwaber
www.xprogramming.com
c2.com/cgi/wiki?
ExtremeProgrammingRoadmap
extremeprogramming@yahoogroups.com
52
© Mountain Goat Software, LLC
Where to go next
OpenUP
FDD
Agile in General
www.agilealliance.org
www.mountaingoatsoftware.com
www.featuredrivendevelopment.com
www.eclipse.org/epf
Agility and Discipline Made Easy by
Per Kroll and Bruce MacIsaac
53
© Mountain Goat Software, LLC
Upcoming public classes
Date What Where
Oct 18-19 Denver
Oct 23-24
Oct 25 Agile Estimating and Planning
San Diego
Jan 15-16
Jan 17 Agile Estimating and Planning
Atlanta
Feb 26-27
Feb 28 Agile Estimating and Planning
Santa
Clara
Other classess in London and Oslo if you’re up for a longer trip.
More info at
www.mountaingoatsoftware.com
54
© Mountain Goat Software, LLC
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
(303) 810-2190 (mobile)
Mike Cohn contact info
55

Contenu connexe

Tendances

Leading a Self-Organizing Team
 Leading a Self-Organizing Team Leading a Self-Organizing Team
Leading a Self-Organizing TeamMike Cohn
 
ADAPTing to Agile Development
ADAPTing to Agile DevelopmentADAPTing to Agile Development
ADAPTing to Agile DevelopmentMike Cohn
 
Getting Agile with Srum
Getting Agile with SrumGetting Agile with Srum
Getting Agile with SrumMike Cohn
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamMike Cohn
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To AgileMichael Sahota
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologiesguy_davis
 
Transitioning to Agile
Transitioning to AgileTransitioning to Agile
Transitioning to AgileMike Cohn
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumLemi Orhan Ergin
 
Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014Mike Cohn
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum3scale.net
 
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Jens Wilke
 
Scrum In Ten Slides
Scrum In Ten SlidesScrum In Ten Slides
Scrum In Ten Slidespmengal
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Primer on Agile Project Management and SCRUM
Primer on Agile Project Management and SCRUMPrimer on Agile Project Management and SCRUM
Primer on Agile Project Management and SCRUMJoe Riego
 
Scrum and agile principles
Scrum and agile principles Scrum and agile principles
Scrum and agile principles Ruben Canlas
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XPSemen Arslan
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentationdeyoepw
 

Tendances (20)

Leading a Self-Organizing Team
 Leading a Self-Organizing Team Leading a Self-Organizing Team
Leading a Self-Organizing Team
 
ADAPTing to Agile Development
ADAPTing to Agile DevelopmentADAPTing to Agile Development
ADAPTing to Agile Development
 
Getting Agile with Srum
Getting Agile with SrumGetting Agile with Srum
Getting Agile with Srum
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed Team
 
Agile & Scrum Training
Agile & Scrum TrainingAgile & Scrum Training
Agile & Scrum Training
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To Agile
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Transitioning to Agile
Transitioning to AgileTransitioning to Agile
Transitioning to Agile
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
 
Scrum agile process
Scrum agile processScrum agile process
Scrum agile process
 
Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014Leading Self Organizing Teams - NDC 2014
Leading Self Organizing Teams - NDC 2014
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)
 
Scrum In Ten Slides
Scrum In Ten SlidesScrum In Ten Slides
Scrum In Ten Slides
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Primer on Agile Project Management and SCRUM
Primer on Agile Project Management and SCRUMPrimer on Agile Project Management and SCRUM
Primer on Agile Project Management and SCRUM
 
Scrum and agile principles
Scrum and agile principles Scrum and agile principles
Scrum and agile principles
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XP
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
 
India Agile Week 2015
India Agile Week 2015India Agile Week 2015
India Agile Week 2015
 

Similaire à Selecting a Development Process

Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Featuresgurbaxrawat
 
Scrum & Agile - imobilemagic
Scrum & Agile - imobilemagicScrum & Agile - imobilemagic
Scrum & Agile - imobilemagicStartup Braga
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
Introduction to Agile Project Management - Scrum 101
Introduction to Agile Project Management - Scrum 101Introduction to Agile Project Management - Scrum 101
Introduction to Agile Project Management - Scrum 101Marge Tam, PMP, CSM, A-CSM
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
Agile Development with Scrum.pptx
Agile Development with Scrum.pptxAgile Development with Scrum.pptx
Agile Development with Scrum.pptxzuma14
 
Intro To Scrum
Intro To ScrumIntro To Scrum
Intro To Scrumscottycn
 
Agile Truths and Misconceptions
Agile Truths and MisconceptionsAgile Truths and Misconceptions
Agile Truths and MisconceptionsRichard Cheng
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrummsorin
 
An Introduction to Scrum
An Introduction to ScrumAn Introduction to Scrum
An Introduction to Scrummbalas2
 
Beyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleBeyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleTasktop
 
Why Scrum Why Now
Why Scrum Why NowWhy Scrum Why Now
Why Scrum Why Nowmtoppa
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To ScrumErwin Verweij
 
Close to agile
Close to agileClose to agile
Close to agilephilywu
 

Similaire à Selecting a Development Process (20)

Outsourcing With Agile
Outsourcing With AgileOutsourcing With Agile
Outsourcing With Agile
 
Introduction to agile
Introduction to agileIntroduction to agile
Introduction to agile
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Features
 
Agile
AgileAgile
Agile
 
Agile
Agile Agile
Agile
 
Scrum & Agile - imobilemagic
Scrum & Agile - imobilemagicScrum & Agile - imobilemagic
Scrum & Agile - imobilemagic
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Introduction to Agile Project Management - Scrum 101
Introduction to Agile Project Management - Scrum 101Introduction to Agile Project Management - Scrum 101
Introduction to Agile Project Management - Scrum 101
 
Agile Methodologies - Project Management with SCRUM
Agile Methodologies - Project Management with SCRUMAgile Methodologies - Project Management with SCRUM
Agile Methodologies - Project Management with SCRUM
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
Agile Development with Scrum.pptx
Agile Development with Scrum.pptxAgile Development with Scrum.pptx
Agile Development with Scrum.pptx
 
Intro To Scrum
Intro To ScrumIntro To Scrum
Intro To Scrum
 
Agile Truths and Misconceptions
Agile Truths and MisconceptionsAgile Truths and Misconceptions
Agile Truths and Misconceptions
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrum
 
An Introduction to Scrum
An Introduction to ScrumAn Introduction to Scrum
An Introduction to Scrum
 
Beyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleBeyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at Scale
 
Why Scrum Why Now
Why Scrum Why NowWhy Scrum Why Now
Why Scrum Why Now
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To Scrum
 
Close to agile
Close to agileClose to agile
Close to agile
 

Plus de Mike Cohn

Agile Estimating - NDC 2014
Agile Estimating - NDC 2014Agile Estimating - NDC 2014
Agile Estimating - NDC 2014Mike Cohn
 
Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014Mike Cohn
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile RequirementsMike Cohn
 
Advanced Agile Planning
Advanced Agile PlanningAdvanced Agile Planning
Advanced Agile PlanningMike Cohn
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile EstimatingMike Cohn
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamMike Cohn
 
User Stories
User Stories User Stories
User Stories Mike Cohn
 
Agile planning and project management
Agile planning and project managementAgile planning and project management
Agile planning and project managementMike Cohn
 
Scrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing TeamScrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing TeamMike Cohn
 
Advanced Topics in Agile Planning
Advanced Topics in Agile PlanningAdvanced Topics in Agile Planning
Advanced Topics in Agile PlanningMike Cohn
 
Agile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentAgile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentMike Cohn
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile EstimatingMike Cohn
 
Agile Product Management
Agile Product ManagementAgile Product Management
Agile Product ManagementMike Cohn
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User StoriesMike Cohn
 
Planning and Tracking Agile Projects
Planning and Tracking Agile ProjectsPlanning and Tracking Agile Projects
Planning and Tracking Agile ProjectsMike Cohn
 
Overcoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & AgilephobiasOvercoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & AgilephobiasMike Cohn
 
Incorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of ChangeIncorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of ChangeMike Cohn
 
Experiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to PlanningExperiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to PlanningMike Cohn
 
Planning for Contract Agile Projects
Planning for Contract Agile ProjectsPlanning for Contract Agile Projects
Planning for Contract Agile ProjectsMike Cohn
 
Prioritizing Your Product Backlog
Prioritizing Your Product BacklogPrioritizing Your Product Backlog
Prioritizing Your Product BacklogMike Cohn
 

Plus de Mike Cohn (20)

Agile Estimating - NDC 2014
Agile Estimating - NDC 2014Agile Estimating - NDC 2014
Agile Estimating - NDC 2014
 
Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014Advanced Agile Planning - NDC 2014
Advanced Agile Planning - NDC 2014
 
User Stories for Agile Requirements
User Stories for Agile RequirementsUser Stories for Agile Requirements
User Stories for Agile Requirements
 
Advanced Agile Planning
Advanced Agile PlanningAdvanced Agile Planning
Advanced Agile Planning
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 
Scaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed TeamScaling Agile and Working with a Distributed Team
Scaling Agile and Working with a Distributed Team
 
User Stories
User Stories User Stories
User Stories
 
Agile planning and project management
Agile planning and project managementAgile planning and project management
Agile planning and project management
 
Scrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing TeamScrum: Leading a Self-Organizing Team
Scrum: Leading a Self-Organizing Team
 
Advanced Topics in Agile Planning
Advanced Topics in Agile PlanningAdvanced Topics in Agile Planning
Advanced Topics in Agile Planning
 
Agile and Scrum for Video Game Development
Agile and Scrum for Video Game DevelopmentAgile and Scrum for Video Game Development
Agile and Scrum for Video Game Development
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 
Agile Product Management
Agile Product ManagementAgile Product Management
Agile Product Management
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User Stories
 
Planning and Tracking Agile Projects
Planning and Tracking Agile ProjectsPlanning and Tracking Agile Projects
Planning and Tracking Agile Projects
 
Overcoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & AgilephobiasOvercoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & Agilephobias
 
Incorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of ChangeIncorporating Learning and Expected Cost of Change
Incorporating Learning and Expected Cost of Change
 
Experiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to PlanningExperiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to Planning
 
Planning for Contract Agile Projects
Planning for Contract Agile ProjectsPlanning for Contract Agile Projects
Planning for Contract Agile Projects
 
Prioritizing Your Product Backlog
Prioritizing Your Product BacklogPrioritizing Your Product Backlog
Prioritizing Your Product Backlog
 

Dernier

Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchirictsugar
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?Olivia Kresic
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCRashishs7044
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailAriel592675
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaoncallgirls2057
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Servicecallgirls2057
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyotictsugar
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMVoces Mineras
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Anamaria Contreras
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCRashishs7044
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMintel Group
 
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / NcrCall Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncrdollysharma2066
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Pereraictsugar
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxMarkAnthonyAurellano
 

Dernier (20)

No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchir
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detail
 
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City GurgaonCall Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyot
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQM
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
 
Corporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information TechnologyCorporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information Technology
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
 
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / NcrCall Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Perera
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
 

Selecting a Development Process

  • 1. Mike Cohn Mountain Goat Software mike@mountaingoatsoftware.com Selecting a Development Process: Choosing Among the Leading Alternatives 1
  • 2. Founding member and director of Agile Alliance, Scrum Alliance, and Agile Project LeadershipNetwork Founder of Mountain Goat Software Consultant, author,and speaker Mike Cohn - background © Mountain Goat Software, LLC 2
  • 3. © Mountain Goat Software, LLC Considerations Team Software Process Scrum Extreme Programming OpenUP/Basic Feature-Driven Development Today’s agenda 3
  • 4. © Mountain Goat Software, LLC Ceremony The amount of formalism in a process Documentation, method weight, reviews Few documents Few steps Many documents Formal steps 4
  • 5. © Mountain Goat Software, LLC Cycles Number and length of iterations Few documents Few steps Many documents Formal steps Sequential Many short iterations (5 days) 5
  • 6. © Mountain Goat Software, LLC Placing the processes Few documents Few steps Many documents Formal steps Sequential Many short iterations (5 days) Extreme Programming Scrum Team Software Process OpenUP 6
  • 7. © Mountain Goat Software, LLC Considerations Team Software Process Scrum Extreme Programming OpenUP/Basic Feature-Driven Development Today’s agenda 7
  • 8. © Mountain Goat Software, LLC Team Software Process (TSP) Created by Watts Humphrey Of Software Engineering Institute and Capability Maturity Model (CMM) Builds on his Personal Software Process A “cyclic development strategy” Another way of saying “iterative and incremental” 8
  • 9. © Mountain Goat Software, LLC Goals of the TSP 1. Build on the Personal Software Process 2. Develop products in cycles 3. Establish standard measures for quality and performance 4. Provide precise measures 5. Use role and team evaluations 6. Require process discipline 7. Provide guidance on teamwork problems 9
  • 10. © Mountain Goat Software, LLC Team Software Process (TSP) Strategy 1 Plan 1 Requirements 1 Design 1 Implementation 1 Test 1 Postmortem 1 Cycle 1 Launch Strategy 2 Plan 2 Requirements 2 Design 2 Implementation 2 Test 2 Postmortem 2 Cycle 2 Launch Strategy 3 Plan 3 Requirements 3 Design 3 Implementation 3 Test 3 Postmortem 3 Cycle 3 Launch 10
  • 11. © Mountain Goat Software, LLC Cyclic development A testable version is produced at the end of each cycle it Defects should be removed during the cycle 11
  • 12. © Mountain Goat Software, LLC Designed to solve team problems Tom DeMarco “The success or failure of a project is seldom due to ‘has the state of the art advanced far enough so that this program can be written?’ Of course it has. If the project goes down the tubes, it will be non-technical, human interaction problems that do it in.The team will fail to bond, or the developers will fail to gain interminably over meaningless methodological issues.” 12
  • 13. © Mountain Goat Software, LLC Teams, members, roles and goals A team has one or more members Goals are assigned throughout this hierarchy Team, member, role Team leader Quality/process manager Development manager Planning manager Support manager 13
  • 14. © Mountain Goat Software, LLC Goals and goals and... Team goals Produce a quality product Run a productive and well-managed project Finish on time Team member goals Be a cooperative and effective team member Do consistently disciplined personal work Plan and track all your personal work Produce quality products 14
  • 15. © Mountain Goat Software, LLC ...more goals Dev manager goals Produce a superior product Fully use the team members’ skills and abilities Some of these goals point out some underlying beliefs of TSP, such as: You can’t control what you can’t measure Managers “use the team members’ skills” 15
  • 16. © Mountain Goat Software, LLC Scripts and forms a software system 21 activity scripts 10 role scripts Often quite detailed Scripts prescribe completing 21 supporting forms 16
  • 17. © Mountain Goat Software, LLC The inspection script Purpose To help engineers produce quality products Entry criteriaa A completed and reviewed product with available materials Step Activities Description 1 Plan the inspection The developer Arranges with the quality/process manager or moderator Handles the mechanics of setting up and running… 2 Hold the inspection The moderator describes the inspection process The producer familiar the inspection team with the product. ... ... ... Exit ccriteria 17
  • 18. © Mountain Goat Software, LLC Choose TSP if... …you have the discipline to follow all of its …are already using the complementary Personal Software Process (PSP) …team members need this level of guidance …you do not have emergent requirements 18
  • 19. © Mountain Goat Software, LLC Considerations Team Software Process Scrum Extreme Programming OpenUP/Basic Feature-Driven Development Today’s agenda 19
  • 20. © Mountain Goat Software, LLC Scrum characteristics 30-day iterations called “sprints” Self-organizing teams But many Scrum teams are adopting much of XP Uses generative rules to create an agile environment for delivering projects 20
  • 21. © Mountain Goat Software, LLC Scrum roles Not quite the project manager Removes impediments Enforces Scrum values ScrumMaster Scrum team 7–9 full-time individuals Self-organizing Ideally full-time on project Product owner Customer or user of the project Makes prioritization decisions 21
  • 22. © Mountain Goat Software, LLC Scrum Cancel Gift wrap Return Sprint 2-4 weeks Return Sprint goal Sprint backlog Potentially shippable product increment Product backlog CouponsGift wrap Coupons Cancel 24 hours 22
  • 23. © Mountain Goat Software, LLC Scrum roles and responsibilities Prioritizes features according to market value Can change features and priority every sprint Accepts or rejects work results Product Owner Ensures that the team is fully functional and productive Enables close cooperation across all roles and functions and removes barriers Shields the team from external interferences Ensures that the process is followed. Scrum Master Cross-functional, seven plus/minus two members Selects the sprint backlog Has the right to do everything within the boundaries of the project guidelines to reach the sprint goal Organizes itself and its work Demos work results to the Product OwnerTeam 23
  • 24. © Mountain Goat Software, LLC Scrum meetings Sprint planning Team selects product backlog items to complete during sprint Daily scrum What did you do yesterday? What will you do today? What’s in your way? Team demonstrates working software built in the sprint Sprint review Sprint retrospective ways to improve 24
  • 25. © Mountain Goat Software, LLC Scrum of scrums of scrums 25
  • 26. © Mountain Goat Software, LLC A sprint burndown chart 0 200 400 600 800 1,000 4/29/02 5/6/02 5/13/02 5/20/02 5/24/02 26
  • 27. © Mountain Goat Software, LLC Choose Scrum if... …requirements are changing or emergent …you’re willing to let the team self-organize …you need a management framework more than a set of engineering practices …you want to better manage risk …you need a proven, scalable agile process 27
  • 28. © Mountain Goat Software, LLC Considerations Team Software Process Scrum Extreme Programming OpenUP/Basic Feature-Driven Development Today’s agenda 28
  • 29. © Mountain Goat Software, LLC Extreme Programming project management approach A tough target to hit but highly productive if you do 29
  • 30. © Mountain Goat Software, LLC XP’s customer practices On-site customer Small releases 30
  • 31. © Mountain Goat Software, LLC XP’s quality practices Metaphor Testing Simple design Refactoring Pair programming 31
  • 32. © Mountain Goat Software, LLC XP’s quality practices The Planning Game Sustainable pace Collective ownership Coding standards Continuous integration 32
  • 33. © Mountain Goat Software, LLC Choose Extreme Programming if... requirements …you have or can develop strong engineering skills and practices …customers can be involved on a daily (hourly) basis …it’s important you hit the bull’s eye right off and you think you can 33
  • 34. © Mountain Goat Software, LLC Considerations Team Software Process Scrum Extreme Programming OpenUP/Basic Feature-Driven Development Today’s agenda 34
  • 35. © Mountain Goat Software, LLC OpenUP/Basic Delivered through the Eclipse Process Framework Targeted at teams of 3-6 people Targeted at projects 3-6 months long 35
  • 36. © Mountain Goat Software, LLC Comparison with RUP OpenUP/Basic RUP Pages 190 ~2000 Roles 6 ~45 Tasks 23 ~150 Artifacts 17 ~80 Source: What is the Eclipse Process Framework, Per Kroll and Scott Ambler, IBM Rational Software Development Conference 2006. 36
  • 37. © Mountain Goat Software, LLC OpenUP roles Analyst Architect Developer Tester Project manager 37
  • 38. © Mountain Goat Software, LLC Roles, tasks, and artifacts Plan the project Assess results Prioritize work Monitor and control project Initiate Iteration Plan Iteration Project manager Performs Project plan Status assessment Iteration plan Work items list Responsible for 38
  • 39. © Mountain Goat Software, LLC Open UP phases Establish scope and produce business case Mitigate business risks Get buy-in and decision to undertake project Inception Reduce major risks to enable cost and schedule estimates Mitigate major technical risks Implement a baseline architecture Implement key capabilities Elaboration 39
  • 40. © Mountain Goat Software, LLC Majority of implementation Ends with deployment of a beta version Construction Ensure software meets users’ needs Prepare for release Solicit user feedback and make minor adjustments Transition 40
  • 41. © Mountain Goat Software, LLC Iterate within each phase Inception Preliminary iteration(s) Elaboration Iteration#1 Iteration#2 Iteration#n Iteration#n+1 Construction Iteration#n+2 Transition Iteration#m Iteration#m 41
  • 42. © Mountain Goat Software, LLC Choose OpenUP/Basic if... You like RUP but want something lighter You want an open source version of RUP You have a small project (3-6 people; 3-6 months) You want a semi-agile process based on role, task and artifact guidance 42
  • 43. © Mountain Goat Software, LLC Considerations Team Software Process Scrum Extreme Programming OpenUP/Basic Feature-Driven Development Today’s agenda 43
  • 44. © Mountain Goat Software, LLC Feature-Driven Development Originates in Java Modeling in Color with UML by Coad, Lefebvre and De Luca in 1999 Jeff DeLuca is main advocate A Practical Guide to Feature-Driven Development by Palmer and Felsing in 2002 44
  • 45. © Mountain Goat Software, LLC Features and feature sets Features Serve as primary unit of work Similar to XP stories or Scrum backlog items Small enough to do in two weeks Feature Set Collection of features Assigned to a Chief Programmer and her team Major Feature Set A domain area, one or more Feature Sets 45
  • 46. © Mountain Goat Software, LLC Example features A short description of an action of value to users of the system Format <action> the <result> <by|for|of|to> a(n) <object> Estimate the closing price of a stock Calculate the total cost of an order Change the password for a user Retrieve the room number of a guest Examples 46
  • 47. © Mountain Goat Software, LLC Five processes Develop an overall model Build a features list Plan by feature Design by feature Build by feature Sequential Iterative 47
  • 48. © Mountain Goat Software, LLC Sample development plan Major feature set Feature set Feature Chief programmer Date Interfacing Reservations Make a reservation for a guest Chris December Interfacing Reservations Cancel a reservation for a guest Chris December Interfacing Reservations Update a reservation for a guest Chris January Reporting Future reservations View future reservations of competitors James December Reporting Rates View internet rates for a hotel Kristy February 48
  • 49. © Mountain Goat Software, LLC Eight best practices Feature teams Domain object modeling Regular progress Regular builds Individual class ownership management Inspections Developing by feature Need all eight to be doing FDD 49
  • 50. © Mountain Goat Software, LLC Tracking progress Reservations (3) 65% December Chris Chief programmer Feature set name Number of features in set Percentage complete Target completion month Work in progress Completed Attention Not started 50
  • 51. © Mountain Goat Software, LLC Choose FDD if... …you are willing to trade some agility for a …your organization has solid UML skills …most requirements are knowable in advance or somewhat stable …you do not view self-organizing teams as a critical success factor 51
  • 52. © Mountain Goat Software, LLC Where to go next Team Software Process Scrum Extreme Programming Introduction to theTeam Software Process by Watts S. Humphrey www.mountaingoatsoftware.com/scrum Agile Software Development with Scrum by Ken Schwaber and Mike Beedle Agile Project Management with Scrum by Ken Schwaber www.xprogramming.com c2.com/cgi/wiki? ExtremeProgrammingRoadmap extremeprogramming@yahoogroups.com 52
  • 53. © Mountain Goat Software, LLC Where to go next OpenUP FDD Agile in General www.agilealliance.org www.mountaingoatsoftware.com www.featuredrivendevelopment.com www.eclipse.org/epf Agility and Discipline Made Easy by Per Kroll and Bruce MacIsaac 53
  • 54. © Mountain Goat Software, LLC Upcoming public classes Date What Where Oct 18-19 Denver Oct 23-24 Oct 25 Agile Estimating and Planning San Diego Jan 15-16 Jan 17 Agile Estimating and Planning Atlanta Feb 26-27 Feb 28 Agile Estimating and Planning Santa Clara Other classess in London and Oslo if you’re up for a longer trip. More info at www.mountaingoatsoftware.com 54
  • 55. © Mountain Goat Software, LLC mike@mountaingoatsoftware.com www.mountaingoatsoftware.com (303) 810-2190 (mobile) Mike Cohn contact info 55