SLIDE 1 Group work
- Benefits, Issues, Egoless programming,
Recommendations
SLIDE 2
Skill
n Working in groups can be difficult
GW–2
SLIDE 3 Skill – 2
n Working in groups can be difficult
n It is an essential skill
GW–3
SLIDE 4
Benefits of Group Work – 1
n Availability of reviewers
GW–4
SLIDE 5 Benefits of Group Work – 1b
n Availability of reviewers
n Produce more correct and robust systems
GW–5
SLIDE 6 Benefits of Group Work – 2
n
Availability of reviewers
n Produce more correct and robust systems
GW–6
SLIDE 7 Benefits of Group Work – 2b
n
Availability of reviewers
n Produce more correct and robust systems
n Can handle larger projects
GW–7
SLIDE 8 Benefits of Group Work – 3
n
Availability of reviewers
n Produce more correct and robust systems
Partition the work
n Can handle larger projects
n Apply specific areas of expertise
GW–8
SLIDE 9 Benefits of Group Work – 3b
n
Availability of reviewers
n Produce more correct and robust systems
Partition the work
n Can handle larger projects
n Apply specific areas of expertise
n One person does not have to do everything
GW–9
SLIDE 10
Issues to deal with – 1
n Scheduling and timetables
GW–10
SLIDE 11 Issues to deal with – 1b
n Scheduling and timetables
n When to work individually
GW–11
SLIDE 12 Issues to deal with – 1c
n Scheduling and timetables
n When to work individually n When to work in sub-groups
GW–12
SLIDE 13 Issues to deal with – 1d
n Scheduling and timetables
n When to work individually n When to work in sub-groups n When to work as a whole
GW–13
SLIDE 14
Issues to deal with – 2
n Communication
GW–14
SLIDE 15 Issues to deal with – 2b
n Communication
n How?
GW–15
SLIDE 16 Issues to deal with – 2c
n Communication
n How?
n By email n In person
GW–16
SLIDE 17 Issues to deal with – 2d
n Communication
n How?
n By email n In person
n When?
GW–17
SLIDE 18 Issues to deal with – 2e
n Communication
n How?
n By email n In person
n When?
n Daily n Weekly
GW–18
SLIDE 19
Issues to deal with – 3
n Integration of deliverable components
GW–19
SLIDE 20 Issues to deal with – 3b
n Integration of deliverable components
n What to integrate
GW–20
SLIDE 21 Issues to deal with – 3c
n Integration of deliverable components
n What to integrate n When to integrate
GW–21
SLIDE 22 Issues to deal with – 3d
n Integration of deliverable components
n What to integrate n When to integrate n Who is to integrate
GW–22
SLIDE 23
Issues to deal with – 4
n Responsibility to the group
GW–23
SLIDE 24 Issues to deal with – 4b
n Responsibility to the group
n Each person is responsible to the group
GW–24
SLIDE 25 Issues to deal with – 4c
n Responsibility to the group
n Each person is responsible to the group
n Egoless programming
GW–25
SLIDE 26
Egoless Programming
n Weinberg, 1971, Psychology of Computer Programming
GW–26
SLIDE 27 Egoless Programming – 2
n
Weinberg, 1971, Psychology of Computer Programming
n Everyone in the group is equally responsible for the success
GW–27
SLIDE 28 Egoless Programming – 3
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n Process of engineering software is separated from the
individuals
SLIDE 29 Egoless Programming – 4
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n
Process of engineering software is separated from the individuals
n Criticism, e.g. during review, is made of the project, not the
individual
GW–29
SLIDE 30 Egoless Programming – 5
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n
Process of engineering software is separated from the individuals
n
Criticism, e.g. during review, is made of the project, not the individual
n Democratic project structure
GW–30
SLIDE 31 Egoless Programming – 5a
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n
Process of engineering software is separated from the individuals
n
Criticism, e.g. during review, is made of the project, not the individual
n Democratic project structure
n All group members vote on engineering decisions
GW–31
SLIDE 32 Egoless Programming – 5b
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n
Process of engineering software is separated from the individuals
n
Criticism, e.g. during review, is made of the project, not the individual
n Democratic project structure
n All group members vote on engineering decisions n During
n Analysis
GW–32
SLIDE 33 Egoless Programming – 5c
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n
Process of engineering software is separated from the individuals
n
Criticism, e.g. during review, is made of the project, not the individual
n Democratic project structure
n All group members vote on engineering decisions n During
n Analysis n Design
GW–33
SLIDE 34 Egoless Programming – 5d
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n
Process of engineering software is separated from the individuals
n
Criticism, e.g. during review, is made of the project, not the individual
n Democratic project structure
n All group members vote on engineering decisions n During
n Analysis n Design n Implementation
GW–34
SLIDE 35 Egoless Programming – 6
n
Weinberg, 1971, Psychology of Computer Programming
n
Everyone in the group is equally responsible for the sucess of the project
n
Process of engineering software is separated from the individuals
n
Criticism, e.g. during review, is made of the project, not the individual
n
Democratic project structure
n All group members vote on engineering decisions
n During analysis, design and implementation
The success of the project is what matters
GW–35
SLIDE 36
Recommendation – 1
n Expect things to go wrong
GW–36
SLIDE 37 Recommendation – 1b
n Expect things to go wrong
n They will
GW–37
SLIDE 38 Recommendation – 1c
n Expect things to go wrong
n They will
n Murphy's Law
SLIDE 39
Recommendation – 2
n Decide at the outset who will be responsible for what.
GW–39
SLIDE 40 Recommendation – 2b
n Decide at the outset who will be responsible for what.
n Treat it as a contract
GW–40
SLIDE 41 Recommendation – 2c
n Decide at the outset who will be responsible for what.
n Treat it as a contract. n Don't break the contract
GW–41
SLIDE 42 Recommendation – 2d
n Decide at the outset who will be responsible for what.
n Treat it as a contract. n Don't break the contract
n Except under catastrophic circumstances
GW–42
SLIDE 43
Recommendation – 3
n Designate an integrator
GW–43
SLIDE 44 Recommendation – 3b
n Designate an integrator
n Someone who is responsible for putting the pieces
together
GW–44
SLIDE 45
Recommendation – 4
n Schedule frequent meetings
GW–45
SLIDE 46 Recommendation – 4
n Schedule frequent meetings
n Email is not sufficient
GW–46
SLIDE 47
Recommendation – 5
n Review each other's work
GW–47
SLIDE 48 Recommendation – 5b
n Review each other's work
n Regularly
GW–48
SLIDE 49 Recommendation – 5c
n Review each other's work
n Regularly n Frequently
GW–49
SLIDE 50
Recommendation – 6
n Don't take the criticism personally
GW–50
SLIDE 51 Recommendation – 6b
n Don't take the criticism personally
n Lose any possessive feelings
GW–51
SLIDE 52 Recommendation – 6c
n Don't take the criticism personally
n Lose any possessive feelings n For your own designs, programs, and documentation
GW–52
SLIDE 53 Recommendation – 6d
n Don't take the criticism personally
n Lose any possessive feelings n For your own designs, programs, and documentation
n Your specific products ultimately do not matter
GW–53
SLIDE 54 Recommendation – 6e
n Don't take the criticism personally
n Lose any possessive feelings n For your own designs, programs, and documentation
n Your specific products ultimately do not matter
The success of the project is what matters
GW–54
SLIDE 55
Recommendation – 7
n Things work better with coffee
GW–55