Documente Academic
Documente Profesional
Documente Cultură
MIEIC - LGPR
25 February 2011
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 1
Index
Introduction
Team Organization
Launch Process
References and Further Information
Appendix: Roles and Responsibilities
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 2
Introduction
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 3
Challenged: Significant
cost overrun (+43% avg.),
time overrun (+83% avg.),
less functionality (-48% avg.)
(2002 numbers)
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 4
Quality Performance
Increasing complexity, criticality and
dependence on software ⇒ software quality
matters!
But quality is often ignored until test: most
defects are found in or after test when
removal costs are the highest and the
methods are the least effective.
This results in defective products,
unnecessary rework, inflated development
costs, unexpected project delays, system
failures, and security vulnerabilities.
According to the National Institute of
Linux crash on
Standards and Technology (NIST), direct
costs of software errors represent 0,6% of Airbus Entertainment System
GNP in the USA
“The Economic Impacts of Inadequate Infrastructure for Software Testing”, NIST, May 2002
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 5
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 6
TSP Building Blocks
Team communication
Team Team coordination
Instance of Management Project tracking
Team Risk analysis
high-maturity
practices for Software
teams Process
Goal setting
Team Role assignment
Building Tailored team process
Detailed balanced plans
From the Software Engineering Institute (SEI), Carnegie Mellon University (CMU)
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 7
8
7,5 100%
+85%
7 6,24 80%
6 60%
Percent Error
4,73
Defecst/KLOC
5
40%
4 +25%
20%
3 2,28 +17%
0%
2 1,05
1 0,06 -20%
-25%
0 -40%
CMM L1 CMM L2 CMM L3 CMM L4 CMM L5 TSP Pre-TSP With TSP
80%
Percent Error
60%
40%
+20%
20% +27%
0%
-20% -8%
20-30% Pre-TSP With TSP
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 8
Software Engineering Trends
Past Today and Future
“You let the developers talk to Customers and users drive the
Customer focus the customer?” development process.
Metrics reporting and use starting Metrics reporting and use at the
Metrics at the project manager level. team or developer level.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 9
Team
Organization
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 10
Knowledge Workers Need a Different
Management Style
Body management – people as oxen
Task management – people as machines
Knowledge management – people as individuals
• Only the workers understand the work
• Knowledge workers must know how to manage themselves
• The workers must be trusted to manage their own work
• Knowledge workers need motivation, leadership, and coaching
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 11
Planning
Manager Test
Manager
Process Implementation
Manager Manager
Design
Quality
Manager
Manager
Traditional team Support Costumer Interface
The leader plans, Manager Manager
directs, and tracks
the team’s work. Self-directed team
All team members participate in planning,
managing, and tracking their own work.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 12
Team Members Responsibilities
Follow disciplined personal Project Management Roles
practices Planning manager – responsible for tracking
the plan.
Plan, track, and manage Quality manager – responsible for tracking the
quality plan.
their personal work
Process manager – responsible for ensuring
Support and contribute to process discipline and for process improvement.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 14
Coach Responsibilities
Facilitator
Process expert
External, independent, objective voice
Helps improving people performance through
a continuous coaching / learning cycle
External
Perspective
2. Conscious 1. Unconscious
Incompetence Incompetence
Guidance Next Tiger Woods and his coach Hank Haney.
and Stage
Feedback
Team Leader vs. Coach
3. Conscious 4. Unconscious The team leader’s job is to use
Competence Competence the team to build the product.
Repetition The coaches job is to use the
project to build the team.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 15
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 16
Launch Process
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 17
Re-launch
The length and content of
each cycle depends on
business and technical Lessons, new Development
Development
goals, new Development
phase
considerations: activities can requirements, phase
phase
or cycle
be organized iteratively in new risks, etc. ororcycle
cycle
small cycles, in a spiral with
increasing cycle content, or Phase or cycle
Work products,
Postmortem Weekly
sequentially as in a waterfall status, metrics, team
results meetings
Project status is reviewed in
Project
weekly team meetings Postmortem
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 18
Successful Teams
When development teams work well, they generally have
successful projects.
To be successful, teams need
• clear goals
• established roles
• defined processes
• agreed-upon plans
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 19
8. Prepare
2. Assign roles and 5. Develop the
management Launch postmortem
define team goals quality plan
briefing and launch
report
6. Assign resources,
3. Produce project
strategy, list of
load balance, make The TSP launch process produces
personal plans, necessary planning artifacts.
products and
consolidate personal
tailored process
plans into team plan The most important outcome is a
committed team.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 20
Team Dynamics
The launch process helps
progressing quickly through
the team development
stages
The launch process helps building teams with the right focus
• Process group - concerned with internal processes
• Combat group – concerned with external threats
• Working group concerned with producing results
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 21
Launch Meeting 1
In launch meeting 1, management,
marketing and/or customer
• describes what they want done
• explains why the job is important
• answers the team member’s questions
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 22
Launch Steps 2 through 8
During steps 2 through 8, the team
members
• define a process and strategy for doing the job
• produce overall and near-term plans
• assess the risks of their plans
• prepare to present their plans to management
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 23
Launch Meeting 9
In launch meeting 9, the team presents its
plan.
• This will be the best plan that the team
knows how to make.
• If the members do not see how to meet
management’s objectives, they present
alternative plans.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 24
References and Further Information
Team Software Process Overview, James Over, Presentation at
FEUP, 27 January 2010
Software Engineering Best Practices, Capers Jones, McGraw-
Hill, 2010
TSP: Leading a Development Team, Watts S. Humphrey,
Addison-Wesley, 2005
PSP: A Self-Improvement Process for Software Engineers,
Watts S. Humphrey, 2005
http://www.sei.cmu.edu/tsp/
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 25
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 26
Team Member Roles
These roles cover much of the management work that must
be done by the team
The objective of the roles is not to do everything implied by
each role but rather to provide a team focus and leadership
for that activity
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 27
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 28
Design Manager
Are the team’s design methods and notations capable of producing a quality
design?
Do all team members understand how to use these design methods?
If some team members are not fluent with the design methods, what
remedial action do you recommend?
Is the team’s design work of high quality?
Has a sound system architecture been produced and documented?
Is the architecture properly controlled and maintained?
Does the architecture consider future product evolution?
Does the design conform to the architecture?
Is the design properly documented and maintained?
Are the interfaces and other design dependencies with any other teams
properly identified and managed?
Are there any other design issues that the team should be aware of?
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 29
Implementation Manager
Are all of the team members fluent in the languages to be used?
If any team members are not fluent with these languages, what
remedial actions do you recommend?
Have the proper implementation standards been developed and
adopted?
Are the implementation standards being consistently used?
Are the team members taking advantage of shared and/or reused
code where they could? If not, what improvement actions do you
recommend?
Are there any other implementation issues that the team should be
aware of?
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 30
Test Manager
Are test plans being produced when the process requires them?
Are these test plans complete and thorough?
Do the engineers understand how to produce suitable test plans? If
not, what remedial actions do you recommend?
Are the system test plans being reviewed when the requirements are
reviewed, the integration plans when the design is reviewed, and
the unit test plans when the implementation is reviewed?
Are sufficient test facilities planned for integration and system
testing?
Are the needed test tools available?
Do the engineers know how to use the test tools? If not, what
remedial actions do you recommend?
Are there any other test issues that the team should be aware of?
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 31
Planning Manager
Is each engineer’s plan sufficiently detailed?
Do these plans accurately represent the work that the engineers are
currently doing?
If any of the engineers’ plans do not represent their current work,
what actions do you recommend?
Is the team’s workload reasonably well-balanced? If not, what
actions do you recommend?
Is the workload with any cooperating group or team reasonably well
balanced? If not, what actions do you recommend?
Are dependencies within the team and with other related groups
known and tracked?
Are there any other planning issues that the team should be aware
of?
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 32
Process Manager
Do the teams have defined process for their principal
activities? If not, what processes do you recommend be
defined, and by whom?
Do these processes reasonably represent the way that the
work is currently being done? If not, are Process Improvement
Proposals (PIPs) being submitted to correct the processes?
Are the engineers following the processes that they have?
Is management providing the support needed to get the
defined processes followed? If not, what remedial actions do
you recommend?
Do you have a defined process for handling the team’s PIPs? If
not, what steps are planned to define such a process?
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 33
Support Manager
Does the team have suitable tools to support its work? If not, what
additional tools do you recommend?
Are all team member fluent with the available development tools?
If any team members are not fluent with these tools, what remedial
actions to you recommend?
Does the team have adequate tool support for the configuration
management process? If not, what actions do you recommend?
Is the change control board working effectively?
Are all changes to baselined products being managed through the
configuration control system?
Have all products that should be baselined been baselined?
Are there any other support issues that the team should be aware
of?
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 34
Quality Manager
Are the engineers properly and timely recording their data?
Do they record the data as they do the work or after the fact?
Are the data complete and of sufficient quality to permit analysis? If
not, what remedial actions do you recommend?
Are the engineers using their data to assess the quality of their
work?
Do the engineers’ data indicate that the work is of high quality? If
not, what remedial actions do you recommend?
Are the engineers holding team inspections of the requirements,
design, and implementation products and are these inspections
being done properly?
Are the engineers conducting personal design and code reviews and
are these reviews being done properly?
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 35
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 36
Quality Management Details
The Quality manager reviews the quality of each product
element before it is inspected or tested. If data indicates a
poor-quality product, the quality manager should not let the
team waste time inspecting or testing it.
Quality manager is responsible for moderating the team’s
inspections or insuring that a qualified moderator is assigned
to every inspection.
The inspection moderator first pre-reviews the product to see
if it is ready for the inspection.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 37