teamwork coordination in a distributed software development ...

4 downloads 72210 Views 88KB Size Report
DISTRIBUTED SOFTWARE DEVELOPMENT ENVIRONMENT* ... Distributed Corporate Application Systems, Hamburg, August 28 - September 2, 1994.
TEAMWORK COORDINATION IN A DISTRIBUTED SOFTWARE DEVELOPMENT ENVIRONMENT* Andreas Oberweis, Thomas Wendel**, Wolffried Stucky Universität Karlsruhe Institut AIFB D-76128 Karlsruhe Germany eMail: {oberweis|wendel|stucky}@aifb.uni-karlsruhe.de 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Teamwork in INCOME/STAR . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. Teamwork components . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Supporting group communication . . . . . . . . . . . . . . . . . . . . . . . 4. Supporting workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Coupling group communication and workflow management . . . 6. Related approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 3 3 5 8 10 11 12 13

Abstract The development process of large software systems is usually splitted into several subprocesses which are to be handled by different project teams. An efficient coordination of the development activities is an important prerequisite for a successful software engineering project. For that reason group communication and workflow aspects must be supported by appropriate teamwork methods and tools. This paper surveys the teamwork methods and tools of INCOME/STAR which is a cooperative development environment for distributed information systems. _______________ * to appear in: Proceedings of the IFIP '94 Workshop FG 9: Communication and Coordination in Distributed Corporate Application Systems, Hamburg, August 28 - September 2, 1994 ** Th. Wendel's work was supported by a scholarship according to the 'Landesgraduiertenförderungsgesetz Baden-Württemberg' under grant no. 8122/93.

1 Introduction Teamwork in a software engineering project includes different coordination aspects. Usually many different workflows are implied by a software development process model, which prescribes - among other things - the general course of the development process and all demanded deliverables such as design and system documents or source codes. During the whole course of a development project, communication support and efficient management of the flow of work items between different people or between different groups of people is required.

perspective system development consists of the execution of prescribed activity structures. In contrast to this the social action perspective describes the development process as social processes of interactions between developers and users [HiKN87, cited in WaWh93]. Due to this distinction, workflow management can be related to the technical perspective and group communication to the social action perspective on system development. Consequently both perspectives have to be considered in a development environment. So, the users of the environment have to decide, what perspective they want to prefer in the current project context. For this reason we introduce an

Specific types of communication are related to

approach which supports (technical) workflow

certain project activities, such as requirement

management as well as (social) group commu-

definition, collective design, document review,

nication. A communication process can be trig-

program inspection, software testing and pro-

gered by workflow and vice versa. Moreover

ject management.

the possibility is given to adopt communication

Workflow management in a software develop-

processes to workflow processes and to pay ex-

ment project includes the following aspects:

plicitly attention to the association between

planning and modelling of development acti-

communication and workflow in an easy way.

vities, based on a development process

This paper is organized as follows: In chapter 2

model.

we

resource allocation.

INCOME/STAR, a distributed environment for

monitoring and control of development

the cooperative development of distributed in-

activities.

formation systems. Chapter 3 describes the sup-

introduce

teamwork

components

of

A communication process may be interpreted as

port of group communication during the

a special kind of workflow. However, this inter-

development process. In chapter 4 several fea-

pretation neglects the necessity to distinguish

tures of the workflow management in INCOM-

between a technical and a social action per-

E/STAR are surveyed. Chapter 5 shows the

spective on system development. In a technical

possibilities to couple group communication and workflow management. In chapter 6 a list

of related approaches is given. Finally, chapter

groupwork. Especially components of the latter

7 presents future work.

type are responsible for teamwork support between different environments.

2 Teamwork in INCOME/STAR

The INCOME/STAR repository contains process model representations and stores all devel-

This chapter describes the teamwork compo-

opment documents. Moreover it is responsible

nents of INCOME/STAR which is a repository-

for consistency control of documents and it

based environment for the cooperative develop-

supports shared access to process information.

ment of distributed information systems.

Development process information consists of

