14
Growing Jelled Teams Ömer DOĞAN Informatics Institute, Middle East Technical University, Ankara, Turkey [email protected] Abstract. Software projects are complex systems whose success heavily de- pends on the skills of the project teams. Studies beginning from the late 1960s show that there may exist 10-fold differences in productivity between different teams. As these studies reveal, what makes the difference in productivity is much more sociological rather than technological. In this paper, the things that managers should do to help forming a jelled development team are discussed. How managers can remove the impediments that prevent a development team from jelling is explained. A questionnaire is prepared based on the managerial issues for the assessment of the productivity of a team. Assessments of individ- ual developers from different project teams are collected to present how mem- bers of different teams encounter managerial problems inhibiting formation of a productive team. Keywords: Software Team Productivity, Jelled Teams 1 Introduction Many researches on the success of the software projects show that most of the soft- ware projects are not successfully completed. The most widely known research on the success of the software projects, the CHAOS report [1], shows that the amount of successfully completed software projects is about one third of the failed and chal- lenged ones.

Growing Jelled Teams

  • Upload
    metu

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Growing Jelled Teams

Ömer DOĞAN

Informatics Institute, Middle East Technical University, Ankara, Turkey

[email protected]

Abstract. Software projects are complex systems whose success heavily de-

pends on the skills of the project teams. Studies beginning from the late 1960s

show that there may exist 10-fold differences in productivity between different

teams. As these studies reveal, what makes the difference in productivity is

much more sociological rather than technological. In this paper, the things that

managers should do to help forming a jelled development team are discussed.

How managers can remove the impediments that prevent a development team

from jelling is explained. A questionnaire is prepared based on the managerial

issues for the assessment of the productivity of a team. Assessments of individ-

ual developers from different project teams are collected to present how mem-

bers of different teams encounter managerial problems inhibiting formation of a

productive team.

Keywords: Software Team Productivity, Jelled Teams

1 Introduction

Many researches on the success of the software projects show that most of the soft-

ware projects are not successfully completed. The most widely known research on the

success of the software projects, the CHAOS report [1], shows that the amount of

successfully completed software projects is about one third of the failed and chal-

lenged ones.

The success of the software projects are bound to the productivity of the development

teams. In order to increase the amount of successful software projects, the productivi-

ty of the software teams should be increased.

2 Productivity Variations of Teams

Many researches show that there may exist performance differences on the order of

magnitude between different development teams with the same level of experience.

According to the study of Weinberg and Shulman (1974) [2], productivity differ-

ence between the teams was 5-to-1 in program size and 2.6-to-1 in the time re-

quired to complete the same project.

The study of Boehm [3] using 69 projects has shown that the best team was 4 times

as productive as the worst team.

In another notable study [4] on seven identical projects, there was 3.4-to-1 differ-

ence in productivity of the teams. Although the developers in the study were all

experienced programmers who were enrolled in a computer-science graduate pro-

gram, the difference in the productivity of the teams was observed.

According to Lakhanpal (1993) [5], team cohesiveness is the most effective factor in

the productivity of the teams. In the following sections, the factors that affect the

formation of jelled teams for successful software projects are explained. With the

accompanying questionnaire results, each factor is analyzed with two aspects: the

importance of the factor and how often the factor is encountered according to the

participants.

3 Factors preventing formation of jelled teams

The most important indication that a group of people forms a jelled team is that the

members of the team desire to remain in the team. When a team is jelled, members of

the team are more strongly motivated to contribute to the goals of the team.

Managers cannot make the team jelled but only remove the impediments preventing

formation of jelled teams. In the following sections, factors that prevent formation of

jelled teams are discussed. The factors are based on the study of Demarco and Lister.

[6]

3.1 Defensive Management

It is not possible for a project manager of a software project to be expert on all the

subjects that the team is dealing with. The only thing a project manager could do is

forming the right team and trying to make the team productive. A software team will

usually consist of many people each having expertise on different areas. Therefore,

the team members should suggest their ideas on the subjects that they are good at. The

best thing a project manager could do is to listen to the team and trust the team.

This approach does not guarantee that the team will never make mistakes. Manager

should allow the team to make mistakes and also allow them to learn from their expe-

