Date post: | 25-Dec-2015 |
Category: |
Documents |
Upload: | prudence-warren |
View: | 215 times |
Download: | 0 times |
Global Software Development 2013
Claus Brabrand((( [email protected] )))
Associate Professor, Ph.D.((( Software & Systems ))) IT University of Copenhagen
[ 2 ]Global Software Development Aug 27, 2013ITU
<< AGENDA >>◼ 1) Course Introduction:
◼ Course Setup◼ Structure and Schedule
◼ 2) Goals of the Course:◼ 'Describe' vs 'Explain' vs 'Reflect'◼ About Argumentation
◼ 3) Basic Group Theory:◼ Constitution◼ Conflicts and Conflict Resolution
[ 3 ]Global Software Development Aug 27, 2013ITU
Welcome to GSD 2013 !
◼ Claus Brabrand◼ Ph.D. from Aarhus University (2003)◼ Associate Professor at ITU (since 2007)
◼ Research:◼ Programming Languages◼ Syntax and Semantics◼ Program Transformation◼ Program Analysis◼ Software Product Lines◼ Educational Research
[ 4 ]Global Software Development Aug 27, 2013ITU
Université Louis PasteurStrasbourg, France (1995)
IBM Research CenterNew York, USA (2001)
INRIA Research CenterBordeaux, France (2003)
Federal Uni. of PernambucoRecife, PE, Brazil (2010)
Global
[ 5 ]Global Software Development Aug 27, 2013ITU
Supervisors◼ Team supervisors:
◼ Diako Mardanbegi, Ph.D student◼ Iago Abal, Ph.D. student◼ Jacob Michael Avlund, External lecturer◼ Ioannis Damastianos Panagis, External lecturer
◼ Will each supervise 4 teams:◼ 80 students = 5 students/team*
◼ *) tentatively !
/ 4 supervisors / 4 teams/supervisor
[ 6 ]Global Software Development Aug 27, 2013ITU
Participating Universities◼ dvd
[ 7 ]Global Software Development Aug 27, 2013ITU
Motivation for GSD◼ Globalization of the world
◼ “The World is Flat” (Thomas L. Friedman)
◼ "Make" where best and/or cheapest:◼ Yesterday: Things◼ Today: Processes (incl. Software)◼ Tomorrow: ?!?
◼ Note: Companies seek global competences !
[ 8 ]Global Software Development Aug 27, 2013ITU
History of Outsourcing
Outsourcing:◼ 1) Manufacturing (things)◼ 2) Electronic design◼ 3) Low-level service jobs◼ 4) Call centers◼ 5) Customer support◼ 6) Implementation◼ …◼ x) Tomorrow ?!?
[ 9 ]Global Software Development Aug 27, 2013ITU
Course Philosophy◼ IDEA: "Emulate industrial setting"
(with globally distributed collaboration)
◼ do: Global Software Development◼ in: Controlled environment◼ where: Money is not the issue◼ but where: LEARNING is the goal
◼ ETHZ has massive experience with this !
[ 10 ]Global Software Development Aug 27, 2013ITU
Global Collaboration
Global collaboration across:◼ Distance◼ Time-zones◼ Languages◼ Culture◼ Collaboration Norms◼ Educational Traditions◼ Educational Structure◼ ...
All of which has only very recently become possible via Information Technology ! :-)
[ 11 ]Global Software Development Aug 27, 2013ITU
The SetupDanish
Supervisor intra-teaminter-teamsupervision
GROUPItalianSupervisor
Communication:
TEAMTEAM
ArgentinianSupervisor
TEAM
supervisor-supervisorcommunication
[ 12 ]Global Software Development Aug 27, 2013ITU
Project◼ Project:
◼ T1) Logic◼ T2) GUI + Network◼ T3) Artificial Intelligence
…
G1) G2) G3)
Logic(rules)
A.I.(strategy)
GUI+
Netwk
Computer Game !
(e.g., Chinese Checkers)
[ 13 ]Global Software Development Aug 27, 2013ITU
...one more ThingDanish
Supervisor GROUPItalianSupervisor
TEAMTEAM
ArgentinianSupervisor
TEAM
BrazilianSupervisor
“CUSTOMER”TEAM
[ 14 ]Global Software Development Aug 27, 2013ITU
Plan◼ Australia and Brazil:
◼ Assignment 0: Setup◼ Assignment 1: Requirements document◼ Assignment 2: First Communication in the Group
and requirements consolidation◼ Assignment 3: Test plan
◼ All the other teams:◼ Assignment 1: Setup◼ Assignment 2: First Communication in the Group
and requirements consolidation◼ Assignment 3: Interface Specifications using Contracts◼ Assignment 4: Testing and API Consolidation◼ Assignment 5: Implementation
(Located on the Southern Hemisphere)(Role of "Customers")
[ 15 ]Global Software Development Aug 27, 2013ITU
Eiffel◼ Object-Oriented Programming Language
with static typing (like Java and C#)
◼ Supports Design by Contract !◼ Which is good for Global Collaboration
◼ Often used as analysis-and-design language◼ Promotes a particular way of thinking about
the design, architecture, and implementation of Object-Oriented software systems
◼ (We will look at Eiffel the next four weeks)
[ 16 ]Global Software Development Aug 27, 2013ITU
Schedule◼ Today: 'Intro'
◼Aug 27: Introduction
◼ Sep: 'Eiffel'◼Sep 03: The Eiffel Programming Language◼Sep 10: Dependable Systems Analysis◼Sep 17: Assertions and Specifications◼Sep 24: Validation and Verification◼Oct 01: Software Engineering with Eiffel
◼ Oct – Dec: 'Project'◼Oct 01 - Dec 20: Project Period
◼ Jan: 'Exam'◼Jan 13 - Jan 17: Handed in + Oral Exam
Joe Kiniry
Don't drop out
AFTER Oct 1 !
Disclaimer: Lots of issues are not finalized yet, because many of the other universities are still on summer vacation. In particular, the #students at the other universities is not fixed yet !!!
Questions ?
[ 18 ]Global Software Development Aug 27, 2013ITU
<< AGENDA >>◼ 1) Course Introduction:
◼ Course Setup◼ Structure and Schedule
◼ 2) Goals of the Course:◼ 'Describe' vs 'Explain' vs 'Reflect'◼ About Argumentation
◼ 3) Basic Group Theory:◼ Constitution◼ Conflicts and Conflict Resolution
[ 19 ]Global Software Development Aug 27, 2013ITU
Goals of the Course
Product (70%):◼ Design a system◼ Implement the designed system◼ Apply scientific methods and techniques◼ Evaluate the resulting system◼ Relate to existing systems, methods, and
techniques
Process (30%):◼ Develop and maintain a plan for the collaboration◼ Reflect continually on the collaboration
[ 20 ]Global Software Development Aug 27, 2013ITU
About the Exam◼ Exam:
◼ Using 7-step Danish grade scale◼ Assessment relative to intended learning outcomes◼ Combined grade from handed in and oral exam◼ 30 min individual oral examination◼ Based on handed in (incl. group report)
◼ Schedule:◼ January 13+14+15+16+17, 2014
[ 21 ]Global Software Development Aug 27, 2013ITU
Goals of the Course
Product (70%):◼ Design a system◼ Implement the designed system◼ Apply scientific methods and techniques◼ Evaluate the resulting system◼ Relate to existing systems, methods, and
techniques
Process (30%):◼ Develop and maintain a plan for the collaboration◼ Reflect continually on the collaboration
[ 22 ]Global Software Development Aug 27, 2013ITU
Cognitive Processes
Describe?Explain?Reflect?
vs
vs
[ 23 ]Global Software Development Aug 27, 2013ITU
The SOLO TaxonomyNote: the list is non-exhaustive
SOLO 2”uni-structural”
SOLO 3“multi-structural”
SOLO 4“relational”
SOLO 5“extended abstract”
reflect theorize generalize hypothesize predict judge transfer theory (to new domain) …
explain analyze compare contrast integrate relate apply theory (to its domain) …
describe combine structure classify enumerate list do algorithm apply method …
identify define count name recite paraphrase follow (simple) instructions …
Graphic Legend
problem / question / cue known related issue - given! hypothetical related issue - not given! student response
Q
R
QUANTITATIVE QUALITATIVE
R
R'Q
RQRQRQ
QUALITATIVE
[ 24 ]Global Software Development Aug 27, 2013ITU
The SOLO TaxonomySOLO 1: (Pre-Structural)◼ Here the subject does not have any kind of understanding but uses irrelevant information
and/or misses the point altogether. Scattered pieces of information may have been acquired, but they are unorganized, unstructured, and essentially void of actual content or relation to a topic or problem.
SOLO 2: (Uni-Structural)◼ The subject can deal with one single aspect and make obvious connections. The subject can
use terminology, recite (remember things), perform simple instructions/algorithms, paraphrase, identify, name, count, etc.
SOLO 3: (Multi-Structural)◼ At this level the subject can deal with several aspects but these are considered
independently; i.e., not in connection with one another. Metaphorically speaking; the subject sees the many trees, but not the forest. He or she is able to enumerate, describe, classify, combine, apply methods, structure, execute procedures, etc.
SOLO 4: (Relational)◼ At level four, the subject may understand relations between several aspects and how they
might fit together to form a coherent whole. The understanding forms a structure and now he or she sees how the many trees form a forest. A subject at this level may compare, relate, analyze, apply theory, explain in terms of cause and effect, etc.
SOLO 5: (Extended Abstract)◼ At this level, which is the highest, the subject may generalize structure beyond what was
given, may perceive structure from many different perspectives, and transfer ideas to new areas. He or she may generalize, hypothesize, criticize, theorize, etc.
[Biggs & Collis, 1982]
[ 25 ]Global Software Development Aug 27, 2013ITU
Describe◼ Describe (SOLO 3):
◼ Example:
RQ
"[...] Due to the low enrollment of students in China, our group was merged with two members from another group, increasing our numbers from 5 to 7. We made sure to establish common ground by discussing our ideas and expectations with the new members. We then continued with the project and our implementation. [...]"
de·scribe [dih-skrahyb]transitive verb (used with object), de·scribed, de·scrib·ing1. to tell or depict in written or spoken words; give an account of (e.g., "He described the accident and what happened next").2. to pronounce, as by a designating term, phrase, or the like; label: (e.g., "There are few people who may be described as geniuses").3. to indicate; be a sign of; denote: (e.g., "Conceit, in many cases, describes a state of serious emotional insecurity").4. to represent or delineate by a picture or figure.5. Geometry: to draw or trace the outline of (e.g., "to describe an arc").
[ 26 ]Global Software Development Aug 27, 2013ITU
Explain◼ Explain (SOLO 4):
◼ Example:
RQ
"[...] Since we agreed on a constitution (i.e., a set of rules for our group), wrote it down and signed it, before we started the project, we had commonly accepted rules for resolving conflicts when they arose. This made conflict resolution easier during the project period. [...]"
ex·plain [k-spln]transitive verb, ex·plained, ex·plain·ing, ex·plains1. To make plain or comprehensible.2. To define; expound: (e.g., "We explained our plan to the committee").3a. To offer reasons for or a cause of; justify: (e.g., "He explained why the error occurred").3b. To offer reasons for the actions, beliefs, or remarks of oneself (e.g., "He explained himself").
[ 27 ]Global Software Development Aug 27, 2013ITU
Reflect◼ Reflect (SOLO 5):
◼ Example:
R
R'Q
"[...] If we had done X instead of Y, presumably either A, B, or C would have happened. <Substantiate> [...]"
re·flect [r-flkt]intransitive verb, re·flect·ed, re·flect·ing, re·flects1. To be bent or thrown back: (e.g., Her voice reflected off the canyon walls).[...]4a. To think seriously. (e.g., He reflected on his options).4b. To express carefully considered thoughts: (e.g., In the essay, he reflects on his career).[...]9a. to think carefully, especially about possibilities and opinions 9b. use or exercise the mind or one's power of reason in order to make inferences, decisions, or arrive at a solution or judgments
[ https://www.vocabulary.com/dictionary/reflect ]
[ 28 ]Global Software Development Aug 27, 2013ITU
Quizzzzz...◼ Consider the text:
◼ Is this...?
R
R'Q
RQRQRQ
B) identify C) describe D) explain E) reflect
RQ
A) "bogus"
(SOLO 1) (SOLO 2) (SOLO 3) (SOLO 4)(SOLO 5)
"[...] Because only one person knew how to build the entire system, we could not test our software as often as we would have liked and thus had some periods of decreased productivity. [...]"
[ 29 ]Global Software Development Aug 27, 2013ITU
Quizzzzz...◼ Consider the text:
◼ Is this...?
R
R'Q
RQRQRQ
B) identify C) describe D) explain E) reflect
RQ
A) "bogus"
(SOLO 1) (SOLO 2) (SOLO 3) (SOLO 4)(SOLO 5)
"[...] Prior to our first meeting with the Brazilians, we created a project management workspace on Assembla. It provides the necessary tools for collaboration, such as a wiki, task management, and milestones. We invited the Brazilians to the site and created profiles with information about ourselves and our hobbies, interests, etc. [...]"
[ 30 ]Global Software Development Aug 27, 2013ITU
Quizzzzz...◼ Consider the text:
◼ Is this...?
R
R'Q
RQRQRQ
B) identify C) describe D) explain E) reflect
RQ
A) "bogus"
(SOLO 1) (SOLO 2) (SOLO 3) (SOLO 4)(SOLO 5)
"[...] The implementation of the interface was done only by the Italian team. Therefore, every time we needed to change the interface (which fortunately wasn't often), we needed to wait for the Italians to implement the change. [...]"
[ 31 ]Global Software Development Aug 27, 2013ITU
Quizzzzz...◼ Consider the text:
◼ Is this...?
R
R'Q
RQRQRQ
B) identify C) describe D) explain E) reflect
RQ
A) "bogus"
(SOLO 1) (SOLO 2) (SOLO 3) (SOLO 4)(SOLO 5)
"[...] The success of the project does not only depend on the success of one local team, but also on partner teams located in different countries being successful too. If one team had failed, we believe there would have been serious consequences for the other teams. We think that we would have either had an incomplete product, a lower-quality product, presumably even no final product to hand in at all. [...]"
describe < explain < reflectNotion of an Argument!
[ 33 ]Global Software Development Aug 27, 2013ITU
The Structure of an Argument◼ "Modus Ponens":
◼ Examples:◼ P = "you are in this class"◼ P ➝ Q = "if you are in this class, you will get a grade"
◼ ∴Q = therefore: "you will get a grade" [by Modus Ponens]
◼ P ➝ Q = "if the cake is made with sugar, then the cake is sweet"
◼ P = "the cake is made with sugar"◼ ∴Q = therefore: "the cake is sweet" [by Modus Ponens]
( P and 'P Q➝ ' ) implies Q
[ 34 ]Global Software Development Aug 27, 2013ITU
About Argumentation◼ "Monty Python and the Holy Grail" (1974)
◼ Scene V: "The Witch":
[ 35 ]Global Software Development Aug 27, 2013ITU
The Monty Python Reasoning:◼ Axioms:
◼ Rules:
female(girl). // by observation
floats(duck). // King Arthur
sameweight(girl, duck). // by experiment
female(X) burns(∧ X) => witch(X)
wooden(X) => burns(X)
floats(X) => wooden(X)
sameweight(X,Y) floats(∧ Y) => floats(X)
[ 36 ]Global Software Development Aug 27, 2013ITU
◼ Deduction:◼ whole parts:
◼ (aka. “top-down reasoning”)◼ abstract concrete◼ general specific
◼ Induction:◼ parts whole:
◼ (aka. “bottom-up reasoning”)◼ concrete abstract◼ specific general
Just two different ways of reasoning: Deduction Induction (just swap directions of arrows)
whole
A B C
whole
A B C
Deduction vs Induction
[ 37 ]Global Software Development Aug 27, 2013ITU
Deductive Reasoning: witch(girl)
◼ "Deduction":
witch(girl)
burns(girl)female(girl)
wooden(girl)
floats(girl)
floats(duck)sameweight(girl,duck)
%- by observation -----
%- by experiment ----- %- King Arthur -----
sameweight(X,Y) floats(∧ Y) => floats(X)
female(X) burns(∧ X) => witch(X)
wooden(X) => burns(X)
floats(X) => wooden(X)
(aka. ”top-down reasoning”)
[ 38 ]Global Software Development Aug 27, 2013ITU
Inductive Reasoning: witch(girl)
◼ "Induction":
witch(girl)
burns(girl)female(girl)
wooden(girl)
floats(girl)
floats(duck)sameweight(girl,duck)
%- by observation -----
%- by experiment ----- %- King Arthur -----
sameweight(X,Y) floats(∧ Y) => floats(X)
female(X) burns(∧ X) => witch(X)
wooden(X) => burns(X)
floats(X) => wooden(X)
(aka. ”bottom-up reasoning”)
[ 39 ]Global Software Development Aug 27, 2013ITU
Induction vs. Deduction
◼ Deduction◼ whole parts:
◼ Induction◼ parts whole:
Just two different ways of reasoning: Deduction Induction (just swap directions of arrows)
[ 40 ]Global Software Development Aug 27, 2013ITU
LEVIN:
"You in my office discussed, I think, a very interesting approach, which is the difference between starting with a conclusion and trying to prove it and instead starting with digging into all the facts and seeing where they take you.
Would you just describe for us that difference and why [...]?"
LEVIN: U.S. SENATOR CARL LEVIN (D-MI)HAYDEN: GENERAL MICHAEL B. HAYDEN (USAF), NOMINEE TO BE DIRECTOR OF CIA
CQ TranscriptionsThursday, May 18, 2006; 11:41 AM
"DEDUCTIVE vs. INDUCTIVE REASONING"
HAYDEN:
"Yes, sir. And I actually think I prefaced that with both of these are legitimate forms of reasoning,
that you've got deductive [...] in which you begin with, first, [general] principles and then you work your way down the specifics.
And then there's an inductive approach to the world in which you start out there with all the data and work yourself up to general principles.
They are both legitimate."
Nomination of CIA Director
[ 41 ]Global Software Development Aug 27, 2013ITU
Goals of the Course
Product (70%):◼ Design a system◼ Implement the designed system◼ Apply scientific methods and techniques◼ Evaluate the resulting system◼ Relate to existing systems, methods, and
techniques
Process (30%):◼ Develop and maintain a plan for the collaboration◼ Reflect continually on the collaboration
[ 42 ]Global Software Development Aug 27, 2013ITU
<< AGENDA >>◼ 1) Course Introduction:
◼ Course Setup◼ Structure and Schedule
◼ 2) Goals of the Course:◼ 'Describe' vs 'Explain' vs 'Reflect'◼ About Argumentation
◼ 3) Basic Group Theory:◼ Constitution◼ Conflicts and Conflict Resolution
[ 43 ]Global Software Development Aug 27, 2013ITU
Group Work
[ 44 ]Global Software Development Aug 27, 2013ITU
Group Theory ?◼ No 'Grand Unifying Theory' :-(
◼ Good advice (much of which is "common sense")
Group :=◼ A collection of people that:
◼ have one (or more) common goals;◼ have common conditions;◼ have common norms; and◼ feel like a Group
[ S
ou
rce
: "A
rbe
jdsg
rup
pe
ns
Psy
kolo
gi"
, B
. L
en
ée
r-A
xels
on
& I
. Th
yle
fors
, 1
98
3 ]
NB:recursivedefinition!
[ 45 ]Global Software Development Aug 27, 2013ITU
Common Goals
Common goals:◼ Intended Learning Outcomes:
NB:globalcontext !
[ 46 ]Global Software Development Aug 27, 2013ITU
Common Conditions
Common conditions:◼ same project◼ same responsibility◼ same requirements◼ same time frame◼ same resources◼ same examination◼ ...
However, lots of different prerequisites:◼ motivation, competences, knowledge, flexibility,
creativity, expectations, experience, mind set, preferences, personal goals, desire to learn, ...
NB:globalcontext !
[ 47 ]Global Software Development Aug 27, 2013ITU
NormPronunciation: /'norm/Function: noun
Etymology: Latin norma, literally, carpenter's square
◼ 1 : an authoritative standard : MODEL◼ 2 : a principle of right action binding upon the members of a group and serving to guide,
control, or regulate proper and acceptable behavior◼ 3 : AVERAGE: as
a : a set standard of development or achievement usually derived from the average or median achievement of a large group b : a pattern or trait taken to be typical in the behavior of a social group c : a widespread or usual practice, procedure, or custom : RULE <standing ovations became the norm>
◼ 4 a : a real-valued non-negative function defined on a vector space with value analogous to length and satisfying the conditions that the function is zero if and only if the vector is zero, the function of the product of a scalar and a vector is equal to the product of the absolute value of the scalar and the function of the vector, and the function of the sum of two vectors is less than or equal to the sum of the functions of the two vectors; specifically : the square root of the sum of the squares of the absolute values of the elements of a matrix or of the components of a vector b : the greatest distance between two successive points of a set of points that partition an interval into smaller intervals
As in a set of rules chosen by a group
which defines and governs acceptable
behavior and how the group works.
[ 48 ]Global Software Development Aug 27, 2013ITU
Norms (known vs unknown)◼ Norms are extremely important for groups!
◼ Some are "explicit" (aka, "known norm"):◼ explicitly (consciously) decided by the group
◼ Many are "implicit" (aka, "unknown norm"):◼ implicitly (subconsciously) adopted by the group
◼ Advise: implicit explicit norms◼ everyone is aware of the group norms◼ have a chance of resolving related problems
NB:globalcontext !
[ 49 ]Global Software Development Aug 27, 2013ITU
Constitution (set of norms)Constitution: A constitution is a system for
government, often codified as a written and signed document, that establishes the rules and principles of an autonomous [political] entity.
◼ Norms (set of rules); e.g.:◼ When do we work?◼ How do we work?◼ How do we make decisions?◼ What happens if someone flakes?◼ ...
NB:globalcontext !
[ 50 ]Global Software Development Aug 27, 2013ITU
Constitution Ahead of Time!◼ Avoid deferring norm decisions!
◼ Agree on norms while there are no conflicts!
Without a Constitution:
Conflict!
Rules?(for resolution)
=> Effectively two conflicts!
With a Constitution:
=> Conflict resolved via rules
Conflict!
Conflictresolved
via agreedupon rules
[ 51 ]Global Software Development Aug 27, 2013ITU
Constitution (1/4)◼ Organizational form?
◼ Everyone always work together?◼ Delegation of sub-task onto sub-groups?◼ Divide project into 'n ' pieces of size '1/n ' ?
...where n = |group|
◼ Roles?◼ E.g.: Minute taker? Meeting moderator? Tester?
◼ Role Rotation?◼ Fixed roles?◼ Roles, with rotation?◼ No roles?
[ 52 ]Global Software Development Aug 27, 2013ITU
Constitution (2/4)◼ Meetings?
◼ When? Where? How? Communication technology?
◼ Discussions?◼ Formal discussions (agenda, moderator, minute taker)◼ Informal (= "strongest" will decide)
◼ Decisions?◼ Rules? Voting? Main arguments? Veto rights?◼ Informal (= "strongest" will decide)
◼ Documentation?◼ Full (personal notes, group diary, meeting summaries,
plans, actions, todo lists, incremental work notes, ...)◼ No written record?
[ 53 ]Global Software Development Aug 27, 2013ITU
Constitution (3/4)◼ Personal Motivation?
◼ Why take this course? Expectations?
◼ Level of Ambition?◼ "Top grade" ...vs... "Just pass the f***ing course"◼ Thoroughness? When are things "good enough"?
◼ Time for Project?◼ When and how much is one able to work on project?◼ Work during weekends?◼ (e.g., 'Mondays 9 – 16' and 'Wednesdays 10 – 15')
◼ Personal Constraints?◼ Anything that can get in the way of the project?
[ 54 ]Global Software Development Aug 27, 2013ITU
Constitution (4/4)◼ Sanctions!
◼ What to do when rules and agreements are not met?◼ Redemption? Penalty? Consequences?
◼ Socialization:◼ Allocate time for this!◼ Ask what people did over the weekend, etc...◼ Have beer/coffee/cake with your team members◼ Play an online collaborative game with your group
NB:globalcontext !
[ 55 ]Global Software Development Aug 27, 2013ITU
Avoid Tautological Norms◼ Write operationalizable norms:
◼ Avoid tautological norms (where no one would ever never ever agree to the contrary):
"We will adapt the pace according to the workload and deadline."
"We will try to make the most of it."
"Good is better than bad."
"We will do nothing aside report writing the last week."
"Every meeting has an agenda, a minute taker and a moderator."
"Every API method should be tested - and never by its author."
[ 56 ]Global Software Development Aug 27, 2013ITU
Avoid Subjective Norms
◼ Make sure norms are phrased objectively not subjectively!
Time for work: We work every Tuesday 8 – 16 and every Friday 9 – 15 and take 15 minutes break every hour !
Time for work: We work quite a lot and with some breaks every now and then ?!?
vs.
When I am on vacation, I like
'to relax' !
Subjectivity…:
ZZZ
…is often perceived differently
[ 57 ]Global Software Development Aug 27, 2013ITU
◼ Avoid:◼ informal rules and norms!◼ absence of rules and norms!
◼ Otherwise, the strongest* will rule!
◼ strongest* =
Avoid Informal Rules
socially (in the beginning)
competence (later in project)
[ 58 ]Global Software Development Aug 27, 2013ITU
Manager vs No Manager◼ Group (with leader):
◼ E.g., project in company◼ Goal: Product ($ / € / kr)
◼ Group (w/o leader):◼ E.g., study group◼ Goal: (Learning) Proces
mgmtrespon-sibility
Respon-sibility:
Mgmt
[ 59 ]Global Software Development Aug 27, 2013ITU
Group Problems (1/8)Diagnosis: "Common Sloppiness"
◼ Symptoms:◼ Unstructured work◼ Indifference wrt. meetings and decisions◼ Lack of coordination◼ Messy work
◼ Causes:◼ Organizational or management problems◼ Lack of norms◼ Unengaging project◼ Lack of courage for uncomfortable discussions◼ Lack of discipline and/or initiative
[ 60 ]Global Software Development Aug 27, 2013ITU
Group Problems (2/8)Diagnosis: "Bad Atmosphere"
◼ Symptoms:◼ Unnecessarily harsh discussions◼ Lack of mutual support◼ Disagreement on superficial problems◼ Hurtful comments◼ Lots of conflicts
Causes: Unresolved personal conflicts
Recommendations: Socialization
[ 61 ]Global Software Development Aug 27, 2013ITU
Group Problems (3/8)Diagnosis: "Neglect"◼ Symptoms:
◼ Members are often late◼ Not showing up for meetings (without notification)◼ Members not doing assigned tasks
Causes: Lack of sanctions Members feeling unwelcome in the group Personal problems
Recommendations: Ask about causes (without judgement!) and
document answers in project diary
[ 62 ]Global Software Development Aug 27, 2013ITU
Group Problems (4/8)Diagnosis: "Indecisiveness"◼ Symptoms:
◼ Indecisiveness
Causes: Lack of willingness to do work (entailed by decisions)
Recommendations: Be explicit about the basis of the decision (in particular,
whether you have "enough info" for making a decision) Document the decision and arguments in project diary Be explicit about the decision process:
(For "professional decisions": use professional arguments) (For "social decisions": democratic votes are fine)
[ 63 ]Global Software Development Aug 27, 2013ITU
Group Problems (5/8)Diagnosis: "Outsiders"◼ Symptoms:
◼ Outsiders
Causes:a) Voluntary outsiders: Protest against chosen work form Protest against role assignedb) Involuntary outsiders: Members don't feel as part of the group or in minority
(or even discriminated against)
Recommendations: Requires external intervention for resolution
[ 64 ]Global Software Development Aug 27, 2013ITU
Group Problems (6/8)Diagnosis: "Cliques"◼ Symptoms:
◼ Group is dominated by a small sub-group (clique)◼ Several small sub-groups (fractions)
Causes: Members know each other well prior to group Project initiated by a select few (with ownership) and
where others joined later (possibly without ownership)
Recommendations: Socialization Good social group norms Last resort: Split the group in two (group fision)
[ 65 ]Global Software Development Aug 27, 2013ITU
Group Problems (7/8)Diagnosis: "Fixed Minor Roles"◼ Symptoms:
◼ Member only doing one fixed minor role (e.g., testing, debugging, writing report, making coffee)
◼ NB: this is a problem wrt learning (only learn parts)!
Causes: Member good at that one specific task Member wants to avoid certain tasks (e.g., to program) Narrow product focus, at expense of learning process
Recommendations: Role rotation◼ Increased focus on learning process
[ 66 ]Global Software Development Aug 27, 2013ITU
Group Problems (8/8)Diagnosis: "Power Struggle"◼ Symptoms:
◼ Group dominated by one or more members◼ Rivalry◼ Everything a certain group member says is criticized
Causes: Discussions about "LinkedList" vs "ArrayList" is really
about whether Member A or B makes the decisions
Recommendations: Make decision processes explicit Requires external intervention for resolution
[ 67 ]Global Software Development Aug 27, 2013ITU
Acknowledge Problems◼ Step #1: Admit you have a problem
(in your team or group):
[ 68 ]Global Software Development Aug 27, 2013ITU
Recommendations◼ Make a constitution when you start:
◼ As a written document that everyone signs
◼ Allocate time for "socialization"◼ Get to know each other
◼ Keep group diary to document project:◼ Write up meetings ◼ Meeting summaries◼ Plans◼ Decisions◼ Actions◼ ...
Next week:
The Eiffel programming language
Questions ?
NB:globalcontext !
BONUS SLIDES
[ 71 ]Global Software Development Aug 27, 2013ITU
CMMI◼ CMMI (Capability Maturity Model Integration):
[ 72 ]Global Software Development Aug 27, 2013ITU
The Danish Grade Scale
Unacceptable-3 For a performance which is unacceptable in all respects F
Inadequate00 For an insufficient performance which does not meet the course objectives Fx
Adequate02 For a sufficient performance which barely meets the course objectives E
Fair4For a fair performance which adequately meets the course objectives but also displays several major weaknesses D
Good7 For a good performance which meets the course objectives but also displays some weaknesses C
Very good10 For a very good performance which meets the course objectives, with only minor weaknesses B
Excellent 12 For an excellent performance which completely meets the course objectives, with no or only a few insignificant weaknesses A
Grade := Degree of fulfillment
of course objectives!