+ All Categories
Home > Documents > MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the...

MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the...

Date post: 16-Jan-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
53
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
Transcript
Page 1: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 2: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

Structure of Lecture 18

• Organisational Learning

• Global Software Development

Page 3: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 4: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 5: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 6: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 7: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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?

Page 8: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 9: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

Levels of Learning

• Individual

• Group

• Organization

• (Society)

Source: Kurt Schneider, Univ. Hannover

Page 10: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 11: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

– …

Page 12: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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]

Page 13: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 14: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

PROFES

Page 15: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

Process Improvement Processes – QIP

QIP – Quality Improvement

Paradigm, Victor Basili,

University of Maryland

Page 16: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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!

Page 17: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 18: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 19: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 20: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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%

Page 21: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 22: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 23: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 24: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 25: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 26: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 27: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 28: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 29: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 30: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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?

Page 31: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 32: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

Structure of Lecture 18

• Organisational Learning

• Global Software Development

Page 33: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

Global Software Development

Main issue:

distance matters

Page 34: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 35: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 36: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 37: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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, …)

Page 38: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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, …)

Page 39: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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!

Page 40: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 41: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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.

Page 42: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 43: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 44: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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.

Page 45: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 46: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

How to overcome distance?

• Common ground

• Coupling of work

• Collaboration readiness

• Technology readiness

Page 47: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 48: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 49: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 50: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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)

Page 51: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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

Page 52: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

MTAT.03.243 / Lecture 18 / © Dietmar Pfahl 2013

Summary

• Distance matters

• Main challenges:

– Deal with lack of informal communication

– Handle cultural differences

Page 53: MTAT.03.243 Software Engineering Management · • Knowledge Management (KM): –KM addresses the following tasks: • Acquiring new knowledge • Transforming it from tacit into

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


Recommended