riences. When a team is afraid of failure, they will not take risks and the way to crea-

tivity and innovation is closed for the team.

It is important to continuously evaluate the experiences and lessons learned. An im-

portant practice for continuous improvement is holding regular retrospective meet-

ings. In these meetings which are held with the participation of all the team members,

the team inspects what they did well and what was wrong. They explore better ways

to work more effectively.

According to the questionnaire results, most of the participants think that their opin-

ions are important for the project. The following figure shows the assessments of the

participants.

Most of the participants assess that defensive management is an important factor that

decreases the productivity of a software development team, as shown in the following

figure.

3.2 Bureaucracy and Paperwork

As Scott Ambler states [7], the main goal of software development is to produce a

high-quality system that meets customer’s expectations in a timely manner. Any work

that is not contributing to this goal should be avoided. In the projects that comprehen-

sive documentation is produced, it is usual to end up with outdated and unread docu-

ments which have no benefit on the product.

This type of unnecessary documentation is usually accepted as a waste of time by the

developers. Especially when the documentation becomes more important than devel-

oping the software, developers begin to have a negative attitude to work. This results

in damaging the cohesion of the development team.

According to the questionnaire results, most of the participants think that documenta-

tion is not done at the level that they think it should be. The following figure shows

the assessments of the participants on the amount of documentation.

Most of the participants assess that excessive documentation is an important factor

that decreases the productivity of a software development team, as shown in the fol-

lowing figure.

3.3 Fragmentation of Worker’s Time

The interaction between the team members is an important factor that helps formation

of jelled teams. When a developer is assigned to more than one team, the interactions

of the developer are dispersed and interruptions that the developer encounters highly

increase. This situation does not only prevent formation of a jelled team but also de-

creases the performance of the individual developer.

Being member of a team requires interaction with the team members which results in

many interruptions during a working day. The following figure shows the causes of

interruptions based on a study [8] on the fragmentation of worker’s time. When the

causes of interruptions are analyzed, it is obvious that being member of more than one

team results in a higher amount of interruptions.

The following figure from the same study shows the reasons of interruptions. This

figure also shows that the amount of reasons increases when the membership of more

than one team is assigned to a person.

Results of the questionnaire show that about half of the participants live fragmenta-

tion of time in their projects.

On the other hand, most of the participants think that fragmentation of time is an im-

portant factor that decreases the productivity of a team.

3.4 Unrealistic Deadlines

A tight but not impossible deadline may sometimes be a motivating factor for the

team since a challenge can increase productivity of the team. However, deadlines that

are considered as unachievable by the team dramatically decrease the productivity of

the team. The following figure [9] shows that the motivation sharply decreases after

an amount of high schedule pressure. The result is missed delivery dates, poor quality,

low morale and loss of respect.

According to the results of the questionnaire, the following figure depicts that the

managers of the projects usually set unrealistic deadlines.

The following figure displays the assessment of the participants on the importance of

setting unrealistic deadlines on the team productivity.

3.5 Physical Separation and Poor Communication

Cohesion in a team is one of the most important factors that help jelling. According to

Martin [10], there are two types of cohesion; social cohesion and task cohesion.

Social cohesion is the degree to which group members have satisfactory relationships

and friendships with other members of the group.

Task cohesion is defined as an attraction to the group because of a commitment to the

group task.

For both types of cohesion, team members should have a high degree of communica-

tion. According to Walz et al. (1993) [11], software project success is highly depend-

ent upon knowledge acquisition, information sharing and integration. These factors

are proofs of the importance of communication for the success of a software project.

Communication can be achieved in various ways like e-mail, videoconferencing and

face-to-face. Various researches show that the most effective way of communication

is face-to-face communication which increases both types of cohesion. The following

table shows the results of a research comparing the team productivity, interaction

quality and process satisfaction of videoconferencing and face-to-face communica-

tion. [12]

Team Productivity Interaction Quality Process Satisfaction

Communication Medium Mean Std. dev. Mean Std. dev. Mean Std. dev.

Videoconferencing 8.67 5.44 10.88 2.51 10.42 2.73

Face-to-face 15.50 3.28 12.83 2.06 11.50 1.93

All these studies show that it is not possible for a team to jell if its members are not all

