cooperation by alicejenny

VIEWS: 2 PAGES: 22

									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

1.                                              How this option will influence the
           Personal         Team Bonus
                                                   collaboration of the team
         Bonus (% of the      (% of the total
                                                          members?
           total bonus)          bonus)

     a          0                 100
     b         20                  80
     c         50                  50
     d         80                  20
     e        100                   0
     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.
      Bonuses
      Individual answers – Group I

    Personal         Team            Phase 1      Phase 2         Phase 3
                                     (Neutral)   (Individual-   (Teamwork-
    Bonus (%         Bonus
                                                    based          based
    of the total   (% of the total
      bonus)                                      incentive)     incentive)
                      bonus)

a        0             100              2             1             8
b       20              80             15            10             7
c       50              50              6             2             2
d       80              20                                          1
e      100               0                            4

Note: Other values (such as 30%) are not included in table.
       Bonuses
       Individual answers – Group II

    Personal         Team            Phase 1      Phase 2         Phase 3
                                     (Neutral)   (Individual-   (Teamwork-
    Bonus (%         Bonus
                                                    based          based
    of the total   (% of the total
      bonus)                                      incentive)     incentive)
                      bonus)

a        0             100                            4
b       20              80              7             7             3
c       50              50              3                           2
d       80              20              2             1             7
e      100               0
      Bonuses
      Individual answers – Group II

 Personal       Team            Phase 1      Phase 2         Phase 3
                                (Neutral)   (Individual-   (Teamwork-
Bonus (% of     Bonus
                                               based          based
  the total   (% of the total
   bonus)                                    incentive)     incentive)
                 bonus)

     0            100
    20             80
    50             50
    80             20
   100              0
    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
   The Prisoner’s Dilemma: A’s perspective


               B cooperates   B competes


A cooperates       +5            -10



A competes         +10            0
  The Prisoner’s Dilemma: The case of software
  development – A’s perspective, Bonus




                B cooperates B competes


A cooperates          50%               20%


A competes            80%                0%
   The Prisoner’s Dilemma: The case of software
   development – A’s perspective, Bonus



                 B cooperates        B competes



A cooperates           +5                 -10



A competes             +10               -20
     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.

								
To top