MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
MTAT.03.243
Software Engineering Management
Lecture 18:
Organisational Learning /
Global Software
Development Dietmar Pfahl
email: [email protected] Spring 2013
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Structure of Lecture 18
• Organisational Learning
• Global Software Development
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Terminology
• Data:
– Symbols organized according to syntactic rules (Syntax)
• Information:
– Data interpreted in a certain context (Semantics)
• Knowledge:
– Information, when related to the human mind in order to
solve problems; i.e., it is human expertise stored in a
person’s mind, gained through experience and interaction
with a person’s environment (Pragmatics)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Terminology
• Experience:
– The type of knowledge a person acquires by being involved;
observation + emotion (with respect to the observed event) + conclusion (derived from the observed event and emotion)
• Know-how:
– Procedural knowledge
• Skill:
– Talent and/or ability to perform a task (thus, knowledge is a prerequisite of skill)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Terminology
• Knowledge Worker:
– Knowledge workers contribute to company success mainly
by gathering, organizing, and applying knowledge
• Knowledge Management (KM):
– KM addresses the following tasks:
• Acquiring new knowledge
• Transforming it from tacit into explicit knowledge and back
again
• Systematically storing, disseminating, and evaluating it
• Treating it as an asset and its infrastructure as a resource
• Applying knowledge in new situations
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Tacit (silent) versus Explicit Knowledge
• Tacit knowledge refers to knowledge that people use every day to
perform tasks but which they find hard to express or do not even know
about.
• Explicit knowledge is documented knowledge. Others may access and
reuse this knowledge.
Tacit knowledge
Explicit
knowledge
Externalizing
Internalizing
(Nonaka Model)
http://www.cyberartsweb.org/cpace/ht/thonglipfei/nonaka_seci.html
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
A Layered Model of Knowledge Transfer
Source: Kurt Schneider, Univ. Hannover
Question: What are pre-requisites for knowledge reuse?
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Pre-Requisites for Knowledge Re-Use
• Experience must be “cleaned” and validated
• Knowledge must be
– evaluated and organised ( structured and linked)
– transformed into readily usable material ( conclusions)
• Several pieces of experience and knowledge could be
– combined
– reworked (“engineered”)
– re-phrased ( guidelines, recommendations)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Levels of Learning
• Individual
• Group
• Organization
• (Society)
Source: Kurt Schneider, Univ. Hannover
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Individual Learning
• Learning and competence development are important elements in process improvement
work
• Relations between teacher(s) and learner(s):
– One-to-one (mentor arrangements, traditional master(guru)-student-relation in Asia)
– One-to-many (traditional education)
– Many-to-many (professional forum (e.g., conference), experience data bases)
– Many-to-one (inexperienced project member)
• Learning may activate:
– Hearing, vision, smell, taste, movements
– Different parts of the brain (emotions, intellect, creativity)
• Learning may be:
– Active (participating), passive, “single loop”, “double loop”, …
• There exist many different learning theories
• There exist many different learning styles
I hear and I forget.
I see and I remember.
I do and I understand.
Chinese Proverb
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Organisational Learning
• Organisations may have different approaches to learning:
– Develop own knowledge versus infusing extern knowledge
– Planned (formalized, tested) versus ad-hoc competence
development
– Evolutionary versus revolutionary approach
– Systematic versus ad-hoc experience transfer
– Dedicated training courses versus "on-the-job-training"
– Focus on what is most important in the value chain vs. treating
everything as equally important
– Focus on the individual versus the group
– Focus on product versus process
– …
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
The Core of any Systematic Approach to SPI:
PDCA Cycle
• PLAN what you want to accomplish
over a period of time and what you
might do, or need to do, to get there
• DO what you planned to do
• CHECK the results of what you did
to see if the objective was achieved
• ACT on the information –
standardize or plan for further
improvement [Deming, Sheward]
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Learning in Single- and Double Loops
Action /
process
Consequence /
result
OK
NOT OK
Repair
Organization /
experience
Cause analysis
Organizational learning: A theory of action perspective
Chris Argyris & Donald A. Schön, 1978
• We get a better product when we correct a fault, but if we don’t eliminate the root-cause of the defect there is always a risk that the same fault is injected over and over again.
• By seeking the cause of the fault, we are able to
– Remove systematic faults once and for all
– Get the opportunity to improve the process which caused the fault(s)
– Nurture innovation
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
PROFES
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Process Improvement Processes – QIP
QIP – Quality Improvement
Paradigm, Victor Basili,
University of Maryland
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
QIP – Focus on Learning
QIP – Also included: project
level and local feedback
meetings.
Learning on three levels!
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Project Organization Experience Factory
1. Characterize 2. Set Goals 3. Choose Process
Execution plans
4. Execute Process
Project Support
5. Analyze
products, lessons learned, models
6. Package
Generalize
Tailor
Formalize
Disseminate
Experience Base
environment
characteristics
tailorable
knowledge,
consulting
project analysis, process
modification
data, lessons learned
The Experience Factory Organization
Project Learning Organizational Learning
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
The Experience Factory Organization – A
New Paradigm
Project Organization Experience Factory Problem Solving Experience Packaging
Decomposition of a problem Synthesis of different solutions into simpler ones and re-definition of the problem Instantiation Generalization, Formalization Design/Implementation process Analysis/Synthesis process Validation and Verification Experimentation Product Delivery within Experience / Recommendations Schedule and Cost Delivery to Project
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
SEL: An Example Experience Factory
Structure DEVELOPERS
(SOURCE OF EXPERIENCE) (PACKAGE EXPERIENCE FOR REUSE)
DATA BASE SUPPORT (MAINTAIN/QA EXPERIENCE INFORMATION)
Development measures for each
project
Refinements to development
process
STAFF 275-300 developers
TYPICAL PROJECT SIZE 100-300 KSLOC
ACTIVE PROJECTS 6-10 (at any given time)
PROJECT STAFF SIZE 5-25 people
TOTAL PROJECTS (1976-1994) 120
STAFF 10-15 Analysts
FUNCTION • Set goals/questions/metrics - Design studies/experiments
• Analysis/Research • Refine software process
- Produce reports/findings
PRODUCTS (1976-1994) 300 reports/documents
SEL DATA BASE
FORMS LIBRARY
REPORTS LIBRARY
160 MB
220,000
• SEL reports • Project documents • Reference papers
STAFF 3-6 support staff
FUNCTION • Process forms/data
• QA all data
• Record/archive data
• Maintain SEL data base
• Operate SEL library
NASA + CSC + U of MD NASA + CSC
NASA + CSC
PO PROCESS ANALYSTS
EF
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Using Baselines to Demonstrate Improvement: 1987 vs 1991
Error Rates (development)
0
2
4
6
8
10
Early Baseline 8 similar systems
Current 7 similar systems
Err
ors
/KL
OC
(d
ev
elo
pe
d)
Average ~4.5
Average ~1Low 1.7
Low 0.2
High 2.4
High 8.9
0
200
400
600
800
Cost (staff months)
Early Baseline 8 similar systems
supporting 4 projects
Current 7 similar systems
supporting 4 projects
Sta
ff m
on
ths
Average ~490
Average ~210
Low 357
High 755
Low 98
High 277
Reuse
Early Baseline 8 similar systems
Current 8 similar systems
% R
eu
se
FORTRAN (3 systems)
Ada (5 systems)
0
20
40
60
80
100
Average ~79%
61
90
IEE
E39
Average ~20%
Early Baseline = 1985-1989 Current = 1990-1993
Decreased 75% Reduced 55%
Increased 300%
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Continuous Improvement in the SEL Decreased Development Defect rates by 75% (87 - 91) 37% (91 - 95) Reduced Cost by 55% (87 - 91) 42% (91 - 95) Improved Reuse by 300% (87 - 91) 8% (91 - 95) Increased Functionality five-fold (76 - 92) CSC officially assessed as CMM level 5 and ISO certified (1998), starting with SEL organizational elements and activities Fraunhofer Center for Experimental Software Engineering - 1998 CeBASE Center for Empirically-based Software Engineering - 2000 BUT: Experience Factory dissolved within NASA after 2000!
Using Baselines to Show Improvement: 1987 vs 1991 vs 1995
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
How to find similar projects in the EB?
Case-Based Reasoning (CBR):
– Involves:
1. Matching the new case (= problem, project)
against cases (= problems, projects)
encountered in the past, and
2. Adapting the solutions (= characteristics) of
the past cases (= problems, projects) to the
current context.
– It can be represented as a cyclical process that
is divided into the four following sub-processes
as depicted in the figure on the left:
• retrieve the most similar past case(s) from the
case base
• reuse retrieved case(s) to solve the current
case with an adaptation rule
• revise the proposed solution – if necessary
• retain the solution for future problem solving
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Example: Estimation by Analogy
Case-Based Reasoning (CBR):
– Involves:
1. Matching the new case (= problem, project)
against cases (= problems, projects)
encountered in the past, and
2. Adapting the solutions (= characteristics) of
the past cases (= problems, projects) to the
current context.
– It can be represented as a cyclical process that
is divided into the four following sub-processes
as depicted in the figure on the left:
• retrieve the most similar past case(s) from the
case base
• reuse retrieved case(s) to solve the current
case with an adaptation rule
• revise the proposed solution – if necessary
• retain the solution for future problem solving
Similarity Function
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Example: Estimation by Analogy
Case-Based Reasoning (CBR):
– Involves:
1. Matching the new case (= problem, project)
against cases (= problems, projects)
encountered in the past, and
2. Adapting the solutions (= characteristics) of
the past cases (= problems, projects) to the
current context.
– It can be represented as a cyclical process that
is divided into the four following sub-processes
as depicted in the figure on the left:
• retrieve the most similar past case(s) from the
case base
• reuse retrieved case(s) to solve the current
case with an adaptation rule
• revise the proposed solution – if necessary
• retain the solution for future problem solving Adaptation Rule
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Effort Estimation Model – Example (1)
Case-Based Reasoning (CBR) Example:
Attributes New Case Retrieved Case 1 Retrieved Case 2 Project Category Real Time Real Time Simulator
Language C++ C++ C++
Team Size 10 10 9
System Size 150 200 175
Effort ? 1000 950
Similarity 90% ~50%
Adaptation rule 1:
7501000200
150Effort_edictedPr
Possibilities to predict effort: • adapted effort based on 1 project • average effort of 2 projects • weighted average effort of 2 projects
Effort=f (System_Size)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Effort Estimation Model – Example (2)
Case-Based Reasoning (CBR) Example:
Attributes New Case Retrieved Case 1 Retrieved Case 2 Project Category Real Time Real Time Simulator
Language C++ C++ C++
Team Size 10 10 9
System Size 150 200 175
Effort ? 1000 950
Similarity 90% ~50%
Adaptation rule 2: Possibilities to predict effort: • adapted effort based on 1 project • average effort of 2 projects • weighted average effort of 2 projects
782950175
1501000
200
150
2
1_
EffortedictedPr
Effort=f (System_Size)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Effort Estimation Model – Example (3)
Case-Based Reasoning (CBR) Example:
Attributes New Case Retrieved Case 1 Retrieved Case 2 Project Category Real Time Real Time Simulator
Language C++ C++ C++
Team Size 10 10 9
System Size 150 200 175
Effort ? 1000 950
Similarity 90% ~50%
Adaptation rule 3: Possibilities to predict effort: • adapted effort based on 1 project • average effort of 2 projects • weighted average effort of 2 projects
77314
5*950
175
150
14
9*1000
200
150_Pr Effortedicted
Effort=f (System_Size)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Effort Estimation Model – Similarity (1)
Case-Based Reasoning (CBR) Example:
Distance Measure (Euclidean Distance) Similarity = 1 – Distance
n
)P,P(
)P,P(cetandis
n
k
jkik
ji
1
jkik
jkik
kk
jkik
jkik
PPANDlcategoricakif,
PPANDlcategoricakif,
continuouskifminmax
PP
)P,P(
1
0
2
P.,k Pnew,k P1,k (Pnew,k, P1,k) Project Category Real Time Real Time 0
Language C++ C++ 0
Team Size 10 10 0
System Size 150 200 0.04=(50/250)2
Assume that smallest system in DB has 100 KLOC and largest system has 350 KLOC max – min = 250 KLOC
similarity(Pnew, P1) = 1 – distance(Pnew, P1) = 1 – sqrt(0.04/4) = 0.1
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Effort Estimation Model – Similarity (2)
Case-Based Reasoning (CBR) Example:
Distance Measure (Euclidean Distance) Similarity = 1 – Distance
n
)P,P(
)P,P(cetandis
n
k
jkik
ji
1
jkik
jkik
kk
jkik
jkik
PPANDlcategoricakif,
PPANDlcategoricakif,
continuouskifminmax
PP
)P,P(
1
0
2
P.k Pnew,k P2,k (Pnew,k,P2,k) Project Category Real Time Simulator 1
Language C++ C++ 0
Team Size 10 9 0.01=(1/10)2
System Size 150 200 0.01=(25/250)2
Assume that smallest system in DB has 100 KLOC and largest system has 350 KLOC max – min = 250 KLOC
similarity(Pnew, P2) = 1 – sqrt(1.02/4) ≈ 0.5
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
EF Discussion
• What are potential obstacles for
a functioning EF?
• What could be done to overcome
the obstacles?
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Research done by SINTEF/NTNU
• Focus: Knowledge Management in mid-sized companies
• 3 KM tools investigated in case studies:
– Electronic Project Guide: Description of common processes
and work roles in project work, with templates, checklists
and examples.
– Well of Experience: A knowledge repository ("collective
yellow stickers"). Contains everything from bugfixes to
telephone numbers.
– Skills Manager: An overview of the skill levels of all
employees on about 250 different skills that are considered
important for the company.
Torgeir Dingsøyr, Emil Røyrvik: An Empirical Study of an Informal Knowledge Repository in a Medium-Sized Software Consulting Company, ICSE 2003
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Structure of Lecture 18
• Organisational Learning
• Global Software Development
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Global Software Development
Main issue:
distance matters
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Co-located versus global/multi-site
• Co-located: housed within walking distance
– People re-invent the wheel if they have to walk more than
30 meters, or climb the stairs
• Main question: How to bridge distance in global projects?
– Communication
– Coordination
– Control
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Arguments for global software development
• Cost savings (salary)
• Faster delivery (“follow the sun”)
• Larger pool of developers
• Better modularization
BUT: Little empirical evidence that these advantages materialize
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Challenges
communication
coordination
control
temporal geographical sociocultural
distance
X
X
X
X
X
X
X
(X)
(X)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Temporal distance challenges
• Communication:
– Being effective (asynchronous is less effective,
misunderstandings, …)
• Coordination:
– Cost is larger (travels, infrastructure cost, …)
• Control:
– Delays (wait for next teleconference meeting, send email
and wait, search for contact, …)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Geographical distance challenges
• Communication:
– Effective information exchange (less informal exchange, different
languages, different domain knowledge, …)
– Build a team (cohesiveness, “them and us” feelings, trust, …)
• Coordination:
– Task awareness (shared mental model, …)
– Sense of urgency (perception, …)
• Control:
– Accurate status information (tracking, blaming, …)
– Uniform process (but different tools and techniques, …)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Geographical distance: awareness
• Activity awareness:
– What are the others doing?
• Availability awareness:
– When can I reach them?
• Process awareness:
– What processes are they using?
• Perspective awareness:
– What are the others thinking, and why?
• Improving awareness and familiarity with other members helps!
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Sociocultural distance challenges
• Communication:
– Cultural misunderstandings (corporate, technical, national,
…)
• Coordination:
– Effectiveness (vocabulary, communication style, …)
• Control:
– Different control/feedback styles (more or less hierarchical;
more or less formal)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
National culture
• American managers have a hamburger style of management.
– They start with sweet talk – the top of the bun.
– Then the criticism is slipped in – the meat.
– Finally, some encouraging words – the bottom bun.
• With the Germans, all one gets is the meat.
• With the Japanese, all one gets is the bun; one has to smell
the meat.
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Hofstede’s dimensions
• Power distance
– status is important versus individuals are equal
• Collectivism versus individualism
– Individuals are part of a group, or everyone looks after himself
• Uncertainty avoidance
– Strict rules that mitigate uncertainty versus flexibility/pragmatism
• Femininity versus masculinity
– Challenges, recognition, materialism (masculine) versus good relationships, cooperation, security , quality of life (feminine)
• Long-term versus short-term orientation
– Persistence in pursuing goals, order, capacity for adaptation (LT) versus protecting one’s face, tradition, fulfilling social obligations, rewarding past and present behavior (ST)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Power distance
• In cultures that endorse
high power distance, less
powerful accept power
relations that are more
autocratic and paternalistic.
– Subordinates acknowledge
the power of others simply
based on where they are
situated in certain formal,
hierarchical positions
• Cultures that endorse low
power distance expect and
accept power relations that
are more consultative or
democratic.
– People relate to one another
more as equals regardless
of formal positions.
Power Distance Index (PDI) for countries
http://www.targetmap.com/viewer.aspx?reportId=6648
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Collectivism versus individualism
The degree to which individuals are integrated into groups.
• In individualistic societies,
the stress is put on personal
achievements and individual
rights.
– People are expected to stand
up for themselves and their
immediate family, and to
choose their own affiliations.
• In collectivist societies,
individuals act predominantly
as members of a lifelong and
cohesive group or
organization.
– People have large extended
families, which are used as a
protection in exchange for
unquestioning loyalty.
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Uncertainty avoidance
• Low uncertainty avoidance (UAI):
– can better cope with uncertainty: they can deal with agile
approaches, ill-defined requirements, etc.
• High uncertainty avoidance:
– favor waterfall, contracts, etc.
• Latin America, Japan: high UAI
• North America, India: low UAI
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
How to overcome distance?
• Common ground
• Coupling of work
• Collaboration readiness
• Technology readiness
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Common ground
• How much common knowledge members have, and are aware
of
• Common ground has to be established:
– Traveling, especially at start of project
– Socialization (kick-off meetings)
• Intense interaction is more important for success than CMM
level
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Coupling of work
• Tasks that require much collaboration:
– at same site
• Little interaction required:
– different sites
• Example: testing or implementing relatively independent
subsystems
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Collaboration readiness
• Transition to global development organization:
– Requires changing work habits
– People must embrace difference as an opportunity
– Learning new tools
– Needs incentives for individuals to cooperate
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Technology readiness
• Project management tools (workflow management)
• Web-enabled versions of tools
• Remote control of builds and tests
• Web-based project repositories
• Real-time collaboration tools (simple media for simple
messages, rich media for complex ones)
• Knowledge management technology (codification AND
personalization)
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Organizing work in global software
development
• Reduce the need for informal communication
– Usually through organizational means, e.g.:
• Put user interface people together
• Use gross structure (architecture) to divide work
– Conway’s Law: “Organizations which design systems ...
are constrained to produce designs which are copies of
the communication structures of these organizations.”
[1968]
• Split according to life cycle phases
• Provide technologies that ease informal communication
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Summary
• Distance matters
• Main challenges:
– Deal with lack of informal communication
– Handle cultural differences
MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013
Next Lecture
• Topic:
– Course wrap-up, review and exam preparation
• For you to do:
– Start preparing for exam
– Finish Homework 4 – Part B
• Submission deadline: Wednesday, May 15, at
17:00 sharp, via course wiki