Introduction to TSP – I
Lecture # 23
1
Why Projects Fail
• Reasons
– Seldom due to technical reasons
– People problems
– Excessive schedule pressure
• Solution
– People problems can be solved with the help of
good communication and good teams
– Good teams guide in handling pressure
2
• The best team structure depends on the
management style of your organization, the
number of people who will populate the
team and their skill levels, and the overall
problem difficulty
• The performance of a team is inversely
proportional to the amount of
communication that must be conducted
3
• The length of time that the team will “live
together” affects team morale
• Constantine suggests four organizational
paradigms for software engineering teams:
4
Closed Paradigm
• A closed paradigm structures a team along a
traditional hierarchy of authority
• Such teams can work well when producing
software that is quite similar to past efforts,
but they will be less likely to be innovative
when working within the closed paradigm
5
Random Paradigm
• The random paradigm structures a team
loosely and depends on individual initiative
of the team members
• When innovation or technological
breakthrough is required, teams following
the random paradigm will excel
• But such teams may struggle when “orderly
performance” is required
6
Open Paradigm 1
• The open paradigm attempts to structure a
team in a manner that achieves some of the
controls associated with the closed
paradigm but also much of the innovation
that occurs when using the random
paradigm
7
Open Paradigm 2
• Work is performed collaboratively, with
heavy communication and consensusbased
decision making the trademarks of open
paradigm teams
• Open paradigm team structures are well
suited to the solution of complex problems
but may not perform as efficiently as other
teams
8
Synchronous Paradigm
• The synchronous paradigm relies on the
natural compartmentalization of a problem
and organizes team members to work on
pieces of the problem with little active
communication among themselves
9
• To achieve a highperformance team:
– Team members must have trust in one
another
– The distribution of skills must be
appropriate to the problem
– Mavericks may have to be excluded from
the team, if team cohesiveness is to be
maintained
10
• A jelled team is a group of people so
strongly knit that the whole is greater than
the sum of the parts…
• Once a team begins to jell, the probability
of success goes way up. The team can
become unstoppable, a juggernaut for
success
11
Factors that Foster Toxic Team
Environment 1
• A frenzied work atmosphere in which team
members waste energy and lose focus on
the objectives of the work to be performed
• High frustration caused by personal,
business, or technological factors that
causes friction among team members
12
Factors that Foster Toxic Team
Environment 2
• “Fragmented or poorly coordinated
procedures” or a poorly defined or improperly
chosen process model that becomes a
roadblock to accomplishment
• Unclear definition of roles resulting in a lack
of accountability and resultant fingerpointing
• “Continuous and repeated exposure to failure”
that leads to a loss of confidence and a
lowering of morale
13
Team Software Process (TSP)
• After this basic introduction about teams,
let’s talk about Team Software Process or
TSP
14
Team Software Process (TSP)
• Development of Team Software Process
(TSP) is another important step in software
process improvement, after the
development of CMM and PSP
• TSP was also developed at Software
Engineering Institute
• The TSP provides a disciplined context for
engineering work
15
Team Software Process (TSP)
• The principal motivator for the
development of the TSP was the conviction
that engineering teams can do extraordinary
work, but only if they are properly formed,
suitably trained, staffed with skilled
members, and effectively led
• The objective of the TSP is to build and
guide such teams
16
Team Software Process (TSP)
• Teams are required for most engineering
projects. Although some small hardware or
software products can be developed by
individuals, the scale and complexity of
modern systems is such, and the demand for
short schedules so great, that it is no longer
practical for one person to do most
engineering jobs
17
Team Software Process (TSP)
• Systems development is a team activity, and
the effectiveness of the team largely
determines the quality of the engineering
• There are different kinds of teams
18
Team Software Process (TSP)
• In sports, for example, a basketball team’s
positions are dynamic while baseball/cricket
team members have more static roles.
However, in both cases the members must all
work together cooperatively
• Conversely, wrestling and track teams are
composed of individual competitors who do
not dynamically interact, although the
members support each other socially and
19
emotionally
Team Software Process (TSP)
• In engineering, development teams often
behave much like baseball or basketball
teams. Even though they may have multiple
specialties, all the members work toward a
single objective
• However, on systems maintenance and
enhancement teams, the engineers often
work relatively independently, much like
wrestling and track teams
20
Team Software Process (TSP)
• A team is more than just a group of people
who happen to work together
• Teamwork takes practice and it involves
special skills
• Teams require common processes; they
need agreed upon goals; and they need
effective guidance and leadership
21
Team Software Process (TSP)
• The methods for guiding and leading such
teams are well known, but they are not
obvious
• The Software Engineering Institute (SEI) is
supporting the TSP as a way to guide
engineers and their managers in using
effective teamwork methods
22
Conditions for Teamwork
23
What is a Team?
• A team is a group of people who share a
common goal
• They must all be committed to this goal and
have a common working framework
24
Following slide to be inserted
What is a Team?
25