A STUDY ON SOFTWARE PROJECT COACHING MODEL
USING TSP IN SAMSUNG
Taehee Gwak and Yoonjung Jang
SE Team, Software Laboratories, Samsung Electronics Co., Ltd
416, Maetan-3Dong, Yeoungtong-Gu, Suwon-City, Gyeonggi-Do, Korea 443-742
Keywords: Software Project Management, Team Software Process(TSP), Coaching Development Team.
Abstract: Reasonable planning for the project, monitoring
of the project status, and controlling of the project with
appropriate corrective actions are key factors for successful software project management. If the project
leader gets helps and supports from an expert who have the know-how of software project management
instead of depending on only their own discretion, these activities can be conducted much more effectively.
The TSP
P
SM
(Team Software Process
SM
) is a process framework developed to provide guidelines on software
development and management activities for teams. Samsung Electronics introduced the PSP/TSP
technology to meet visualization and high efficiency needs in software development, in 2003. In this paper,
we propose the software project coaching model based on the TSP/PSP experiences to support the project
leader and the team members efficiently and analyze the applying results and effects.
1 INTRODUCTION
Through experience as a software process and
quality engineer for many years, we’ve learned that
the key factors that make software projects
successful are effective project tracking and
controlling with reasonable project planning. These
in turn are governed by a right judgment of a project
leader on the project status and follow-up measures.
Currently, most project leaders in our organization
manage their projects in the way that they make a
project plan according to organizational standard
process and assign works to team members. And
then they review what have done, what to do next
week, and issues raised at the weekly team meeting.
However, there exist limits in that project planning
and updating are dependent on only the project
leader and so the level of project control is likely to
vary according to skill level and experiences of the
project leader. Therefore, it is needed to develop the
practical guideline for software project management
so that consistent and effective project management
can be applied, considering the development
environment of our organization.
The TSP
SM
(Team Software Process
SM
)
(Humphrey, W., 2005) is a process framework
developed for the purpose of providing the
guidelines on software development and
management activities for teams, while the SEI-
authorized TSP launch coach helps a project leader
and team members to apply the TSP. Within
Samsung Electronics, the PSP
P
SM
(Personal Software
Process
SM
) (Humphrey, W., 1995) training course
that was a prerequisite for using TSP have been
offered to 375 developers since 2003 and a few TSP
projects have been tried. In this paper, we propose
the software project coaching model based on
PSP/TSP experiences for years. This coaching
model is shooting for customized coaching for the
software development team on the TSP basic
framework.
This paper is organized as follows. In Section 2,
we l
ook into the TSP basic concepts and TSP
experiences in other organization. We explain the
software project coaching model in Section 3 and
analyze the effects by comparing results before and
after applying the coaching model in Section 4.
Finally, we conclude and describe future works in
Section 5.
431
Gwak T. and Jang Y. (2007).
A STUDY ON SOFTWARE PROJECT COACHING MODEL USING TSP IN SAMSUNG.
In Proceedings of the Second International Conference on Software and Data Technologies - SE, pages 431-436
DOI: 10.5220/0001327004310436
Copyright
c
SciTePress
2 RELATED STUDIES: TSP AND
TSP EXPERIENCES IN OTHER
ORGANIZATIONS
The TSP Framework contains Team Building
Process which is represented by the TSP launch
workshop and Team Working Process that addresses
engineering processes and practices used by the
team. All activities on the TSP framework are
conducted under technical support of TSP coach.
The TSP can be a process instance for team
which offers how to do each engineering or
management activity concretely, while the process
areas in project management category of
CMMI(Capability Maturity Model Integrated) (SEI,
2006) and PMBOK(Project Management Body Of
Knowledge) (PMI, 2004) focus on what activities
should be conducted for project management.
Therefore, in many organizations that adopted the
TSP, we can find easily a feature to apply the TSP in
conjunction with CMMI in order to improve their
process. The P-3C organization of NAVAIR(the
Naval Air Systems Command) is a good example
that has accomplished software process
improvement from level 1 to level 4 in just 27
months through using the TSP in conjunction with
the CMMI framework (Wall D. S., McHale J.,
Pomerroy-huff M., 2005). Other case is using the
TSP linking with Six Sigma (Dan S., Duine V.,
2006). The TSP philosophy is consistent with Six
Sigma’s in that it takes a quantitative approach
regarding software development, so there can be
synergy if two methodologies are integrated
properly. Many other valid approaches to adopt the
TSP can exist and, in this study, we focus on a
customized coaching, considering characteristics of
development team and organization.
3 SOFTWARE PROJECT
COACHING MODEL USING
TSP
When new methodology or technique is introduced
in some organization, in order to convey its intended
messages properly, it is helpful to keep the person
who supports and monitors it. The TSP coach has a
role to help a team leader and team members to use
the TSP framework as well as acts as a change agent
for successful introducing of the TSP/PSP
technology within the organization. In the initial
stage, our aim was to delivery the TSP basic
concepts accurately and to verify the value and the
usefulness. However, there existed a limit in
increase of effectiveness for the issues such as
redundancy of existing process and tools and a
burden of additional data gathering. In our view, this
was due to that we didn’t consider enough the
organizational development environment and the
characteristics of the development team, and finding
a solution for these problems becomes the goal of
this study.
The primary focus of the coaching model
proposed in this paper is on two purposes:
customizing TSP process in order that it is merged
with the organizational development environment
and customizing TSP coach’s role to support the
team in different ways according to the team’s
characteristics. Figure 1 illustrates our approach.
Figure 1: Approach for developing coaching model.
Figure 2 is the detailed coaching process of our
model. The thin solid line and the dotted line
represent the coach’s roles and the development
team’s roles respectively, and the thick solid line
means the cooperative activities of the coach and the
team. The activities at the top of figure are
conducted under the leadership of the coach,
whereas the activities enumerated in the bottom part
are works of which subject is the team. We also
marked improved area and added area in our
coaching model with symbols shown in a legend of
Figure 2.
Figure 2: Detailed coaching process.
ICSOFT 2007 - International Conference on Software and Data Technologies
432
3.1 Project Selection
This step is for selecting projects to apply the
coaching model. Basically, the projects that can
meet requirements needed to use the TSP should be
selected, for our coaching model is based on the TSP
framework. The TSP was devised for supporting the
team with 3~15 members and the prerequisites are as
follows;
[The prerequisites for using the TSP]
- Not only should the senior manager understand enough
the TSP central concepts and respect the plan made by
the team, but he or she should not use the team’s data
for any other purpose such as evaluating individuals.
- There should be an agreement regarding data
collection and submission from the team members.
- All team members have taken a PSP for engineer
course.
However, in this study, we couldn’t find the
team in which all team members had taken a PSP for
engineer course. Hence, we decided to offer the PSP
course to the team members who didn’t get the PSP
training just before the TSP launch, after selecting
projects only by the first and second requirements.
3.2 Team Evaluation
The roles and efforts of the coach vary with the
maturity level of the development team. Therefore,
we defined the four maturity levels as described
below and tired to conduct a customized consulting
and supporting according to the team’s level.
[Team Maturity Level]
- Unlearned: The team that doesn’t learn about the basic
concepts and techniques of software measurement and
quantitative project management.
- Learned: The team that has learned about basic
concepts and techniques, but inexperienced in the TSP.
- Skilled: The team that has knowledge and experience
of the TSP, and so gets skill in estimation and analysis
for quantitative project management.
- Self-directed: The team that is managed itself. The
team is skilled in teamwork, works aggressively to meet
its goals and deals with issues came up effectively. The
TSP achieves high performance by building self-
directed teams.
Table 1: Criteria for evaluation team level.
PSP Trained
TSP
Experience
Rarely
(~50%)
Partially
(50%~)
Fully
(100%)
0 year Unlearned Unlearned Learned
1 year Unlearned Learned Skilled
2 year Learned Skilled Self-
directed
The maturity level of the team depends on TSP
experience and the number of PSP trained members
and the criteria for evaluating team’s level are as
shown in Table 1.
3.3 Launch Preparation
The one of primary jobs of the coach that is
conducted in this step is integrating existing process
or tools used in project planning with the TSP
launch process. For example, if there is a checklist
for risk assessment, the coach prepares in advance to
use it at the TSP launch meeting 7 which is for
conducting risk assessment. It is very helpful to
make and use a mapping table, and the coach can
check special items that are different from those of
other teams after including general items in the
mapping table in advance. In addition, the coach
prepares to explain how to do the TSP launch or
what are the responsibilities of the TSP role for
managers in accordance with the status of the team.
3.4 Coaching Effort Estimation
It is important to estimate efforts needed for
coaching to make a reasonable coaching plan, for the
coach involves other works except coaching within
our organization. In this step, an overall coaching
effort is estimated based on three kinds of
information: team’s maturity level from step 3.2, the
number of team members, and the overall project
schedule estimated at the TSP launch. Table 2
illustrates a coefficient for calculating coaching
efforts. For example, if the unlearned team with
eight members estimates the overall project schedule
at six months, we estimate that it will take three
months for the coach to support that team. But this
estimate can be adjusted according to coach’s
experience with 27% VAF(Value Adjustment
Factor). This VAF was derived from analyzing
individual coaching time in the PSP training, for we
decided the VAF would be equivalent between
individual coaching and team coaching. For four
years, we’ve provided PSP training to 375
developers and found that there was a deviation of
about 27% on the instructor’s effort needed.
Table 2: Reference table for estimating coaching effort.
Team Size(persons)
Team Level
Small
(3~5)
Medium
(6~8)
Large
(8~15)
Unlearned 1/3 1/2 1/2
Learned 1/4 1/3 1/2
Skilled 1/5 1/4 1/3
Self-directed 1/5 1/5 1/4
A STUDY ON SOFTWARE PROJECT COACHING MODEL USING TSP IN SAMSUNG
433
3.5 Making a Coaching Plan
We divided activities of the coach into four types;
developer training, supporting the TSP
launch/relaunch, weekly monitoring and consulting,
and interim or final performance analysis. Because
developer training among these is finished before
project starting, the coaching plan focuses on three
other activities. The key difference from original
TSP framework is to have a different coaching plan
according to team’s maturity level. For example, in
case of the self-directed team, the coach makes a
plan to guide the team based on team’s requests,
contrary to the unlearned team that a conscientious
coaching plan is needed. The way of coaching also
differs from team to team in that the on-site
coaching period for the unlearned team is much
longer than that of the skilled team or the self-
directed team.
3.6 Customized Coaching
In this step, customized coaching is conducted
according to the coaching plan made in step 3.5.
Once the team members are familiar with the TSP
process and gather reliable data in two to four
weeks, the main job of the coach moves into helping
the team leader to cope with various problems from
the project in a timely manner. Inevitably, a project
is likely to show deviations from planned in its
actual progress. A significant schedule deviation
may mean that the project may be heading for failure
and this situation demands that the project leader
understand the reasons for the variation and take
corrective actions. For the purpose of supporting the
project leader more effectively, we developed the
guideline checklist for causal analysis and control
actions by the project status. After getting at current
status of the project by actual versus estimated
analysis of schedule, effort, and defect, the project
leader finds the reference number using the project
status indicator table. And then he or she checks
reasons and actions to consider in the guideline
checklist and applies corrective actions, if necessary.
However, if the estimates were too aggressive, the
project leader might revise the estimates. This
mechanism is illustrated in Figure 3.
3.7 Coaching Assessment
This is the step for assessment and improvement of
coaching model. After completion of the project, we
provided evaluation forms to the team members to
get information regarding team satisfaction and ask
for feedback. The questionnaire contains five
categories as drivers of team member satisfaction as
described below.
[The Team Satisfaction Survey]
- Fidelity: The questions to ask how faithful the member
prepares and works in conformity with the process
provided.
- Method/Process: The questions to ask whether the
method and process provided are practical and helpful.
- Materials/Tools: The questions to ask whether the
materials and tools provided are practical and helpful.
- Benefits: The questions to ask about real benefits that
the member feels due to applying new method.
- Other Improvement Proposals: The questions to ask
about improvement proposals for new method and the
coach.
We made three or four questions per each
category and scored one to five points per question.
When we conducted this team satisfaction survey to
the team members in the base projects of this study,
we got high scores and positive comments (see
Figure 4).
4 RESULTS AND EFFECTS
In this section, we analyze the results of the
coaching model proposed. Our analysis points of
view are the benefits of the coaching model and the
team satisfaction. Customized coaching by the team
characteristic, such as team size and maturity level,
is the first and most important benefit. Without the
formalized coaching model, it is difficult to apply
customized coaching, for there are not objective
criteria and strategy for this. Second, the mapping
table was developed so that the TSP process could
be linked with existing organizational process and
tool systematically, in turn avoiding redundant work
due to applying the TSP. Third and fourth, it is
possible to provide consistent coaching through
standardization of coach’s role and easy to improve
a coaching skill through sharing and transfer of
coaching know-how or experiences. Fifth, readiness
for spread of the TSP framework throughout our
organization and sixth, flexibility in introducing new
technology such as cost estimation techniques are
primary benefits that are feasible only when using
the coaching model proposed. And all these benefits
were obtained without an injury to the TSP basic
concepts and effects.
ICSOFT 2007 - International Conference on Software and Data Technologies
434
Figure 3: Reason and follow-up actions by project status.
Table 3: Performance results before and after coaching model.
With TSP
Key Performance
Without
TSP
Before using
Coaching Model
(for initial plan)
After using
Coaching Model
(for initial plan)
Deviation
TSP Results by
SEI (Range)
Schedule Deviation (%) - 3.5 (25) 0.65 (19.15)
5.4 : 1
(1.3 : 1)
6 (-20~+27)
Effort Deviation (%) - 20.97 15.25 1.4 : 1 26(5~65)
System Test Defect
(Defs/KLOC)
4.09 1.86
0.88 2.1 : 1 0.4(0~0.9)
System Test Duration
(Days/KLOC)
3.04 2.67
1.81 1.5 : 1 0.5(0.2~0.8)
System Test Effort
(% of total)
33.8 19.6
6.1 3.2 : 1 4(2~7)
# of projects 1 2 4 - -
Average Size (LOC) 16,866 53,797.5 51,443.3 - -
Figure 4: Team satisfaction evaluation.
A STUDY ON SOFTWARE PROJECT COACHING MODEL USING TSP IN SAMSUNG
435
Table 3 shows the results of project performance
analysis before and after applying our coaching
model. To compare more objectively, we mentioned
both results in company with the TSP results
reported by SEI. As shown in Table 3, we’ve got
better results than that of non-TSP projects, but also
the results as good as SEI reported, irrespective of
applying our coaching model. However, we can find
the fact that the performance after using our
coaching model is much better than that before using
the coaching model. In other words, our coaching
model is beneficial to project performance, too. The
impact of increasing productivity of the teams or
Hawthorne effect on this performance improvement
can be negligible because we don’t focus on
increasing in productivity of team in our
methodology. But, the fact that we can’t statistical
analysis, such as significant level because base
projects are very few is a limit of our paper.
Figure 4 shows the results of the team
satisfaction survey. The questionnaire mentioned in
section 3.7 was used and especially, the answers of
the detailed questions in benefit area were analyzed.
For all four items, namely a reasonable project plan
and schedule, a feeling of belonging and motivation,
practical and helpful guidance, and timely measure,
more than 80% of the team members answered
positively. That means the team feels a high level of
satisfaction.
5 CONCLUSIONS
In the PSP/TSP introducing strategy of SEI, the roles
of agents who lead a change are strongly
emphasized. Therefore, the change agent, such as
PSP/TSP instructor and TSP coach, is core part, not
just role in the PSP/TSP process. After introducing
the TSP technology for quantitative and effective
software project management, we felt need for
developing the coaching model which was designed
and formalized for considering our development
environments and various characteristics of the
development teams. Thus, the goal of our coaching
model was offering customized coaching and we
started with improving TSP coach’s role. We strove
to minimize overload and a redundant work due to
applying the TSP through integrating organizational
process with the TSP process and provide the
optimized and consistent coaching to the team.
Our coaching model has three important
elements; the method for team evaluation, the
reference table for estimating coaching effort, and
the guideline checklist which would be used for
conducting causal analysis and finding corrective
actions by project status. In addition to provide the
customized coaching, this research makes several
contributions. The first is the fact that it is easy to
share and transfer know-how for strengthening of
coaching skill. Second, estimating coaching effort
helps the allotment and control of coach’s workload
so that can accelerate improvement of coaching
capability. Another contribution lies in that the
coaching model is structured to be flexible enough
to add the new technology, process or tools for
software development. Lastly, this study has
additional contribution in that the coaching model
also has a beneficial effect on improving of project
performance.
In order to estimate accurate coaching effort,
more project data and coaching experiences should
be accumulated, for this study is based on the data
collected in only several projects in limited domains.
Also, through integration other methods used in
project management such as software estimation
techniques and software reliability model, the more
improved our coaching model is, the more effective
coaching we offer, leading to successful software
project management.
REFERENCES
PMI, 2004. A Guide to the Project Management Body of
Knowledge (PMBOK® Guide) - Third Edition, Project
Management Institute, Newtown Square, PA.
SEI, (2006). CMMI Model Version 1.2, Retrieved March
2, 2007, from Carnegie Mellon University, Software
Engineering Institute Web site:
http://www.sei.cmu.edu/cmmi/models/models.html
Humphrey, W., 1995. A Discipline for Software
Engineering, Addison Wesley, Reading, MA.
Humphrey, W., 2005. TSP: Leading a Development Team,
Addison Wesley, Boston, MA.
Dan S., Duine V. (2006). Experiences Integrating PSP
and TSP with Six Sigma, Retrieved March 2, 2007,
from Carnegie Mellon University, Software
Engineering Institute Web site:
http://www.sei.cmu.edu/tsp/sym2006-
presentations/integratesix.pdf
Wall D. S., McHale J., Pomeroy-Huff M. (2005). Case
Study: Accelerating Process Improvement by
Integrating the TSP and CMMI, Retrieved March 2,
2007, from Carnegie Mellon University, Software
Engineering Institute Web site:
http://www.sei.cmu.edu/publications/documents/05.re
ports/05sr012.html
ICSOFT 2007 - International Conference on Software and Data Technologies
436