team building f lussier v1.3 eng
Post on 16-May-2015
1.436 Views
Preview:
DESCRIPTION
TRANSCRIPT
All rights reserved© 2009 Frédérick Lussier
Development Team Building(Team Software Process™/Personal Software Process™)
Presented by : Frédérick Lussier
November 2009, version 1.2
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.
All rights reserved © 2009 Frédérick Lussier
Agenda
o Teamo TSP/PSP Presentationo Building a Teamo Working with the Teamo TSP/PSP State
sm 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.
Team Software Process – TSP™Personal Software Process – PSP™
Capability Maturity Model Integration – CMMI® Software Engineering Institute – SEI
2
All rights reserved © 2009 Frédérick Lussier
Building a development team(Team Software Process™/Personal Software Process™)
Team
3
All rights reserved © 2009 Frédérick Lussier
Team
Because of the product complexity, several knowledge and practices are necessary to develop a product.
Often the number of knowledge and practices exceeds one individual.
We need several qualified people who together have the knowledge and the practices necessary to develop a product.
For these reason, we need a team: People having complementary knowledge and practices, working together for a common goal.
This presentation shows how the Team Software Process (TSP) creates a highly efficient and effective project team.
4
All rights reserved © 2009 Frédérick Lussier
Development teams are like sport teams
Software products are developed by teams.
Individual and team skills, discipline, and commitment govern the result.
To improve organizational performance you must improve the performance of teams but do that you must begin with your players.
Player:o Motivates himselfo Negotiates commitmentso Tracks his planso Is dedicate to excellence and high qualityo Trusts in his capacitieso Is rigorous in his worko Has fun with what he is doing
5
All rights reserved © 2009 Frédérick Lussier
Players of a development team
Developing a product is an intellectual activity which requires knowledge workers.
Knowledge workers create knowledge, new ideas, and new products, and they establish relationships that make processes truly work.
The more specific the knowledge is, the more the worker becomes a supporter in your organization.
Losing a knowledge worker puts the organization’s intellectual and social capital at risk.
“The key rule in managing knowledge work is this: managers can’t manage it, the workers must manage themselves.”
Watts Humphrey
6
All rights reserved © 2009 Frédérick Lussier
A self-directed team does the best work
Because it:o is more creative and innovating.o resolves problems efficiently.o develops better quality products.o is more satisfactory for its members.o helps, motivates, and betters each other.o optimizes managers’ implication in projects.o has a high degree of autonomy.o shares leadership and team responsibilities.o develops the best strategy to achieve its goals.o has the sense of membership.o owns its processes and plans.o manages its projects.
7
All rights reserved © 2009 Frédérick Lussier
What team members need?
o Be challenged by goals.o Know they are trusted by management.o Be supported by management.o Have competent teammates.o Have feedback on their performance.o Be in an environment that permits unbound progression. o Have fun.
8
“Coming together is a beginning; keeping together is progress; working together is success.”
Henry Ford
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
TSP™/PSP™
9
All rights reserved © 2009 Frédérick Lussier
History of TSP/PSP
CMM v1.1 was introduced by Watts S. Humphrey – Standard Engineering Institute (SEI) in 1991.
But questions were raised in the community:o How to deploy CMM in my small organization
(I fear CMM is too "big" for us)?o How to keep my flexibility and reactivity
( I fear that writing series of processes will turn my organization into a bureaucracy)?
o How can I deploy the principles of CMM on a smaller scale, project by project (I fear budgeting for CMM organization-wide will be killing the idea)?
To answer these questions, Watts S. Humphrey developed processes and methods so that an individual conforms to CMM level 5 while preserving his agility and flexibility. PSP was introduced in 1994 then TSP in 2000.
Since then, restructuring has been done to adapt to business constraints.
• CMMI, security, etc.
10
All rights reserved © 2009 Frédérick Lussier
TSP/PSP definition
TSP guides a self-directed team of developers disciplined by the PSP, in the realization of a product using coaching and leadership.
PSP is used to guide a person to self-organize, self control, and self-improve to become a useful and efficient teammate.
How many developers do you need to build a defective product?The answer is one.
11
• I do not make tests, there is already a tester on the team.
• I do not have time for designing.• Bah! this code is too simple; no need for inspection.• Yes I fixed this problem; it seemed to have no impact
so I released it to the customer.
All rights reserved © 2009 Frédérick Lussier
An efficient team
TSP builds efficient teams based on individuals.
PSP is aboutindividual
Skills
TSP is about team
Building
TSP is about team
Management
• Project goals• Role assignment• Process tailoring• Project plans
• Communication• Resource coordination• Project tracking• Risk analysis
• Process management• Performance measurements• Estimation, planning, and
tracking• Quality management
1 to10 teams of2 to 20 members
PSP provides the knowledge and skills that individual need to work in a team.
TSP establishes the environment that organizes and supports self-directed team.
12
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Team Building
13
All rights reserved © 2009 Frédérick Lussier
Team Building
TSP uses strategic plan workshops to build a self-directed team.
A set of workshops is called a “launch”.
All team members participate in the launch: developers, non-developers, managers, and customers.
The launch objective is to establish the best strategy and processes to achieve the project goals required by the customer and the manager.
14
All rights reserved © 2009 Frédérick Lussier
Launch activity The launch 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.
• Products needed to get management support.
The coach guides the team during the launch.
15
Launch post
mortem
It is easier to obtain commitment and motivation when the team defines the way to make the product.
All rights reserved © 2009 Frédérick Lussier
Workshop 1 – Goals and requirements
The first step is for the team to understand what it has to do.
16
Team• Listens and understands• Asks questions• Does not commit on anything• Does not have negative attitude
Team• Listens and understands• Asks questions• Does not commit on anything• Does not have negative attitude
Dat
es
Costs
Requirements
Quality
Manager and customer (representative) • Communicate the critical requirements
• Nice-to-have• Highly important requirements
• Communicate the goals of the organization
Manager and customer (representative) • Communicate the critical requirements
• Nice-to-have• Highly important requirements
• Communicate the goals of the organization
• What to develop?• When is it necessary? • Which resources are available?• What flexibility the team has?• Why is this important?• How will management measure success?
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – 8
o Define team goals and assign team roles.o Define the best strategy and the team rules.o Define and tailors processes for each deliverable.o Produce a work schedule for each member.o Produce a realistic project plan.o Produce a quality plan.o Identify risks, opportunities, and assumptions of the plan.o Prepare the presentation for manager review.
Ends with a plan ready to be carried out the following day.17
All rights reserved © 2009 Frédérick Lussier
Workshop 9 – Management review
The team presents to the manager and the customer (representative) the best strategy to use to achieve the requested goals.
18
Team• Presents its strategy• Answers the questions• Shows the facts• Demonstrates its commitment
Team• Presents its strategy• Answers the questions• Shows the facts• Demonstrates its commitment
Manager and the customer (representative) • Challenge the plan• Take note of the risks• Take note of the team needs
Manager and the customer (representative) • Challenge the plan• Take note of the risks• Take note of the team needs
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Launch – Workshop 2
19
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Team goals
The team writes project goals• Have a common comprehension of the goals given by
the customer and the management. • Establish team goals that allow achieving project goals.
Example of project goal, zero defect• Team and individual goal would be 80% yield
• In TSP, “yield” is the number of defects found and fixed during the design and the realization of the product.
20
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Roles
Team members accompany and direct their pairs.
A role gives leadership in a domain.
The coach helps the roles to operate.
Reinforce communication and collaboration between memberso Volunteers are assigned to the
roles.• On top of their tasks in the project
o One member can play many roles, but not all of them.
o Roles are reassigned during the project “relaunch”.• Allowing for rotation
Planning Manager
Test Manager
Implementation Manager
Design Manager
Team Leader
Process Manager
Quality Manager
Support Manager
Team Member
Coach Client
21
The customer is invited to play his
representative part, if desired.
Customer Interface Manager
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Establish roles
Train leadership
o Communicate and track goalso Support the teamo Give feedback
22
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Roles summary (1/5)
23
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Roles summary (2/5)
24
The test manager is not necessarily an official tester in your organization.
If you want to introduce a new unit test methodology, it would be preferable to assign the
tester manager role to a unit test “expert”; so it could be a developer.
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Roles summary (3/5)
25
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Roles summary (4/5)
26
Your team leader is too busy to be responsible for
quality. If nobody is in charge of quality, then nobody will take time to
make things right.
All rights reserved © 2009 Frédérick Lussier
Workshop 2 – Assign roles and define team goals
Roles summary (5/5)
27
Use title names that have meanings for you.
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Launch – Workshop 3
28
All rights reserved © 2009 Frédérick Lussier
Workshop 3 – Establish development process and strategy
Establishing the strategy
o Draw a draft of the architectureo Determine deliverableso For each deliverable, determine the
building process• PSP provides this ability
o Evaluate the size and the complexity of deliverables• PSP provides this ability
o Determine your needs• Tools• Training• Resources• Etc.
o Determine the number of cycle and the duration• Determine cycle contents according to
requirement priorities
29
Developing is not necessarily the fastest and least expensive way to accomplish the goals. You can buy, acquire and/or re-use, etc.
How will you provide me my product?
All rights reserved © 2009 Frédérick Lussier
Workshop 3 – Produce development process and strategy
Define/tailor processes
For various kinds of products or deliverables, use various processes
• PSP provides this ability
Guide for planning and follow-up tasks
Steps to correctly and entirely develop a product;
Helps to control the project goals
Tools to manage product quality
Tools to coach
Tools for improvement
The cyclic development is encouraged, specially at the individual level.
Test and design
Code
Post mortem
Individual development process example
Unit test execution
Plan
How will you ensure the quality of your product?
You are missing review stages.
30
All rights reserved © 2009 Frédérick Lussier
Workshop 3 – Produce development process and strategy
Development cycle TSP cycles can be implemented in phase and/or iteration.
• It is more effective to make several short cycles.
Each cycle starts with a launch or re-launch and ends with a post-mortem.
• It is more effective to analyze the performance once the phase is accomplished than to do it at the end of the project.
TSP cycles are a few weeks to a few months in duration.
Cycle de développement
Cycle de développementCycle de
développementCycle de
développement
Cycle de développement
Cycle de développementDevelopmentDevelopment
Lessons learnedRequirements changesTeam changesGoals changesRisk changesEtc.
Lessons learnedRequirements changesTeam changesGoals changesRisk changesEtc.
Intermediate productIntermediate product
Cycle backlog, team strategyevaluation, project plan refined, process, team commitment, detailed plan of current cycle
Cycle backlog, team strategyevaluation, project plan refined, process, team commitment, detailed plan of current cycle
Final productFinal product
Launch preparationLaunch preparation
Business and technical goalsRequirements summaryBusiness and technical goalsRequirements summary
Recognize that the project conditions can
change over time.
31
All rights reserved © 2009 Frédérick Lussier
Workshop 3 – Produce development process and strategy
Agile adaptation
TestIntegration, non regression
and functional test execution
Plan
Tests and design
Design review and inspection
Code
Code review and inspection
Code analysis
Tests execution
Post mortem
Requirements and spec.Customer requirements, Technical requirements, Story, Acceptance
test, Prioritized “backlog”
High level architecture and 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
Daily standup meeting
EnvironmentWar room, Servers, Continuous integration, Development tools, Tests environment, Processes,
Standards, Training, ...
Iteration 3
ArchitectureTeam vision
Iteration 0
Coach
32
Cycle
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Launch – Workshop 4
33
All rights reserved © 2009 Frédérick Lussier
Workshop 4 – Evaluate tasks and resources availability
o Assign deliverables and tasks to team members.
o Determine the availability of each team member and resource:• Think of the holidays and vacation• Think of meetings• Think that you must pick up your kid
at 4 o’clock
o Determine the necessary time for each task.• PSP provides this ability
34
Do you know much time you spend developing?
a) 40 hours/week
b) 32 hours/week
c) Average 12 hours/week
According to studies the answer is C.
How much time do you need?
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Launch – Workshop 5
35
All rights reserved © 2009 Frédérick Lussier
Atelier 5 – Develop the quality plan
Human activities are prone to defects.
The most economic and most effective time to fix defects is when they are injected.
It is more effective to prevent defects than to seek and fix them.
To develop high quality products, quality must be considered at the beginning of the project.
36
All rights reserved © 2009 Frédérick Lussier
Atelier 5 – Develop the quality plan
• PSP provides this ability
o Determine if you have sufficient steps to ensure a quality product.
o Evaluate the number of defects you will inject and the number of defects you will fixe per step.
o Consider time spent for quality (Review, inspection, code analysis and execution of tests).• Do you spend enough time?
37
Test and design
Design review
Code
Code analysis
Code review
Unitary test
You want to review 50 pages of code in 1 hour, in hope to
find 50% of the defects. Well! That’s not enough
time.
How will you ensure us of a quality product?
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Launch – Workshop 6
38
All rights reserved © 2009 Frédérick Lussier
Atelier 6 – Build bottom-up procedure and balanced plans
o Assign the tasks of the next phase/cycle/iteration to the team members.
o Negotiate dependant tasks and tasks using multiple resources.
o Consolidate individual plans in the project plan.
o Review plans and workloads.
39
John, how can we help you?
Workload week 23
Pierre 163%Jean 20%Jacques 60%Johanne 80%
When will you show me something?
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Launch – Workshop 7
40
All rights reserved © 2009 Frédérick Lussier
Atelier 7 – Conduct risk assessment
o Identify the risks.– There is a risk that… caused by…
impacting …
o Evaluate probabilities.o Determine triggering elements.o Mitigate critical risks.o Assign a person in charge (to follow
the risk).
41
(3) * (4)
High T. impact (5)
High impact (4)
Moderate impact (3)
(1) * (5)
(1) * (3)
(1) * (4)
(4) * (5)
(4) * (4)
(4) * (3)
Low T. impact (1) (1) * (1) (2) * (1) (3) * (1)
Low impact (2) (2) * (2)
(5) * (5)
(5) * (4)
(5) * (3)
(5) * (2)
(2) * (3) (3) * (3)
(2) * (5) (3) * (5)
(2) * (4)
Low T. probabilities (1)
(4) * (2)
(4) * (1)
High T. probabilitieas (5)
(5) * (1)
High probabilitieas (4)
(3) * (2)
Low probabilities (2)Moderate
probabilities (3)
(1) * (2)
Impacts
Probabilities
What are the obstacles you are expecting over the course of development?
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Multiple Teams Building
42
All rights reserved © 2009 Frédérick Lussier
Multiple teams
A team which has too many members becomes ineffective; the solution is to create several teams.
TSP has scripts and the structure.
Coaches put it in operation.
ManagerClient
ManagerClient
EPGEPGQAQATestTest
MarketingMarketing
OrganisationOrganisation
Proje
ct 1
Proje
ct 2
Proje
ct 3
Proje
ct 4
Communication and collaboration
Objectives and
requirements
PMOPMO
43
Customer representative
Test managerQuality manager
Process manager
Team leader
Etc.Planning manager
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
Strategy Execution
44
All rights reserved © 2009 Frédérick Lussier
Strategy execution
Once you have the support of the customer and the manager to apply the strategy, you must sustain this support.
o This requires that teammates:• Follow the definite process
• Maintain the individual plans of the team
• Control the quality of the product
• Regularly track and reports their progress
• Continuously demonstrate high performance
The coach and the team leader are there to help you; they are trained for that.
45
When the plan does not guide you anymore, relaunch the project.
All rights reserved © 2009 Frédérick Lussier
Development team building (Team Software Process™/Personal Software Process™)
TSP™/PSP™ State
46
All rights reserved © 2009 Frédérick Lussier
TSP/PSP state
For all
Asset in the job description:• Certified PSP developer• Microsoft IT, Intuit, etc.
Open source toolhttp://processdash.sourceforge.net/
47
ABBAdobeAISBechtelBoeingBlackBerryCensus BureauDavis SystemsDFAS
EDS-SDRCEricksonFujifilmHelsanaHitashi Soft EngineeringHoneywellIBMIntuitKPMG
LockheedMicrosoft ITMotivaNASA LangleyNorthrop GummanOracleQuarkSoftRaytheonSamsung
SofttekSunTeradyneToshibaUSAF: Hill AFBUSN: NAVAIRVicarious Visions...
Graduate with PSPGraduate with PSP
47
All rights reserved © 2009 Frédérick Lussier
For all...
TSP/PSP is used in various domains, here are some examples:• Teams of managers to establish the organisation strategic plan
• Software development teams
• Hardware development teams
• Electronic games development teams
• Teams of testers
• Teams of systems
• Service teams: maintenance, support, installation
• Etc.
48
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 and TSP Coach at Vicarious Visions
All rights reserved © 2009 Frédérick Lussier
Performance data
Measures With TSPaveragemin. – max.
Typicalproject
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%
49
1/3 of projects have no defects
All rights reserved © 2009 Frédérick Lussier
My goal is to show you how this approach helps build highly efficient and performing teams in your organization. A proven
methodology and accessible…
…because you don’t have to tackle its implementation on your own since I am here to assist you.
50
Frédérick Lussier (frederick.lussier@mail.com) Coach---> SEI-Certified PSP Developer---> SEI-Authorized Instructor for PSP---> Certified SCRUM Master
All rights reserved © 2009 Frédérick Lussier
Thank you for your attention
51
All rights reserved © 2009 Frédérick Lussier
References
http://www.sei.cmu.edu/tsp/
Mapping TSP to CMMIo CMU/SEI-2004-TR-014 James McHale & Daniel S. Wall
The Team Software Process (TSP) in Practice: A Summary of Recent Results
o CMU/SEI-2003-TR-014 (see also CMU/SEI-2000-TR-015) Noopur Davis, Julia Mullaney
Relating the Team Software Process (TSP) to the Capability Maturity Model for Software (SW-CMM)
o CMU/SEI-2002-TR-008 Noopur Davis, Jim McHale, with Strategy & Overview by Watts Humphrey
The Personal Software Process (PSP)o CMU/SEI-2000-TR-022
The Team Software Process (TSP)o CMU/SEI-2000-TR-023 Watts Humphrey
52
top related