Tactics for Global Software Development: When to Do What? James - - PowerPoint PPT Presentation

tactics for global software development when to do what
SMART_READER_LITE
LIVE PREVIEW

Tactics for Global Software Development: When to Do What? James - - PowerPoint PPT Presentation

Tactics for Global Software Development: When to Do What? James Herbsleb Carnegie Mellon University 1 Multi-site Delay Modification Request (MR) interval Work Last Modification - First Modification Days All changes over 2 year period 30


slide-1
SLIDE 1

1

James Herbsleb Carnegie Mellon University

Tactics for Global Software Development: When to Do What?

slide-2
SLIDE 2

2

Multi-site Delay

10 20 30 multi site single site 12.7 4.9

Network Element A

18.1 6.9

Network Element B

Work Days

Last Modification - First Modification All changes over 2 year period

Modification Request (MR) interval

slide-3
SLIDE 3

3

Working Across Boundaries . . .

  • Issue resolution paralysis

− even small issues can take days

  • Very difficult to stay “in the loop”

− constantly surprised, “swimming upstream”

  • Misalignment

− undiscovered, conflicting assumptions

  • Nonexistent or impaired social networks

− loss of critical problem-solving mechanism

  • Ineffective collaborative sessions

− “What was decided?”

  • Don’t know what you don’t know
slide-4
SLIDE 4

4

Coordination is the Key

  • Managing dependencies between tasks*

*Malone, T.W. and Crowston, K., The interdisciplinary theory of coordination. ACM Computing Surveys, 26, 1 (1994), p. 87-119.

slide-5
SLIDE 5

5

Conway’s Law

  • “Any organization that designs a

system will inevitably produce a design whose structure is a copy of the

  • rganization's communication

structure.”

− M.E. Conway, “How Do Committees Invent?” Datamation, Vol.

14, No. 4, Apr. 1968, pp. 28–31.

  • Implication: Modularity works as a

coordination strategy

  • Problem: Modularity has major limitations
slide-6
SLIDE 6

6

Conway’s Law

Components Software Teams Organization

Isomorphism

slide-7
SLIDE 7

7

Conway’s Law

Components Software Teams Organization

Homomorphism

slide-8
SLIDE 8

8

What about the Connectors?

Components Software Teams Organization

slide-9
SLIDE 9

9

Complexity and Uncertainty

Components Software Teams Organization

?

What kind of coordination is required? Complexity Uncertainty

slide-10
SLIDE 10

10

Coordination Requirements: Complexity

  • Examples

− How “big” is an API? − How complicated are API usage policies? − Features with implementations spanning

components

− Challenging non-functional requirements

  • Performance
  • Security
  • Availability
  • Etc.
slide-11
SLIDE 11

11

Coordination Requirements: Uncertainty

  • Examples

− Allocation of functionality to components − Modification and refinement of component

interfaces

− Volatile requirements − Dependencies on other systems that are

changing

  • Hardware
  • Firmware
  • Middleware
  • Etc.
slide-12
SLIDE 12

12

Congruence

Components Software Teams Organization

?

slide-13
SLIDE 13

13

Congruence

Components Software Teams Organization

?

Coordination Capbility Coordination Requirements

What determines coordination capability?

slide-14
SLIDE 14

14

Coordination Mechanisms

  • Preparation, e.g.,

− Plans − Specifications − Defined processes

  • Shared representation, e.g.,

− Metrics dashboard − Posting test results − “Living” documents

  • Communication, e.g.,

− Meetings − “Informal” communication

slide-15
SLIDE 15

15

Gap

Across sites

Distance Breaks Down Communication

Communication

Lack of unplanned contact Knowing who to contact about what Difficulty of initiating contact Ability to communicate effectively Lack of trust, or willingness to communicate

  • penly

Within site

slide-16
SLIDE 16

16

Gap

Across sites

Distance Breaks Down Preparation and Shared Representations

Meeting of Minds

Variation in practices Variation in understanding Interpretation depends on context Lack of shared notations Little ability to anticipate actions

Within site

slide-17
SLIDE 17

17

Many Factors Affect Coordination Capability

  • Organizational factors, e.g.,

− Geographic distribution − Divergent processes − Different management practices − Communication infrastructure

  • People factors, e.g.,

− Experience working together − Domain and technology expertise − Language skills

slide-18
SLIDE 18

18

Achieving Congruence

  • Matching coordination requirements and

coordination capability

slide-19
SLIDE 19

19

Thinking About Tactics

Co-locate if possible! Planning

Shared Representation

Communication

Shared Representation

(Cautious) Modularity

Complexity High Low Uncertainty High Low

slide-20
SLIDE 20

20

Changing the Game

Complexity High Low Uncertainty High Low

Reduce Complexity

slide-21
SLIDE 21

21

Changing the Game

Complexity High Low Uncertainty High Low

Reduce Uncertainty

slide-22
SLIDE 22

22

Beware of Architectural Change

  • Lessons from the history of

photolithographic alignment equipment*

*Henderson, R.M. & Clark, K.B. (1990). Architectural Innovation: The Reconfiguration of Existing Product Technologies and the Failure of Established Firms. Administrative Science Quarterly, 35 (1), pp. 9-30.

slide-23
SLIDE 23

23

Future Work

  • “Coordination view” of an architecture
  • Measuring congruence of architecture and
  • rganization
  • Architectural tactics for improving

congruence

slide-24
SLIDE 24

24

Conclusion

  • Architectural decisions create the

“coordination landscape”

  • Architectural structure and organizational

structure are strongly related

  • Congruence is necessary for project

success

  • Complexity and uncertainty present

different problems

  • Need research on measuring congruence,

devising tactics for improving it