1
Tactics for Global Software Development: When to Do What? James - - PowerPoint PPT Presentation
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
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
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
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.
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
6
Conway’s Law
Components Software Teams Organization
Isomorphism
7
Conway’s Law
Components Software Teams Organization
Homomorphism
8
What about the Connectors?
Components Software Teams Organization
9
Complexity and Uncertainty
Components Software Teams Organization
?
What kind of coordination is required? Complexity Uncertainty
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.
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.
12
Congruence
Components Software Teams Organization
?
13
Congruence
Components Software Teams Organization
?
Coordination Capbility Coordination Requirements
What determines coordination capability?
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
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
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
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
18
Achieving Congruence
- Matching coordination requirements and
coordination capability
19
Thinking About Tactics
Co-locate if possible! Planning
Shared Representation
Communication
Shared Representation
(Cautious) Modularity
Complexity High Low Uncertainty High Low
20
Changing the Game
Complexity High Low Uncertainty High Low
Reduce Complexity
21
Changing the Game
Complexity High Low Uncertainty High Low
Reduce Uncertainty
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.
23
Future Work
- “Coordination view” of an architecture
- Measuring congruence of architecture and
- rganization
- Architectural tactics for improving
congruence
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,