Teamwork in Software Engineering (CH3)


Slide 1

Teamwork in Software Engineering

 Jim Tomayko     Orit Hazzan 

Slide 2

Main Problems in Teamwork

  • Suggest general problems of teamwork.

  • Suggest problems of software teams .

  • Suggest solutions to the problems you mentioned.

Slide 3

What Does It Mean to Be a Team Member?

  • Different from working alone

    Instead of being efficient as much as possible, the target is that the team would be efficient as much as possible.

    A gelled team is capable of performing tasks that can not be carried out by the individual(s)

  • Shared goals

Slide 4

The Mythical Man-Month (Brooks)

One of the main problems of software development is that schedule is based on Person Months.

Correct for other professions where

  • Where a task can be shared among many people

  • No communication is needed

  • No dependency among people/tasks

Incorrect for software development

  • In software development people and months are not interchangeable

Slide 5

The Mythical Man-Month

Brook s law:

Adding manpower to a late
software project makes it later.

Slide 6

Communication

Inside and outside the team

  • Feedback

  • Visibility

  • Listening

  • Negotiating

Slide 7

Types of Software Teams

Source: Armour, P. G. (2001). Matching process to types of teams, CACM 44(7), pp. 21 “23.

Four main types of software teams:

  • Technical (its job is to do something)

  • Problem-solving (its job is to fix something)

  • Creative (its job is to build something)

  • Learning (its job is to learn something)

Slide 8

Types of Software Teams

Usually software teams are more than one type:

Example: a team is a

  • Learning team when data about the customer is collected;

  • Creative team when the system is designed;

  • Technical team when they code;

  • And a Problem Solving team during debugging sessions.

Slide 9

Structures of Software Teams

  • Structure of software teams depends on the type of project and people.

  • Sometimes the structure of the project is reflected into the structure of the team

  • 3 typical structures:

    • Democratic Team

    • Chief Programmer Team

    • Hierarchical Team

In each team: 3 “8 people; enables communication

[Lecturers can elaborate on each team structure according to students background]

Slide 10

Additional Topics Related to Team Work

Team members heterogeneity:

  • Personal variables : gender, age

  • Skills

  • Previous experience

Team evaluation

Decision making processes

Dilemmas in teamwork (in the continuation)

Slide 11

Dilemmas in Teamwork ”Discussions

One of the team members does not work on his/her task.

  • What are you doing?

Additional dilemmas from your experience

Slide 12

Relationship Between Reward and Cooperation

Optimum ways for sharing bonuses:

  • Shared ”as a team member

  • Individually ”depending on personal contribution

[Lecturers may proceed with the reward allocation activity descried in Chapter 3]




Human Aspects of Software Engineering
Human Aspects of Software Engineering (Charles River Media Computer Engineering)
ISBN: 1584503130
EAN: 2147483647
Year: 2004
Pages: 242

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net