Global Software Engineering: The Future of Socio- technical - - PowerPoint PPT Presentation

global software engineering the future of socio technical
SMART_READER_LITE
LIVE PREVIEW

Global Software Engineering: The Future of Socio- technical - - PowerPoint PPT Presentation

Global Software Engineering: The Future of Socio- technical Coordination Jim Herbsleb School of Computer Science Carnegie Mellon University jdh@cs.cmu.edu http://conway.isri.cmu.edu/~jdh/ Overview Desired future state Problems we


slide-1
SLIDE 1

Global Software Engineering: The Future of Socio- technical Coordination

Jim Herbsleb School of Computer Science Carnegie Mellon University jdh@cs.cmu.edu http://conway.isri.cmu.edu/~jdh/

slide-2
SLIDE 2

2

Overview

Desired future state Problems we need to solve Research challenges

− Software architecture − Eliciting & communicating requirements − Environments and tools − Orchestrating global development

slide-3
SLIDE 3

3

Where We Want to Be . . .

Resource use independent of location Effective coordination planning Uniform understanding of requirements Measure architecture/organization “fit”

− Have rich set of tactics to choose from

Effectively manage change

slide-4
SLIDE 4

4

Problems of Global Development

Key phenomenon: coordination over

distance

Fundamental problem: coordination

mechanisms disrupted in distributed projects

Coordination mechanisms

− Based on agreements or contracts − Based on communication

Distance

− Much less communication − Less effective communication

slide-5
SLIDE 5

5

Research Challenges:

Software Architecture

Software dependencies and task

dependencies

Measuring architecture/organization “fit”

− Can this organization produce software that

conforms with this architecture?

− Analogous to “design for manufacturability”

Tactics for improving “fit”

− Adjust organization − Adjust architecture

slide-6
SLIDE 6

6

Research Challenges:

Eliciting and Communicating Requirements

Anticipating the need to support

negotiation

− Predicting the amount of requirements change − Identifying who is affected

Media for requirements communication

− What needs to be face-to-face? − What mix of voice, video, messaging, tool-

mediated communication?

− Use of formal or diagrammatic representations?

slide-7
SLIDE 7

7

Research Challenges:

Environments and Tools

Virtual co-location

− Informal communication − Awareness

Continuing to exploit project memory Enriching project memories

− What other data belongs in the memory? − How to balance privacy issues with utility?

Project history and collaborative tool

infrastructure

− Potentially huge amounts of data − Integration, interoperability

slide-8
SLIDE 8

8

Research Challenges:

Orchestrating Global Development

What practices are effective when? E.g.,

− Up front investment in design, process,

architecture

− Focus on agility, flexibility, communication

Interactions among practices, e.g.,

− Can I reduce the need for a common

development environment by investing more in architecture design?

− Will a defined process reduce the need for

communication?

slide-9
SLIDE 9

9

Conclusion

Deeper understanding of coordination in

software engineering

− What kinds of coordination are required? − What drives the need to coordinate? − How do we predict the needs to coordinate across a

project?

Deeper understanding of coordination

mechanisms

− For a given project: how much to invest in coordination? − What coordination mechanisms/tactics to invest in?

Need better theories of coordination