Figure 1 presents a general view of the distribu-

static data and dynamic behaviour aspects,

tion structure of INCOME/STAR. Each project

which are represented by a semantic object

team works with its own environment which

model and high level Petri nets. This informa-

consists of - among other components - several

tion is stored in so-called development objects.

teamwork

Furthermore the repository contains so-called

components

and

the

teamwork objects, such as conversation dia-

INCOME/STAR repository.

grams (see below for details) and eMail Environment A

Environment B

project team A

project team B

documents. Moreover there are appropriate mechanisms to guarantee a valid distribution of data and pro-

teamwork components

teamwork components

INCOME/STAR repository

INCOME/STAR repository

INCOME/STAR

INCOME/STAR

- Distribution of data and processes - Consistency mechanism - Teamwork support

cesses with respect to several consistency checks.

2.1 Teamwork components Among other components - like graphical editors, database and application program generators, etc. - there are the following teamwork specific components using the INCOME/STAR

Figure 1: Teamwork support in a distributed development environment

repository (see Figure 2): extended eMail system

Teamwork components have the aim to support

The eMail system maintains a semi-structured

work activities between members of a group,

message exchange which supports the use of

so-called intra-groupwork, and between mem-

message filtering methods to avoid informa-

bers of different groups, so-called inter-

tion overload, a typical problem of existing

teamwork components

tem ed il sys d en a y da ext eM person-centered components n pla

ne

r

ion sat er r e g v con mana

low r rkf nage o w ma group-centered components

teamwork objects

development objects

teamwork information INCOME/STAR repository

Figure 2: Teamwork components in INCOME/STAR computer-mediated communication systems

to analyze incoming mails. The mail editor

[HiTu85]. Therefore we have extended the

maintains the creation of mail with respect to

conventional eMail structure by different

the selected eMail type. Furthermore it per-

areas, where rule expressions - like if mail

mits the conversion of a mail from a given

comes from team member smith then put mail

eMail type into another kind of eMail type.

in dictionary smithMail - can be interpreted. Furthermore there are four different types of eMail: common, standard, extended and conversational eMail. Common eMail corresponds to conventional UNIX mail. Standard eMail permits to format the mail content. Extended eMail allows the declaration of specific message types, for instance a request or a

day planner The day planner maintains three kinds of electronic calendar: personal, group and common project calendar. A personal electronic calendar consists of private and shared spaces. Shared spaces - in contrast to private spaces are periods of time which can be seen and manipulated by other authorized team members.

question. Conversational eMail is embbeded in a so-called conversation which declares valid orders of message types which can be modelled in a conversation editor tool.

Group appointments can be realized by using appropriate shared spaces of all team members. These group appointments are registered in a group calendar. Furthermore there is a

The main components of the extended eMail system are a mail desktop and a mail editor. The mail desktop provides access to incoming mails and supports message filtering methods

common project specific day plan, in which all deadlines and important project dates are registered und by this are accessible to group members.

conversation manager

of a group appointment negotiation, are also

The conversation manager allows the planning

supported by this component.

and modelling of conversations, which are represented by conversation diagrams (see below for details). Furthermore there is a

3 Supporting group communication

monitor component, which presents progress

Computer supported group communication de-

information

pends on the available communication infra-

about

current

conversation

processes. workflow manager

structure. In software engineering projects members of different project teams often use computer-mediated

The workflow manager supports planning and modelling of development activities based on a development process model. It monitors and

communication

systems

(CMCS), like eMail systems or bulletin-board systems, for information - especially document exchange due to the following reasons:

controls the execution of workflows and supports resource allocation.

possibility to exchange complex multi-media information.

Each team member has access to own, adapt-

project teams may be located at geographi-

able instances of the day planner and the mail

cally distributed places.

desktop. So these applications emphasize a

different working times.

person-centered view on teamwork. Comple-

low costs to realize communication

mentary to this kind of view, the workflow

possibility.

manager and the conversation manager must pay attention to group specific information, like general resource allocations, personal compositions of groups or the skills of group members. So, these components emphasize a groupcentered view on teamwork.

