SlideShare una empresa de Scribd logo
1 de 55
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Leading a Self-Organizing Team
 Leading a Self-Organizing Team Leading a Self-Organizing Team
Leading a Self-Organizing Team
Mike 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 Team
Mike Cohn
 
Transitioning to Agile
Transitioning to AgileTransitioning to Agile
Transitioning to Agile
Mike Cohn
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
3scale.net
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
Mohan Late
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
deyoepw
 

La actualidad más candente (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
 

Similar a Selecting a Development Process

Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Features
gurbaxrawat
 
Agile Truths and Misconceptions
Agile Truths and MisconceptionsAgile Truths and Misconceptions
Agile Truths and Misconceptions
Richard Cheng
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To Scrum
Erwin Verweij
 

Similar a 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
 
Agile
Agile Agile
Agile
 
Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Features
 
Agile
AgileAgile
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
 

Más de Mike Cohn

Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
Mike Cohn
 
Agile Product Management
Agile Product ManagementAgile Product Management
Agile Product Management
Mike Cohn
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User Stories
Mike Cohn
 
Planning and Tracking Agile Projects
Planning and Tracking Agile ProjectsPlanning and Tracking Agile Projects
Planning and Tracking Agile Projects
Mike Cohn
 
Overcoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & AgilephobiasOvercoming Waterfallacies & Agilephobias
Overcoming Waterfallacies & Agilephobias
Mike 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 Change
Mike Cohn
 
Experiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to PlanningExperiencing Agility From Requirements to Planning
Experiencing Agility From Requirements to Planning
Mike Cohn
 
Planning for Contract Agile Projects
Planning for Contract Agile ProjectsPlanning for Contract Agile Projects
Planning for Contract Agile Projects
Mike Cohn
 
Prioritizing Your Product Backlog
Prioritizing Your Product BacklogPrioritizing Your Product Backlog
Prioritizing Your Product Backlog
Mike Cohn
 

Más 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
 

Último

Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
Nauman Safdar
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
ZurliaSoop
 
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
DUBAI (+971)581248768 BUY ABORTION PILLS IN ABU dhabi...Qatar
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
daisycvs
 

Último (20)

Falcon Invoice Discounting: Tailored Financial Wings
Falcon Invoice Discounting: Tailored Financial WingsFalcon Invoice Discounting: Tailored Financial Wings
Falcon Invoice Discounting: Tailored Financial Wings
 
Buy Verified TransferWise Accounts From Seosmmearth
Buy Verified TransferWise Accounts From SeosmmearthBuy Verified TransferWise Accounts From Seosmmearth
Buy Verified TransferWise Accounts From Seosmmearth
 
Cannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 UpdatedCannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 Updated
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
 
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
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdf
 
Pre Engineered Building Manufacturers Hyderabad.pptx
Pre Engineered  Building Manufacturers Hyderabad.pptxPre Engineered  Building Manufacturers Hyderabad.pptx
Pre Engineered Building Manufacturers Hyderabad.pptx
 
HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
 
Power point presentation on enterprise performance management
Power point presentation on enterprise performance managementPower point presentation on enterprise performance management
Power point presentation on enterprise performance management
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
 
Falcon Invoice Discounting: Aviate Your Cash Flow Challenges
Falcon Invoice Discounting: Aviate Your Cash Flow ChallengesFalcon Invoice Discounting: Aviate Your Cash Flow Challenges
Falcon Invoice Discounting: Aviate Your Cash Flow Challenges
 
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
!~+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUD...
 
New 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck TemplateNew 2024 Cannabis Edibles Investor Pitch Deck Template
New 2024 Cannabis Edibles Investor Pitch Deck Template
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 

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