Sunteți pe pagina 1din 19

Team Software Process (TSP):

Team Organization and Launch Process

João Pascoal Faria

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

Software Industry Performance


Succeeded: Delivered on
time, on budget, with
required functionality.

Failed: Cancelled prior to


completion or delivered and
never used

Challenged: Significant
cost overrun (+43% avg.),
time overrun (+83% avg.),
less functionality (-48% avg.)
(2002 numbers)

Source: Standish Group, 2009 Chaos report, data


from over 50,000 IT projects in large, medium, and
small cross-industry world-wide companies

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

Team Software Process (TSP)


 TSP is a process that is specifically designed
to help software teams improve their
performance and produce high-quality
products in predictable schedules.
 It’s purpose is to help teams
• plan their work
• negotiate their commitments with
management
• manage and track projects to a successful
conclusion
• produce quality products in less time
• achieve their best performance without the
“death march” ending

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

Instance of Personal Process discipline


high-maturity
Team Performance measures
Software Member
practices for Process Estimating & planning skills
individuals Skills Quality management skills

From the Software Engineering Institute (SEI), Carnegie Mellon University (CMU)

TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 7

TSP Performance Results


Average Defect Density of Delivered Software Effort Deviation Range

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

Software Assessments, Benchmarks, and Best TSP impact study 2003, 20


Practices, Capers Jones, Addison-Wesley, 2000 Schedule Deviation Range
projects in 13 organizations
120% +112%
100%

80%
Percent Error

60%

40%
+20%
20% +27%
0%

-20% -8%
20-30% Pre-TSP With TSP

TSP impact study 2000, 15 projects in 4 organizations, all CMM levels

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.

Organizational process models Processes that are owned by, and


Processes that are owned by management. guide, development teams.

Development Monolithic, management-oriented Adaptive, nested, iterative, fine-


strategies coarse grained strategies. grained strategies.

Centralized planning and De-centralized, team-based


tracking. planning and tracking.
Management
practices
Coarse-grained plans (months). Fine-grained plans (weeks).

Metrics reporting and use starting Metrics reporting and use at the
Metrics at the project manager level. team or developer level.

Source: James Over, Software Engineering Institute, 2010

TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 9

Team
Organization

Pre-historic rock carvings, Alta, Norway, circa 12.000BC

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

Taylor Charles Chaplin Peter Drucker


1911 Modern Times 1959

TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 11

TSP Self-directed Team Management


Style
Team Leader TSP
Team Leader Coach

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.

the team Support manager – responsible for ensuring


that support needs are met and for configuration
management.
 Assume technical (analyst,
Technical Management Roles
developer, tester, etc.) as
Customer interface manager – responsible for
well as management roles the interface to the customer or customer
representative.
Design manager – responsible for the design
practices and quality.
Implementation manager – responsible for
implementation practices and quality.
Test manager – responsible for test practices
and quality.
TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 13

Team Leader Responsibilities


 The team leader does not typically take
one of the eight team member roles.

 The team leader’s job on a TSP team is to


• guide and motivate the team in doing its work
• take the time to reach full consensus on all important issues
• ensure that the team establishes high standards for the work
• provide management support to the team
• support the team with management
• protect the team so that it can concentrate on the project

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

The Impact of Self-Directed Teams


 A self-directed team
• builds its own plans, negotiating trade-offs with management.
• owns its process and is committed to following it.
• measures and tracks its own work.
• knows precisely where it stands.

 Because of this the team members are highly motivated to


help each other meet their commitments and achieve their
best performance.

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

TSP Process Structure


 Projects may have multiple
cycles, each starting with a Business
Launch
and
launch or re-launch and technical Estimates, plans,
ending with a postmortem goals process, commitment

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

 Teams also must be motivated and personally committed.


 Without these, teams will rarely be successful.
 How do you build such teams?

TSP : Team Organization and Launch Process, 25 February 2011, © FEUP 2011 19

Team Building: The TSP Launch Process


7. Conduct risk
1. Establish 4. Build overall 9. Hold management
assessment, create
product and and near-term plans, review, negotiate and
and assign risk
business goals estimate size, tasks, approve plan
mitigation plans
and resources

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

 The objectives of meeting 1 are to


• motivate the team members to do
this job
• ensure that the team understands
management’s or customer’s criteria
for success

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

 Because the team and team leader have a


great deal to do during the launch, they
• should be guided by a trained coach to help
them focus on building the plan
• work without observers

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.

 Management’s responsibilities in meeting 9


are to
• probe the team’s plan
• assess the plan’s accuracy and completeness
• approve the plan if it is suitable

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

Apendix: Roles and Responsabilites

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

Customer Interface Manager


 Are we being responsive to customer requests?
 Are we properly handling customer requests?
 Is every requested change being evaluated, planned, and approved before
being implemented?
 Is the interface between the developers and the requirements and/or
systems people working properly? If not, what should the team do to
improve this interface?
 Is development being delayed by the requirements work?
 Is the quality of the requirements sufficient to guide the development work?
 Are the right people reviewing and approving the requirements?
 Do all team members understand the environment in which the system will
be used?
 Are there any other customer-related issues that the team should be aware
of?

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

Quality Manager – con’t


 Is component and/or module quality being reviewed before
integration and system test?
 Does the quality of all the components and modules meet the
team’s quality guidelines before integration and system test?
If not, what is being done to fix the quality problems?
 Do you need further support from management or the team
leader in assuring quality work?
 Are there any other quality issues that the team should be
aware of?

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

S-ar putea să vă placă și