Page 1
# 1
CMMI® Agile Process Personal Software Processtm / Team Software Processtm
++
03 / 08 / 2011 V. 04
+
Confidential | © Alcyonix / SQLI 2007
tm Personal Software Process, PSP and Team Software Process, TSP are service marks of Carnegie Mellon University® Capability Maturity Model, Capability Maturity Modeling, Carnegie Mellon, CMM, and CMMI are registered in the U.S. Patent and Trademark Office by Carnegie Mellon University
Page 2
# 2
Agile?
CMMI®?
PSP/TSPtm : CMMI® Agile process
TSP /PSPtm : Results
Agenda++
+Confidential | © Alcyonix / SQLI 2007
PSP/TSP in concert with process improvement activities will accelerate organization maturity.
John D. Vu, The Boeing Company, 2001
Used TSP to cut defects in half and establish data baseline to improve future planning
efforts
Jim Sartain
Over 20,300 major defects found prior to Test through TSP ; unit test defects dropped from
25 per KLOC to 7 per KLOC
Jeffrey Smith (Coach TSP Microsoft IT)
Page 3
++ Agile – Manifesto
« We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: »
The Agile Manifesto includes 4 values and 12 principles.
The Agile values are : Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
What means implementing Agile ?Change organization values
Implement Agile methods and practices
# 3
Confidential | © Alcyonix / SQLI 2007
http://agilemanifesto.org/
Page 4
++ Agile typical concepts
Iterative, incremental et adaptive development which release value
Active implication of the customer
Continuous Integration
Wave planning
Frequent delivery and of short duration of functional applications
Changes are seen as a competitive advantage
Test first and code
Continuous attention to technical excellence and good design
Natural reverse engineering (clean code)
Autonomous, engaged and self-directed team
Face to face communication
Craftsmanship aver execution
Confidential | © Alcyonix / SQLI 2007 # 4
Page 5
++ Criticism / Misunderstandings
Customer does not have time (planning, meetings, tests)
Frequent releases = bad quality perception from the customers
Agile is feature driven, non-functional are hard to be placed as user stories
Impossible to develop realistic estimates of work effort needed to provide a quote
Difficult contractual negotiations
Bleed money from customers through lack of defining a deliverable
Lack of structure, processes and necessary documentation
Insufficient software design
Requires too much cultural change to adopt
Can be very inefficient “Code rework”
Can increase the risk of scope creep due to the lack of detailed requirements documentation
Lack of discipline
Lack of roles definition
Only works with senior-level developers
Confidential | © Alcyonix / SQLI 2007 # 5
Several web pages.McBreen, P. (2003). Questioning Extreme Programming. Boston, MA: Addison-Wesley. ISBN 0-201-84457-5.Boehm, B.; R. Turner (2004). Balancing Agility and Discipline: A Guide for the Perplexed. Boston, MA: Addison-Wesley. ISBN 0-321-18612-5.
Page 6
++ CMMI
CMMI is a Model, not a process. It describes characteristics of effective processes, not the processes themselves.
What does it mean to implement CMMI?
Define and implement your own process based on the model definition.
# 6Confidential | © Alcyonix / SQLI 2007
2
5
4
3
Organizational Innovation and DeploymentCausal Analysis and Resolution
Organizational Process PerformanceQuantitative Project Management
Requirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidationOrganizational Process FocusOrganizational Process DefinitionOrganizational Training Integrated Project ManagementRisk ManagementDecision Analysis and Resolution
Requirements Management Project PlanningProject Monitoring and ControlSupplier Agreement ManagementMeasurement and AnalysisProcess and Product Quality AssuranceConfiguration Management
Page 7
++ Historical
Watts S. Humphrey - Standard Engineering Institute (SEI)
CMM v1.1 was introduced in 1991
But questions raised in the community :How to deploy CMMI in my small organization (I fear CMMI is too "big" for us)?
How to keep my flexibility and reactivity ( I fear that writing series of processes will turn my organization into a bureaucracy)?
How can I deploy the principles of CMMI on a smaller scale, project by project (I fear budgeting for CMMI organization-wide will be killing the idea)?
PSP was introduced in 1994
TSP was introduced in 2000
Since then: substantial restructuring to adapt to business constraints
Confidential | © Alcyonix / SQLI 2007 # 7
Page 8
++ Team sport
Software products are developed by teams.
Individual and team skill, discipline, and commitment govern the result.
To improve organizational performance you must improve the performance of teams and team members.
Team members are:Motivate himself
Negotiate commitments
Track their plans
Dedicate to excellence and high-quality
Trust in its capacity
Discipline in work
What team members need?Be challenged by goals
Be trusted by management
Be supported by the management
Confidential | © Alcyonix / SQLI 2007 # 8
Have feedback
Have an environment
Page 9
++ PSPtm/TSPtm has CMMI Agile process
The TSP guides a self-directed team of developers disciplined by the PSP, in the realization of a product using the coaching and leadership.
The PSP is a work method conceived for individual use which serves to organize, control and improve the way you work.
1 to 10 teamsof 2 to 20 members
Just enough processes for a team tocover CMMI level 5.
# 9Confidential | © Alcyonix / SQLI 2007
Page 10
++ Individual competencies
PSP provides the knowledge and skills that developers need to work on a teams
Confidential | © Alcyonix / SQLI 2007 # 10
Requirements management Process management Cyclic development Estimation and planning Track plan Sound design Quality management Test Review Code analysis (Clean code) Personal data/metrics Self improvement
Continuous attention to technical excellence and good design enhances agility.
TDD XUnit, FIT/Fitness Pair programming Agile estimation technique
Page 11
++ Project team
Conduct its projects;
Take its commitments;
Execute the best work;
Is more creative and innovating;
Own its processes and its plan;
Is dedicated to excellence and success;
Actively solve the problems and the conflicts;
Communicate openly.
Confidential | © Alcyonix / SQLI 2007 # 11
Team leader
Customer Interface Manager
Test Manager
Support Manager
Implementation Manager
Design Manager
Quality Manager
Process Manager
Planning Manager
Etc.
The best architectures, requirements, and designs emerge from self-organizing teams.
The most efficient and effective method ofconveying information to and within a development team is face-to-face
conversation. Build projects around motivated individuals.
Give them the environment and support they need, and trust them to get the job done.
Business people and developers must work together daily throughout the project.
# 11
Coach
Page 12
++ Building an Efficient Team
Confidential | © Alcyonix / SQLI 2007 # 12
PSP : IndividualSkills
TSP: TeamBuilding
TSP : TeamManagement
Project goals Roles Process tailloring Project plans
Communication Resources coordination Project tracking Risk tracking
Process management Performance measurements Estimation, planning and tracking Quality management
The TSP builds efficient teams starting from the individuals
Page 13
++
Cycle de développement
Cycle de développementCycle de
développementCycle de
développement
Cycle de développement
Cycle de développement
Iterations
TSP cycles can be implemented in phase and/or iteration
Each cycle starts with a launch or re-launch and ends with a post-mortem.
TSP cycles are a few weeks to a few months in duration.
Confidential | © Alcyonix / SQLI 2007 # 13
DevelopmentDevelopment
Lessons learnedRequirements changesTeam changesGoals changesRisk changesEtc.
Lessons learnedRequirements changesTeam changesGoals changesRisk changesEtc.
Intermediate Product Intermediate Product
Cycle backlog, Team strategyEstimation, project plan refined, Process, Team commitment, Detailed plan of current cycle
Cycle backlog, Team strategyEstimation, project plan refined, Process, Team commitment, Detailed plan of current cycle
Final productFinal product
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Launch PrepLaunch Prep
Business and technical goals; Requirements summary
Business and technical goals; Requirements summary
Page 14
++ Launch
The TSP launch is a workshop involving all team members (Developer, non-developer, customer and management)
The TSP coach guides the team members
The launch workshop accelerates team building:
A common understanding of the job
Agreement on how to do the work
Commitment to a team plan
Management support for the plan
The products needed to get management support
Confidential | © Alcyonix / SQLI 2007 # 14
Objective: Establish the best strategy and the processes to achieve the project goals.
A plan ready to be carried out the following day
Simplicity--the art of maximizing the amount of work not done--is essential.
Working software is the primary measure of progress.
Quoi Comment Quand Qui Qualité Si
Project goalsHigh level designPriorized “Backlog” DeliverablesDeliverables estimationStories estimation
StrategiesProcessesNeedsRules
Project PlanSchedulePace
Roles assignationAvailabilityTasks assignationDetailed plan of the cycle
Quality Plan“Done” criteria
Risk & MitigationAlternate plans
Page 15
++
TestIntegration, non regression
and functional test execution
Agile adaptation
Confidential | © Alcyonix / SQLI 2007 # 15
Plan
Tests & Design
Design Review & Inspection
Code
Code Review & Inspection
Code Analysis
Tests Execution
PostMortem
PS
P G
uid
e
Requirements & Spec.Customer requirements, Technical requirements, Story, Acceptance
Test, Priorized ‘Backlog’
High level architecture & design
Conceptual design , Interfaces, Scenario, Use case, ...
Release 1 Rel. 2 Rel. n
Iteration1 Iteration 2
...
...
Regular project status meeting
ValidationAcceptance test
Continuous integration
ImplementationPreparation,
Demonstration and installation
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Cyc
leDaily standup
meeting
EnvironmentWar room, Servers, Continuous integration, development tools, Tests environment, Processes,
Standards, Training, ...
Iteration 3
ArchitectureTeam vision
Iteration0
Coach
Page 16
++ Report example – Earn value
Confidential | © Alcyonix / SQLI 2007 # 16
Actual graphs obtained by running the PSP/TSP tools provided; based on anonymous data here.
Page 17
++ Report example – Defects
Confidential | © Alcyonix / SQLI 2007 # 17
Actual graphs obtained by running the PSP/TSP tools provided; based on anonymous data here.
Page 18
++ Report example – Process Performance
Confidential | © Alcyonix / SQLI 2007 # 18
Actual graphs obtained by running the PSP/TSP tools provided; based on anonymous data here.
Page 19
++ Report example
Confidential | © Alcyonix / SQLI 2007 # 19
Actual graphs obtained by running the PSP/TSP tools provided; based on anonymous data here.
Page 20
++ They use it
Confidential | © Alcyonix / SQLI 2007 # 20
Page 21
++ TSP and Agile(1/2)
Individuals and interactions over processes and tools TSP holds that the individual being key to product quality and effective member interactions are necessary to the team's success.
Project launches strive to create gelled teams.
Weekly meetings and communication are essential to sustain them.
Teams define their own processes in the launch.
Sharing leadership responsibilities helps interaction between members.
Working software over comprehensive documentationTSP teams can choose evolutionary or iterative lifecycle models to deliver early functionality—the focus is on high quality working software from the start. TSP does not require heavy documentation.
Documentation should merely be sufficient to facilitate effective reviews and information sharing.
TSP teams can determine the level of documentation produced based on organizational standards, customer needs, and system attributes.
Confidential | © Alcyonix / SQLI 2007 # 21
Karen Smiley, Papers comparing agile to TSP, TUG 2003 presentation
Page 22
++ TSP and Agile(2/2)
Customer collaboration over contract negociationLearning what the customer wants is a key focus of the TSP.
The customer or a customer representative is required to be present when TSP teams start planning the project and the first cycle.
The customer or customer representative can also attend each re-launch to guide plans for the next cycle.
The TSP has a team member role, the Customer Interface Manager, for the purpose of collaboration with the customer.
Responding to change over following a planTSP teams expect and plan for change.
TSP teams re-plan whenever the plan is no longer a useful guide.
New tasks are added as they are discovered.
They dynamically rebalance the team workload as required to finish faster.
The team's process is adjusted as needed to improve performance.
The team continuously manages risk and uses early-warning indicators to identify and avoid technical and planning issues.
Confidential | © Alcyonix / SQLI 2007 # 22
Karen Smiley, Papers comparing agile to TSP, TUG 2003 presentation
Page 23
++ Results
Confidential | © Alcyonix / SQLI 2007 # 23
Measures With TSPAverageMin – Max
Typical Project
System test defects (defects/KLOC)
0.40 to 0.9
15
Released defects (defects/KLOC)
0.060 to 0.2
7.5
System test effort(% of total effort)
4%2% to 7%
40%
System test schedule (% of total duration)
18%8% to25%
40%
Duration of system test (days/KLOC)
0.50.2 to 0.8
51 to 7.7
Unit Test - cost of quality 17%4% to 38%
50%
Project schedule error 6%-20% to 27%
180%
The Team Software Process (TSP) in Practice: A Summary of Recent Results CMU/SEI-2003-TR-014 and CMU/SEI-2000-TR-015
7.5
6.24
4.73
2.28
1.050.06
0
1
2
3
4
5
6
7
8
Def
ects
/KL
OC
CMMLevel 1
CMMLevel 2
CMMLevel 3
CMMLevel 4
CMMLevel 5
TSP
Defect Density of Delivered Software
We developed a 450 KLOC business operating system in 55 000 hours. We delivered it on time. The customer reported 17 bugs for a total defect density of 0.038 bugs/KLOC.
Gerardo López, Towa, CEO & President
TSP Symposium 2008
Measures Average
Productivity improvement 78%
1/3 project has no defects
Page 24
++ Results
# 24
Microsoft Corporation
2006
Opportunity after 4 Opportunity after 4 projects:projects:
2624 hours2624 hours+ 90,783.00+ 90,783.00 $$
Saved 1150 hours due to lower development costs.
Saved 427 hours due to improved productivity.
Saved 1047 hours and 90,783.00$us due to fewer
defects in acceptance & production.
Confidential | © Alcyonix / SQLI 2007
Page 25
++ Results
Confidential | © Alcyonix / SQLI 2007 # 25
Intuit has also recently reported a savings of $20M from a reduction in customer support calls on QuickBooks 2007.
Savings
Reqts Design Implement Test
Actually
TSP Team
Reqts Design Implement Test
Page 26
++ PSP/TSP implement CMMI
Time between CMMI level is 1½ à 2 years.
Navair and ais with PSP/TSP2.5 years to go level 1 to level 4,
Instead of 6 years.
Several pilot projects in Mexico and US are currently running.
SQLI, fournisseur d'innovation - Nom du document # 26
TSP is 5-6σ capability
(Honeywell SEPG
presentation, march
2000)
Symposium TSP 2009
Page 27
++ PSP/TSP state
For all;
Job description;Microsoft IT, Intuit, etc
Open source toolhttp://processdash.sourceforge.net/
Possible certification in 2010;
PSP/TSP 100% CMMI (2010)
PSP/TSP (CERT) product highly safe is available
PSP/TSP – Services (in progress)
Confidential | © Alcyonix / SQLI 2007 # 27
27
ABBAdobeAISBechtelBoeingBlackBerryCensus BureauDavis SystemsDFASEDS-SDRC
EricksonFujifilmHelsanaHitashi Soft EngineeringHoneywellIBMIntuitKPMGLockheedMicrosoft ITMotivaNASA Langley
Northrop GummanOracleQuarkSoftRaytheonSamsungSofttekSunTeradyneToshibaUSAF: Hill AFBUSN: NAVAIRVicarious Visions...
Everybody uses TSP, software developers, testers as well as artists and sound technicians. Do you know how to count defects made by an artist?
Dan Wall, VP Production Methods & TSP Coach chez Vicarious Visions
Graduate with PSP
Graduate with PSP
Page 28
++ Conclusion
PSP/TSP delivers products which customers like without having his continual presence.
PSP/TSP builds Agile teams while being concerned about individuals and his environment.
PSP/TSP provides the minimum of process to CMMI.
PSP/TSP contributes to the continuous improvement of competences of the individuals and the team.
PSP/TSP is for all the members of the team (Developer and not-developer).
SQLI, fournisseur d'innovation - Nom du document # 28
PSP/TSP delivers products of high-quality by improving the productivity.
PSP/TSP is less collegial.
PSP/TSP is more plan oriented then the other methods.
PSP/TSP is least concern about development techniques (automated Test, Stories, XUnit, etc) but contributes to their use.
Page 29
++ Thank you for your attention
Alcyonix can help you to implement PSP/TSP
Training
Implementing Project Pilot
Launching
Coching
Confidential | © Alcyonix / SQLI 2007 # 29
29
Questions - Discussions
Frédérick Lussier ([email protected] )
Conseiller senior/Senior Consultant
---> "SEI-Certified PSP Developer"
---> "SEI-Authorized Instructor for PSP“
---> “Certified SCRUM Master”
ALCYONIX Inc. ( www.alcyonix.com )
Groupe SQLI (www.sqli.com)
--->"Software Engineering Institute (SEI) Partner"
Tel.: +1 450 653-3533 Fax: +1 (514) 221-2018
Cell: +1 418 262 4175
http://www.sei.cmu.edu/tsp/index.cfm