We decided to use an eMail system as favorite basis for realizing group communication because this kind of CMCS is usually available in every network environment. However conventional eMail systems only support text document exchange between different team members

In contrast to group-centered components,

acting as mail sender or mail recipient (in the

person-centered components can also be used

following called 'sender' respectively 'recipient').

without teamwork functions ('stand alone'

There is no explicit consideration of the follow-

mode) due to the fact that everyday work con-

ing social action aspects, which are important

sists of individual and group specific activities.

for an efficient group communication support:

For example, in general the day planner supports personal time organization. Furthermore specific teamwork functions, i.e. the execution

Why is the mail sent to the recipient? Which working context is assumed?

Which reaction is expected by the sender?

processes. On the second layer the extended

Is this mail important for the current work

eMail system is introduced. Each extended mail

of the recipient?

corresponds to a document stored in the

etc.

INCOME/STAR repository. The extended

The following technical aspects must also be considered:

eMail system can be supplemented on a third layer with the conversation manager to allow the execution of conversations. All conversa-

Which kind of documents (e.g. simple text, multimedia, etc.) can be transmitted? Which recipients can be reached? What kind of mail information can be used?

tion information, concerning, e.g., conversation diagrams or conversation reports, is also stored in the INCOME/STAR repository as teamwork objects.

etc. Consequently, conventional eMail systems must be extended to pay attention to these aspects. For this reason so-called adaptorsystems are proposed in [HoRö93]. A simple extension is the use of specific mail areas to declare filter information and a mes-

ail eM

ail eM

ail eM

t. ex Mail e

t. l exMai e

t. exMail e extended eMail system

sage type. Filter information can be interpreted to avoid information overload. A message type, like an enquiry for appointment, allows to put the mail in a specific working context. Often a specific kind of reaction is expected by the sender. However this expectation can be

on ati ger s r e a nv an co m conversation support teamwork objects conversation diagram

INCOME/STAR repository

misjudged by the recipient. So the sender needs the possibility to propose different types of valid reactions. This feature can be realized by ex-

Figure 3: Group communication support in INCOME/STAR

ecuting a conversation which is based on a

Conversation diagrams are a graphical lan-

conversation diagram.

guage which allows to specify communication

Figure 3 shows the general layer structure of

processes in an easy and intuitive way. Each

group communication support in INCOME/

conversation diagram consists of two compo-

STAR. On the top layer a conventional eMail

nents: conversation acts and processing rela-

system is used to permit communication

tions. The execution of a conversation diagram

under control of the conversation manager is

information while a conversation process is 'on

called a conversation.

the run'. The information used to check the ful-

A conversation act represents a team member related communication activity which can be

fillment of the conditions is also stored in the INCOME/STAR repository.

linked to additional conversation acts by pro-

However, the initiator of a conversation has the

cessing relations. A processing relation repre-

possibility to decide whether given conditions

sents the following so-called conditions of

have to be used in the current process or not.

fulfillment to execute a conversation act:

Additionally the execution of a conversation act depends on the conversation processing state.

i. conversational relevance This condition represents the importance -

A conversation process passes through the fol-

e.g. high, low or undetermined - of the fol-

lowing three states: start, continue and

lowing conversation act for the course of the

end. Possibly the continue state can be

conversation. In this way course preferences

omitted to realize a simple communication pro-

can be considered.

cess which consists of a single sender and a single recipient activity.

ii. personal competence A conversation can also pay attention to the

neglect

this

analyst kind

of

knowledge. iii. organisational role Each software project is embedded in an or-

strong start act

X

weak start act

X

continuation act

X X

strong conclusion act weak conclusion act

end

can

an

or

(possibly)

while

continue

language

or

have good knowledge of (at least) one programming

... turns conversation process into state ...

start

and skills. For instance, a programmer must

conversation act types graphical representation

fact that team members differ in competence

X X

X

ganisational context. Within this context different kinds of roles, like programmer,

Figure 4: Conversation act types

