Tải bản đầy đủ (.pdf) (60 trang)

Lecture Software process improvement: Lesson 45 - Dr. Ghulam Ahmad Farrukh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (920.3 KB, 60 trang )

Review from Mid­Term to Final
Lecture #45

1


Software Problems
• Technical
– Need a technical solution
– Easy to understand and solve

• Systemic
– Need a process/management solution
– Difficult to understand and solve

2


Solution to Software Problems
• Treat the software task as a process that can 
be controlled, measured, and improved
• Relate the required tasks, tools, methods 
with skill, training, and motivation of 
people involved

3


Software Processes
• Software engineering, as a discipline, has 
many processes


• These processes help in performing 
different software engineering activities in 
an organized manner

4


Software Process
• The software process is the set of tools, methods, 
and practices that people use to produce (develop 
and maintain)  software and associated products , 
e.g., project plans, design documents, code, test 
cases, and user manuals
• Where are the people? Aren’t they the most 
important part of an organization?
5


Characteristics of Software 
Processes
• Requires creativity
• Interactions between a wide range of 
different people
• Engineering judgment
• Background knowledge
• Experience
6


Commit the resources to execute 

the plan

7


Introduction to TSP

8


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
9


• After this basic introduction about teams, 
let’s talk about Team Software Process or 
TSP
• Development of Team Software Process 
(TSP) is another important step in software 
process improvement, after the 
development of CMM and PSP

• The TSP provides a disciplined context for 
engineering work 10


• 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
11


• 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
12


What is a Team?

13



What is a Team?
• A team consists of at least two people
• The members are working toward a 
common goal
• Each person has a specific assigned role
• Completion of the mission requires some 
form of dependency among the group 
members
14


• The four parts of this definition of a team 
are all important
• For example, it is obvious that a team must 
have more than one member, and the need 
for common goals is also generally 
accepted

15


• However, it is not as obvious why team 
members must have roles?
• Roles provide a sense of ownership and 
belonging
• They help to guide team members on how to 
do their jobs; they prevent conflicts, duplicate 
work, and wasted effort; and they provide the 
members with a degree of control over their 
working environment

16


• Such a sense of control is a fundamental 
requirement for motivated and energetic 
team members

17


• Interdependence is also an important 
element of teamwork. It means that each 
team member depends to some degree on 
the performance of the other members
• Interdependence improves individual 
performance because the members can help 
and support each other
• E.g., Design teams
18


• Team performance is further enhanced by 
the social support of membership. Human 
beings are social animals and few people 
like to work entirely by themselves—at 
least not for very long
• Because of the social context of teams, the 
members will generally make a special 
effort to meet their obligations to the rest of 
the team

19


• Through mutual support and 
interdependence, teams become more than 
just the sum of their individual members
• To be effective, teams must be properly 
skilled and be able to work as cohesive 
units
• Effective teams have certain common 
characteristics
20


• Innovation is more than just thinking up 
bright ideas; it requires creativity and a lot 
of hard work. Just about every engineering 
task is part of an innovative endeavor
• Innovative teams must have skilled and 
capable people who are highly motivated. 
They must be creative, flexible, and 
disciplined
21


• 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
22


• The length of time that the team will “live 
together” affects team morale
• Constantine suggests four organizational 
paradigms for software engineering teams:





Closed paradigm – traditional, good for déjà vu projects
Random paradigm – loose, innovative projects
Open paradigm – mix of traditional and random
Synchronous paradigm – natural compartmentalization 
of problem

23


High­Performance 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
24


• 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
25


×