teamwork in software engineering. main problems in teamwork suggest problems of (general) teamwork....

22
Teamwork in Software Engineering

Upload: leon-matthews

Post on 01-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Teamwork in Software Engineering

Main problems in teamwork

Suggest problems of (general) teamwork.

Suggest problems of software teams.

Suggest solutions to the problems you

mentioned.

Dilemmas in Teamwork

One of the team members does not work

on his/her task.

What are you doing?

Suggest additional dilemmas from your

own experience.

Bonuses

Personal Bonus (% of the

total bonus)

Team Bonus %)of the total

bonus(

How this option will influence the collaboration of the team

members ?

a0100

b2080

c5050

d8020

e1000

X% personal, Y% team means that X% of the total bonus is divided on a personal basis and Y% is divided equally between the team members.

1.

Bonuses Individual answers – Group I

Personal Bonus (% of the total

bonus)

Team Bonus

%)of the total bonus(

Phase 1

)Neutral(

Phase 2 (Individual-

based incentive)

Phase 3 (Teamwork-

based incentive)

a0100218

b208015107

c5050622

d80201

e10004

Note: Other values (such as 30%) are not included in table.

Bonuses Individual answers – Group II

Personal Bonus (% of the total

bonus)

Team Bonus

%)of the total bonus(

Phase 1

)Neutral(

Phase 2 (Individual-

based incentive)

Phase 3 (Teamwork-

based incentive)

a01004

b2080773

c505032

d8020217

e1000

Bonuses Individual answers – Group II

Personal Bonus (% of

the total bonus)

Team Bonus

%)of the total bonus(

Phase 1

)Neutral(

Phase 2 (Individual-

based incentive)

Phase 3 (Teamwork-

based incentive)

0100

2080

5050

8020

1000

Cooperation in Software Development

What does it mean to cooperate in software projects?

What does it mean to compete in software projects?

What does one gain from cooperation?

When does one gain from competition?

Do people tend to cooperate/compete in software

projects? Why?

Cooperation in Software Development

Variations: What happens if one team members

competes and the others cooperate?

What happens if one team members

cooperates and the others compete?

TRUST is a key word!

Trust in Software Teamwork

B cooperatesB competes

A cooperates+5

-10

A competes+10

0

The Prisoner’s Dilemma: A’s perspective

The Prisoner’s Dilemma: The case of software development – A’s perspective, Bonus

B cooperatesB competes

A cooperates50%20%

A competes80%0%

B cooperatesB competes

A cooperates+5-10

A competes+10-20

The Prisoner’s Dilemma: The case of software development – A’s perspective, Bonus

The Prisoner’s Dilemma: The case of software engineering

Usually, team members are asked to cooperate.

Team members can’t verify that their cooperation

will reciprocate.

According to the Prisoner’s Dilemma: All team

members will compete.

In software development: Such behavior leads to

the worst results to all team members.

How cooperation and trust can be achieved?

Define a set of specific and clear activities

that all team members are committed to

apply.

Extreme programming (2000) has this

attribute.

This attribute may explain Extreme

Programming (2000) success.

Extreme Programming 12 practices

Note:nothing is new; gathering the practices together is XP uniqueness

Source: Beck, K. (2000). eXtreme Programming explained, Addison Wesley.

The Prisoner’s Dilemma: The case of eXtreme Programming

Team member’s commitment to work

according to XP ensures that: all work according to these practices all know that all the others also work according

to these practices the dilemma inherent at the prisoner’s dilemma

vanishes all be in the cooperation cell all rip the benefit from such a cooperation

The Prisoner’s Dilemma: The case of Extreme Programming – A and B’s perspective

B cooperates

A cooperates+5

The Prisoner’s Dilemma: Extreme Programming - Courage

Cooperation: e.g., alarm when a problem emerges,

admit when you need to learn something new.

Competition: find ways to hide such info.

All team members are committed to work according to

XP in general and this value in particular.

Team members do not face the dilemma of whether to

cooperate or not.

Team members cooperate (in the above sense) and

get the rip from the value of courage.

Kent Beck :

Kent Beck explains when XP is not appropriate:

"[i]t's more the social or business

environment. If your organization

punishes honest communications and you

start to communicate honestly, you'll be

destroyed." An interview with Kent Beck, June 17, 2003, Working smarter, not harder,

IBM website: http://www-106.ibm.com/developerworks/library/j-beck/

The Prisoner’s Dilemma

Prisoners' Dilemma Simulation

The Prisoners' Dilemma – Explanation

The Prisoner's Dilemma in several areas

Summary

Bonus allocation in software teams.

The prisoner dilemma and software

development.