analyst, etc., will be taken by the team members in the course of a software project.

At state start a new conversation process is initiated. If the conversation process is finished

These conditions can be used to restrict the par-

it gets the state end. At state continue there

ticipation on a conversation process to a specif-

is (at least) one conversation act which has to

ic collection of team members. Moreover it

be activated.

allows the consideration of different context

Figure 4 shows different general types of con-

quest and repeat the review process with new

versation acts and their graphical representa-

information.

tion.

Each

conversation

act

turns

the

conversation process in a specific state. There are two kinds of conversation acts which can start respectively conclude a conversation pro-

Also A can start a new conversation with the refinement of a given, already accepted request. For that we use a weak conversation act. Consequently the 'accept' act is a weak act, too.

cess: weak and strong types. In contrast to a strong type, a weak act can also be used to con-

4 Supporting workflow

tinue the process. The second group-centered component in Example

INCOME/STAR is a workflow manager which

In the following we consider a typical commu-

supports the flow of work items between differ-

nication process to arrange a document review

ent team members and between different teams

(see Figure 5). If a team member (named A)

based on a workflow model. As a formal speci-

wants to initiate a document review by another

fication language for workflows we use high-

team member (named B), A can start a con-

level Petri nets in combination with a semantic

versation for review with a new review request.

data model. The modeling of workflows in a software engi-

A: new request

neering project consists of the following two (complex) steps: i. Specification of the generic software engi-

B: reject

B: further information

B: accept

neering process model as a hierarchy of Petri nets. The structure of the deliverables is specified in a semantic data model. Development documents usually have a complex structure.

A: refined request

Figure 5: conversation for review (cfr)1

To model operations on complex structured objects adequately we have developed an extension of high level Petri nets, namely

In the following B can accept or reject this re-

NR/T-nets (Nested Relation/Transition nets

quest. Moreover B can ask for further informa-

[ObSS93]).

tion before making a decision. If B accepts the review request, A can possibly refine the old re-

ii. Instantiation of the generic model and tailoring due to the specific project needs.

1

We neglect the representation of specific conditions of fulfillment to keep this example simple.

Finally, each NR/T-net represents a class of possible workflows in a software project. Simulation can be used to validate a given NR/T-net. In INCOME/STAR workflow modelling is supuser interface

ported by a workflow editor, a workflow simu-

workflow engine user interface

lator and a workflow analyzer. The NR/T-net representation of the relevant workflows - including temporal aspects, resource allocation and personal responsibilities -

transaction manager cts development objects bje o rk wo m tea INCOME/STAR repository

is interpreted as a project plan, which is to be fulfilled for a concrete running project. The

Figure 6: Architecture of the workflow manager in INCOME/STAR

workflow manager in INCOME/STAR provides the following functionality:

Figure 6 shows the architecture of the work-

team members are notified about actions

flow manager. Central component of this archi-

that are to be started, completed or inter-

tecture is the workflow engine. It is coupled to

rupted in a given situation.

the repository via the transaction manager. The

team members are provided with specific in-

modification of values in the database or signals

formation about the current system state.

from other software systems trigger certain ac-

project managers are provided with an over-

tivities of the workflow engine.

view

The transaction manager handles the execution

about the status of workflow.

of repository-based transactions. For that it re-

certain standard procedures are automated.

lieves the workflow manager of specific data-

activities and their results are controlled.

base tasks, such as commitment control and

alternative decisions, e.g. alternative re-

exception handling, e.g., in the case of hard-

source allocations, may be validated.

ware

certain procedures may be simulated in ad-

INCOME/STAR's workflow concepts in more

vance, e.g. for training of unskilled persons

detail.

or for analysis. team members are provided with support for exception handling.

errors.

[Ober94]

describes

5 Coupling group communication and workflow management

coupling allows an explicit combination of

There are the following degrees of coupling

the execution of specific kinds of conversation

group communication and workflow manage-

processes:

ment in INCOME/STAR, which depend on the

i. valuation of development objects.

group communication and workflow management. The following aspects can be handled by

