Psp Tsp Agile 3 1 En

29
# 1 CMMI ® Agile Process Personal Software Process tm / Team Software Process tm + + 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

description

The Agile method of CMMI is TSP/PSP.

Transcript of Psp Tsp Agile 3 1 En

Page 1: Psp Tsp Agile 3 1 En

# 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: Psp Tsp Agile 3 1 En

# 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++

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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++

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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ Report example

Confidential | © Alcyonix / SQLI 2007 # 19

Actual graphs obtained by running the PSP/TSP tools provided; based on anonymous data here.

Page 20: Psp Tsp Agile 3 1 En

++ They use it

Confidential | © Alcyonix / SQLI 2007 # 20

Page 21: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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 Agile 3 1 En

++ 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 Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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: Psp Tsp Agile 3 1 En

++ 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