Top Banner
Increasing Awareness in Increasing Awareness in Distributed Software Development Distributed Software Development Workspaces Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on X International Workshop on Groupware (CRIWG'04) Groupware (CRIWG'04) Marco A. S. Mangan 1,2 , Marcos R. S. Borges 3 ,Cláudia Werner 1 1 Computer Science Department, COPPE, Federal University of Rio de Janeiro – Brazil 2 Faculdade de Informática, PUCRS – Brazil 3 Núcleo de Computação Eletrônica and Instituto de Matemática, UFRJ, Brazil {mangan, werner}@cos.ufrj.br, [email protected], [email protected]
21

Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Increasing Awareness in Distributed Software Increasing Awareness in Distributed Software Development WorkspacesDevelopment Workspaces

Copyright, 1997 © Dale Carnegie & Associates, Inc.

X International Workshop on X International Workshop on Groupware (CRIWG'04)Groupware (CRIWG'04)

Marco A. S. Mangan1,2, Marcos R. S. Borges3,Cláudia Werner1

1Computer Science Department, COPPE, Federal University of Rio de Janeiro – Brazil

2 Faculdade de Informática, PUCRS – Brazil

3 Núcleo de Computação Eletrônica and Instituto de Matemática, UFRJ, Brazil

{mangan, werner}@cos.ufrj.br, [email protected], [email protected]

Page 2: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 2 :: 21

Scenario

Distributed or Global Software Development Teammates in different places or worktime

Virtual teams

In theory: increased productivity

In practice: cultural problems, awareness and communication breakdown

Distributed Sofware Development Environments (DSDEs) Software development tools + collaboration tools

Examples: Palantir, Milos, Tukan, Gossip, Serendipity

Page 3: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 3 :: 21

Motivation

Inadequate support for collaboration in current software development environments (e.g. Eclipse SDE)

Collaboration aspects: communication, coordination, memory, and awareness

Economics of software development: software reuse DSDE commonalities and variabilities

Alternative aproach to development with groupware frameworks and toolkits Development model: Multiple-players, framelets

Run-time: No application thread control

Page 4: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 4 :: 21

Problem and solution

Problem: How to build a DSDE? How to provide adequate group and task support?

How to manage environment evolution?

Proposal: Enhancement of pre-existent software tools

A middleware-based collaboration server implementing DSDE commonalities

Extension mechanisms to deal with DSDE variabilities

Guidelines to develop and maintain extensions

Page 5: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 5 :: 21

Outline

Middleware overview

A process to develop awareness enhanced DSDEs

Examples of extensions

Conclusions and future work

Page 6: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 6 :: 21

Middleware architecture

A description of the main components of a DSDE CASE tool: an event source

Collector: a program to collect events

(Collaborative) Extension: an event sinker

Blackboard architecture Communication uses a single shared space

On-line notification

Template-based queries

A JINI service

Page 7: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 7 :: 21

Middleware architecture

Events: operations + awareness model elements Examples: create class, update line, window move

At least, three awareness models Spatial: windows, viewports, UI components

Semantic: class, packages, relationships

Document-based: document, paragraphs, lines

Model selection depends on end-user task

Page 8: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 8 :: 21

Middleware architecture

At least, five basic operations Create, retrieve, update, delete, view/touch

Events are partially ordered into channels Historic data and on-line data

No separation of commited and local data

An API implements events, operations, and channel usage Less than 20 interfaces, average 6 methods each

Page 9: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 9 :: 21

Middleware architecture

CASE tool

CollectorExtension

Collector

CASE toolExtension

Event Notificatione1

write(e1)

Page 10: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 10 :: 21

Middleware architecture

CASE tool

CollectorExtension

Collector

CASE toolExtension

Event Notificatione1

query(e?)

notify(e?)

Page 11: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 11 :: 21

Middleware architecture

CASE tool

CollectorExtension

Collector

CASE toolExtension

Event Notification e2[e1]

write(e2[e1])

e1

Page 12: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 12 :: 21

Outline

Middleware overview

A process to develop awareness enhanced DSDEs

Examples of extensions

Conclusions and future work

Page 13: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 13 :: 21

Process

A set of guidelines to DSDE development using this approach

Roles: description of required skills and responsabilities CASE tool developer

Enhancement developer

Integration developer

Environment composer

Activities: sequence of logical steps to compose a new DSDE People, Tool, and Context Assesment

Extension and Collector Selection

Page 14: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 14 :: 21

Outline

Middleware overview

A process to develop awareness enhanced DSDEs

Examples of extensions

Conclusions and future work

Page 15: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 15 :: 21

Examples

Task: software peer review

CASE tool: Odyssey SDECollector: Java UI System

Spatial awareness model

Task: concurrent programming

CASE tool: Eclipse SDECollector: tool extension mechanism

Document-based awareness model

Page 16: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 16 :: 21

Examples

Task: concurrent modeling

CASE tool: Odyssey SDECollector: tool extension mechanism

Semantic awareness model

Task: software management

CASE tool: Odyssey SDECollector: persistence layer

Semantic awareness model

Page 17: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 17 :: 21

Outline

Middleware overview

A process to develop awareness enhanced DSDEs

Examples of extensions

Conclusions and future work

Page 18: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 18 :: 21

Conclusions

Alternative to the development of DSDEs

The extension of pre-existent software tools reduce he problem of task support

Enhancements are composed of two reusable parts: collectors and extensions

A middleware implements common collaborative funcionalities

A process guides the development of DSDEs

Enhancement examples demonstrate the feasibility of this approach

Page 19: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 19 :: 21

Conclusions

Limitations Side-show windows

Dependency on the extension possibilities of CASE tool and its run-time environment

Conservative changes

Page 20: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Alceste : CRIWG’04: Sep 06, 2004 20 :: 21

Future Work

Third-party feasibility evaluation Observe planning and development of extensions with the

architecture

Work impact evaluation Observe a group performing a development task with and without

the extensions

Page 21: Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Increasing Awareness in Distributed Software Increasing Awareness in Distributed Software Development WorkspacesDevelopment Workspaces

Copyright, 1997 © Dale Carnegie & Associates, Inc.

X International Workshop on X International Workshop on Groupware (CRIWG'04)Groupware (CRIWG'04)

Marco A. S. Mangan1,2, Marcos R. S. Borges3,Cláudia Werner1

1Computer Science Department, COPPE, Federal University of Rio de Janeiro – Brazil

2 Faculdade de Informática, PUCRS – Brazil

3 Núcleo de Computação Eletrônica and Instituto de Matemática, UFRJ, Brazil

{mangan, werner}@cos.ufrj.br, [email protected], [email protected]