use of the conversation manager by the workflow manager in a specific workflow:

ii. support of workflow activities, such as: negotiation about the responsibility for the

i. no coupling Conversation processes can not be initiated by the workflow manager. In this case a pure technical perspective on software development is preferred. All activi-

execution of workflow activities. coordination of several team members related to one workflow activity. exchange of experience to carry out a workflow activity.

ties are exclusively supported by the workflow manager.

Therefore the workflow specification language must be extended by a special kind of transition

ii. close coupling

which we call a conversation-transition.

The workflow manager is able to trigger specific kinds of conversation processes. Here, conversation processes can be related to specific workflow activities respectively specific workflow objects (see below for details).

A conversation-transition represents the execution of a specific conversation process. In contrast to conventional transitions1 it can be related to both places respectively predicates and transitions. For that reason a conversation transition is interpreted in the first case as a

iii. loose coupling

conventional transition and in the second case

All conversation processes supported by the

as a combination of a place and a transition (see

conversation manager can be triggered by the

Figure 7).

workflow manager. In contrast to close coupling, conversation processes can be initiated independent of the

Use of a conversationtransition with

underlying Petri net structure c

c

a place

current workflow. a transition

t

c

t

In the following we consider close coupling in more detail due to the fact that this kind of 1

Figure 7: Conversation-transition

We suppose that the reader is familiar with the basic Petri net concepts (see, e.g., [Reis85]).

c

Therefore we use as graphical representation a

revision in detail. After the revision activity is

box with rounded edges to indicate the modi-

executed, the application will be tested again.

fied semantics. The inscription of the box refers to a specific conversation diagram.

Additionally, it is possible to support the reject application activity by a cfa-process to determine a responsible person for the revision activ-

Example In the following example we want to describe a workflow for quality control (see Figure 8) with a close coupling to a conversation for review (cfr).

ity. Also a cfa-process can be triggered if a test request exists and an appropriate team member is needed for the test activity.

6 Related approaches revise application

compiled code test application

There are several approaches which also aim at supporting teamwork in organisations and espe-

test request

cially in software projects. However, there is usually no possibility given to pass from the so-

cfr revise assignment acceptance program document trouble report

cial action perspective to the technical perspective on software development or vice versa.

reject

source code

application

Some of these approaches are surveyed in the following:

transfer to configuration management

deliverables

prepare for revision

Figure 8: Workflow for quality control

The Coordinator [Wino88] is a conversation based approach which supports everyday communication processes in organisations by fixed orders of messages. Based on the so-called lan-

An application will be tested if a test request

guage/action perspective each message repre-

and an appropriate compiled code are given. If

sents a specific kind of (teamwork) activity.

the application is errorfree, an acceptance

Other approaches which support everyday com-

document will be created and afterwards the ap-

munication in teams on the basis of conversa-

plication documents (source code and compiled

tions are Strudel [ShMK90] and CHAOS

code) will be transferred by the configuration

[BiSi91].

management to the deliverables. On the other hand, if the application is invalid, a program trouble report will be worked out. On the basis of this document the current application will be rejected. The result of this activity is a revise assignment which prescribes the application

The ConversationBuilder [KT..92] maintains collaborative work activities in software projects. It allows the modelling and use of conversation protocols which can be tailored to

certain software development process models or to specific group preferences.

7 Outlook The teamwork components of INCOME/

CoNeX [HaJR90] supports teamwork in soft-

STAR are currently being implemented in

ware projects with respect to the underlying so-

SMALLTALK. We use these components on

cial processes. Moreover, further human

UNIX workstations and PCs. The INCOME/

collaboration aspects, concerning, e.g.,

task

STAR repository is currently realized on the

negotiation and decision making, are also con-

basis of a relational database system in the

sidered. Therefore several models, e.g. a multi-

workstation environment. At present, we are

agent conversation model for task-oriented ne-

validating our approach in practice.

gotiations, are introduced and integrated.

An important aspect of our future work is the

GroupFlow [Hilp94] provides a groupware

