Team Software Process. 张笑燕 北京邮电大学 软件学院. TSPi guides students in effective teamwork and process methods. TSPi provides defined team roles.
Team Software Process 张笑燕 北京邮电大学 软件学院
TSPi guides students in effective teamwork and process methods. TSPi provides defined team roles. When students team members have explicit roles and the role responsibilities are clearly defined and visible, instructors can provide fairer and more specific grades. Why Study TSPi?
《Introduction to the Team Software Process》，Watts S.Humphrey，Tsinghua University Press，Dec. 2002； 《TSP——Leading a Development Team》，Watts .Humphrey，Posts & Telecom Press，Jul.2006； 《Managing the Software Process》，Watts .Humphrey， Tsinghua University Press，Aug. 2002； 《PSP：A Self-Improvement Process for Software Engineers》，Watts .Humphrey， Posts & Telecom Press，Apr.2006； 《Introduction to the Personal Software Process》，Watts .Humphrey， Posts & Telecom Press，Oct.2002. Reference
《Introduction to the personal Software Process》 《The C Programming Language 》 Prerequisites
Unannounced quiz：10％ Midsemester：20％ Final：70％ The Criteria of Grading
Chapter 1 TSPi OVERVIEW
What is TSPi? The TSPi design. The TSPi structure and flow. The TSPi development strategy. Contents
TSPi（Introduction to the Team Software Process）provides a structured set of steps, shows engineers what to do at each step, and demonstrates how to connect these steps to produce a completed product. TSPi is a reduced-scale version of TSP. It does, however, retain the same basic concepts and methods. What Is TSPi？
Provide a simple framework that builds on the foundation of Personal Software Process（PSP）. Develop products in several cycles. Establish standard measures for quality and performance. Provide precise measures for teams and students. Use role and team evaluations. Require process discipline. Provide guidance on teamwork problems. TSPi Design
Cycle 1 Launch Strategy 1 Plan 1 Requirements 1 Design 1 Implementation 1 Test 1 Postmortem 1 Cycle 2 Launch Strategy 2 Plan 2 Requirements 2 Design 2 Implementation 2 Test 2 Postmortem 2 Cycle 3 Launch Strategy 3 Plan 3 Requirements 3 Design 3 Implementation 3 Test 3 Postmortem 3 TSPi Structure and Flow
When you start a cyclic development strategy, the best plan is to begin with the smallest viable product version. In deciding the size and content of each cycle, you should consider the following constraint. Each cycle should produce a testable version that is a proper subset of the ultimate product. Each cycle should be small enough to be readily developed and tested in the available time. When combined，the cycle products should produce the desired final product. Development Strategy
Chapter 2 The Logic of the Team Software Process
Vocabulary • Teamwork：团队协作、配合 • Knit：紧密结合、团结 • Procrastination：（经常性地）延迟、拖延； • Cohesion：凝聚，内聚力； • Jell：成胶状，结冻，（意见、计划等）定 形，具体化，变明确； • Arbitrary：任意的, 武断的, 独裁的, 专断的。
Contents • Why projects fail. • Common team problems. • What is a team? • Effective teams. • How teams develop. • How TSPi builds teams.
Why Projects Fail • Apoor or ineffective response to pressure is often the cause of project failure. • The apparent source of pressure in software projects is the need to meet a tight schedule. • By guiding teams through a strategy and planning process, the TSPi shows teams how to handle pressure. • TSPi can help teams manage their projects more effectively. Teams are much more likely to do a quality job.
Common Team Problems • Ineffective Leadership • Failure to Compromise or Cooperate • Lack of Participation • Procrastination • Poor Quality • Ineffective Peer Evaluation
Common Team Problems • Ineffective Leadership • Without effective leadership, teams generally have trouble sticking to their plans and maintaining personal discipline. • Although effective leadership is essential, few people are natural leaders. Most of us need to develop our leadership skills and to get practice using them. • Chapter 11 gives you helpful pointers on how to perform the team leader’s role most effectively.
Common Team Problems • Failure to Compromise or Cooperate • Occasionally one or more team members may not be able to work cooperatively with the team. Peer pressure can often resolve such problems.
Common Team Problems • Lack of Participation • Although some degree of variation in participation is normal, it is important that all team members strive to meet the team’s goals. If it is clear that someone is not making a serious effort, team spirit generally suffers.
Common Team Problems • Procrastination • Some teams don’t set deadlines or establish goals and milestones. Others set deadlines they never meet. • Such teams generally don’t track performance and often fail to make decisions in a timely or logical way. • They take excessive time to get started, and they drift through their projects rather than attacking them.
Common Team Problems • Poor Quality • Quality problems can come from many sources. For examples: a superficial requirements inspection, a poorly design, or sloppy implementation practices. • When teams don’t use personal reviews or team inspections, they usually have quality problems. The results are extensive testing, delayed schedules, long hours and an unsatisfactory final product.
Common Team Problems • Ineffective Peer Evaluation • Experience has shown that peer evaluation can be invaluable for student teams. • Students are often reluctant to grade their teammates and rarely do so with complete candor. • As a result, students often feel that the grading in team courses is not entirely fair, particularly to the highly motivated students.
What is a Team? A team consists of • at least two people, who • are working toward a common goal/objective/ mission where • each person has been assigned specific roles or functions to perform, and where • completion of the mission requires some form of dependency among the group members.
Effective Teams An effective team is a group of people so strongly knit that the whole is greater than the sum of the parts.
Effective Teams • Team Cohesion • Members of highly cohesive groups communicate freely and often. Although they need not be good friends, they work closely together and respect and support each other. • In less cohesive groups, members tend to function as individuals. They have trouble compromising and don’t have common values and goals.
Effective Teams（Cont.） • Challenging Goals • First, these goals must be specific and measurable. • Second, the team’s goals must represent a significant challenge.
Effective Teams（Cont.） • Feedback • Goal tracking and feedback are critically important. • Effective teams are aware of their performance and can see the progress they are making toward their goals.
Effective Teams（Cont.） • Common Working Framework • All team members must feel that the tasks are achievable, must understand their roles and responsibilities, and must agree on how to accomplish them.
How Teams Develop • At the outset, most teams start with individuals who have diverse goals. • As teams jell, the members come to accept a common set of team goals. • The TSPi supports this jelling process by walking teams through a launch procedure. • Even though the goals may be arbitrary, the team members will pursue them with enormous energy.
How TSPi Builds Teams • Goals • The TSPi helps members accept the team goals by having all team members participate in defining them.
How TSPi Builds Teams • Roles • Immediately after goals, the next issue is responsibilities. • How can teams get all members to take responsibility for their parts of the job? • The TSPi addresses this issue by establishing team member roles.
How TSPi Builds Teams • Plans • After the team agrees on its goals and roles, it next agrees on a strategy and a plan for achieving these goals.
How TSPi Builds Teams • Communication among team members • When team members don’t know the status of each other’s work, they can not coordinate their work. • The TSPi addresses this problem by calling for regular weekly team meetings. • With their defined goals, roles and plans, teams members can communicate crisply and concisely.
How TSPi Builds Teams • External Communication • Often, teams communicate with the manager or the instructor when they are in trouble. • Managers and instructors see only problems and not successes, and that puts the team in a poor light. • The team cannot take advantage of the instructor’s or manager’s knowledge and experience. • TSPi calls for the team leader to make weekly summary reports to the instructor.
Why projects fail. Common team problems. What is a team. Effective teams. How teams develop. How TSPi builds effective teams. Summary
Homework • “Impact of TSPi on Software Projects” Cuevas, G.; Calvo Manzano, J.; San Feliu, T.; Electronics, Robotics and Automotive Mechanics Conference, 2007. CERMA 200725-28 Sept. 2007 Page(s):706 – 711 • Chapter 11——15
Chapter 3 Launching a Team Project
Student information Product Objectives Team Roles Team Goals Goal Setting for TSPi Team Member Goals The Role Goals Team Meetings The First Team Meeting Data Requirements Contents
To be most effective, teams need a mix of talents and abilities. Team members also need to spend time together and have complementary interests and abilities. To provide the necessary information, the students need to complete the INFO form. The instructor uses this information to make the team and role assignments. Student Information
Please refer to Project Practice Ⅲ. Product Objectives
Team Leader Development Manager Planning Manager Quality/Process Manager Support Manager To the extent practical, every student should be exposed to several roles. Team Roles
Goals setting is an essential step in team formation and should usually be done at the start of every project. The goals establish the framework for strategy and the plan. Without defined goals, there is no orderly way to settle arguments, negotiate strategies, or plan the work. Team Goals Why Team Goals?
Set aggressive but realistic goals; Set specific and measured goals; Team Goals Goal-setting Consideration
Team Goal 1: Produce a quality product. Measure 1.1：Percent of defect found before the first compile（Process Yield）：80％ Measure 1.2：Number of defects found in system test：0 Measure 1.3：Requirements functions included at project completion：100％ Team Goal 2：Run a productive and well-managed project. Measure 2.1：Error in estimated product size：<20％ Measure 2.2：Error in estimated development hours：<20％ Measure 2.3：Percent of data recorded and entered in project notebook：100％ Team Goal 3：Finish on time. Measure 3.1：Days early or late in completing the development cycle：<4 Goal Setting for TSPi
Be a cooperative and effective team member； Do consistently disciplined personal work； Plan and track all your personal work； Produce quality products. Team Member Goals
The role goals and measures are discussed in more detail in Chapter 11—15； Give highest priority to the team’s overall goals, then work cooperatively with the entire team to meet your personal and role goals. The Role Goals
The team meeting is the basic mechanism for team communication, planning and decision making. The most important single function of the weekly team meeting is to gather and analyze the team’s data for the prior week and for the development cycle to date. Team Meetings
Discusses the team member roles； Reviews and updates the team goals； Establishes a standard time for the weekly team meeting； Agrees on a specific time each week when all team members will provide weekly data to the planning manager. The First Team Meeting The team leader holds the first meeting of his or her new team.
All team members must update their personal TASK, SCHEDULE and WEEK forms and give the planning manager their data at the agreed time； The planning manager needs the data to generate the weekly status update； The team leader also needs these data for the weekly report to the instructor. Data Requirements