in one place allowing them to work in a highly interactive way. The team should have

its own area that really makes the team members feel the ownership of the area. This

working area should provide sufficient isolation from the rest of the company to allow

the team members freely interact with each other.

According to the results of the questionnaire, participants do not complain much

about the level of communication in the team. Most of the participants are happy with

their working environment. The following figure shows the distribution of the as-

sessments of the participants on communication and working environment.

The following figures display the assessment of the participants on the importance of

communication and working environment on the team productivity.

3.6 Excessive Overtime

There is naturally always a business need and desire for more results in a project

which results in expecting developers to work long hours. A little overtime can in-

crease the productivity for a short period of time, but there should be an upper limit to

keep the overtime hours productive. Overtime is a means that provides productivity

boost only when it is used for a short period of time.

The following figure [9] shows the relationship between hours worked, total output

and developer motivation.

Since motivation of the developer has an important effect on the productivity, the

total output peaks at the same number of hours as developer motivation. After an

amount of overtime, both motivation and total output decrease. The decrease of the

total output is sharper which means more than the output gained by the overtime is

lost by the decrease in productivity.

Excessive overtime results in:

Increased number of defects

Reduced productivity

Increased turnover

Reduced creativity

Reduced time for self-education

Besides these technical side effects of excessive overtime, it also affects the relations

between the team members. Since excessive overtime results in increased stress and

fatigue with disturbed sleep quality, people become more irritable, impatient and easi-

ly frustrated [13]. These moods heavily damage the cohesion of the team and causes

conflicts in the team.

In the study of Akula and Cusick [14] on the effects of overtime and stress on soft-

ware quality, they identified six consequences of fatigue-effected decrease on quality:

Poor quality can redirect teams away from their core project activities.

Quality assurance and development teams may mistrust each other.

Discussions of defects can add to the task pressure and personal stress.

Worst case outcome can result in critical delay of the project.

Blaming others over the defect undermines team spirit.

Teams may spend more time repairing defects than on developing business critical

features.

According to the results of the questionnaire, a very high amount of participants think

that overtime is one of the most important factors that heavily decreases the produc-

tivity of a development team. The following figure shows the assessment of the par-

ticipants on the effect of overtime on team’s productivity.

4 Conclusion

We have seen that most researches agree on the effects of impediments preventing

formation of jelled teams. The results of the accompanying questionnaire are also

mostly aligned with the mentioned researches. What a manager can do to successfully

complete a software project is to remove the impediments and hope the team to jell.

References

1. Standish Group: CHAOS Report (2010)

2. Weinberg, Gerald M., Edward L. Schulman: Goals and Performance in Computer Pro-

gramming (1974)

3. BOEHM, B.: Software Engineering Economics, Prentice-Hall, Englewood Cliffs, New Jer-

sey (1981)

4. Boehm, B.W., Gray, T.E., Seewaldt, T.: Prototyping Vs. Specification: A Multi-Project Ex-

periment, IEEE - Seventh Conference On Software Engineering, Computer Society Press,

Washington (1984)

5. LAKHANPAL, B.: Understanding the Factors Influencing the Performance of Software De-

velopment Groups: An Exploratory Croup-Level Analysis, Information and Software Tech-

nology (1993)

6. Demarco, T., Lister, T.: Peopleware, Productive Projects and Teams (1999)

7. Ambler, W., Scott: Agile/Lean Documentation: Strategies for Agile Software Development

http://www.agilemodelling.com

8. Tetard, Frank: On Fragmentation of Working Time: A Study of Causes and Effects of Work

Interruptions (1999)

9. McConnel, Steve: Rapid Development: Taming Wild Software Schedules (1996)

10. Martin M. G.: Building Team Cohesion PMP, M2 Consulting Group, Ltd. (2004)

11. Walz, D.B., Elam, J.J. and Curtis, B.: Inside a software design team: knowledge acquisition,

sharing, and integration (1993)

12. Andres, P., Hayward: A comparison of face-to-face and virtual software development teams

(2002)

13. Pilcher, J. J., Huffcutt, A. I.: Effects of sleep deprivation on performance: A meta-analysis.

(1996)

14. Akula, B., Cusick, J.: Impact of overtime and stress on software quality (2008)