support of other system environments, for ex-

based workflow management which maintains a

ample by using commercial groupware applica-

wide area of different workflows. For that it is

tions like Lotus-Notes. Moreover we will

distinguished between the following kinds of

intensify the use of our development environ-

workflow: ad hoc workflow, autonomous work-

ment in software development projects to

group, partially standardized workflow and

evaluate the practical relevance of our research

standard workflow.

work.

MELMAC [BrGr93] is a software process management environment which uses also high level petri nets - so-called FUNSOFT nets - for the representation of human interaction. In this environment FUNSOFT nets are the basis for software process modeling and enacting.

References [BiSi91]

[BrGr93]

[Hilp94] [HiKN87]

[HiTu85]

[HaJR90]

[HoRö93] [KT..92]

[Ober94]

[ObSS93]

[Reis85] [ShMK90]

[WaWh93]

[Wino88]

C. Bignoli, C. Simone: AI Techniques for Supporting Human to Human Communication in CHAOS; in J. M. Bowers, S. D. Benford (eds.): Studies in Computer Supported Cooperative Work - Theory, Practice and Design, North-Holland, pp. 103-118, 1991 A. Bröckers, V. Gruhn: Computer-Aided Verification of Software Process Model Properties; in C. Rolland, F. Bodart, C. Cauvet (eds.): Advanced Information Systems Engineering, pp. 521-545, 1993 W. Hilpert: GroupFlow - Groupware Based Workflow Management, Working paper, Business Computing 2, University of Paderborn, 1994 R. A. Hirschheim, H. Klein, M. Newman: A social action perspective of information systems development; in J. DeGross, C. Kriebel (eds.): Proc. of the 8th International Conference on Information Systems, acm Press, pp. 45-56, 1987 S. R. Hiltz, M. Turoff: Structuring computer-mediated communication systems to avoid information overload, Communications of the ACM, Volume 28, Number 7, pp. 680-689, July 1985 U. Hahn, M. Jarke, T. Rose: Group work in software projects, in S. Gibbs, A. A. Verrijn-Stuart (eds.): Multi-User Interfaces and Applications, North-Holland, pp. 83-101, 1990 K. Hofrichter, K. Röhr: Sanfte Wege zur Multimedia Electronic-Mail; Der GMDSpiegel 2'93, pp. 62-65, 1993 (in German) S. M. Kaplan, W. J. Tolone, A. M. Carrol, D. P. Bogia, C. Bignoli: Supporting Collaborative Software Development with ConversationBuilder; in Herbert Weber (ed.): SIGSOFT '92; Software Engineering Notes, Vol. 15, Nr. 5, acm Press, pp. 11-20, 1992 A. Oberweis: Workflow Management in Software Engineering Projects; in S. Medhat (Ed.): Proc. International Conference on Concurrent Engineering and Electronic Design Automation, Bournemouth/England, pp. 55-60, 1994 A. Oberweis, P. Sander, W. Stucky: Petri net based modelling of procedures in complex object database applications, in D. Cooke (ed.): Proc. Seventeenth Annual International Computer Software and Applications Conference COMPSAC'93, Phoenix/Arizona, pp. 138-144, 1993 W. Reisig: Petri Nets, EATCS Monographs on Theoretical Computer Science, Vol. 4, Springer-Verlag, 1985 A. Shepherd, N. Mayer, A. Kuchinsky: Strudel - An extensible electronic conversation toolkit; CSCW'90, Proc. of the Conference on Computer-Supported Cooperative Work, October 7-10, Los Angeles, pp. 93-104, 1990 D. G. Wastell, P. White: Using Process Technology to Support Cooperative Work: Prospects and Design Issues; in D. Diaper, C. Sanger (eds.): CSCW in practice: An introduction and Case Studies; Springer Verlag, pp. 105-126, 1993 T. Winograd: A language/action perspective on the design of cooperative work; in I. Greif (ed.): Computer-supported cooperative work: A book of readings, Morgan Kaufmann Publishers, pp. 623-653, 1988

Suggest Documents