• No results found

TAMRI: A Tool for Supporting Task Distribution in Global Software Development Projects

N/A
N/A
Protected

Academic year: 2021

Share "TAMRI: A Tool for Supporting Task Distribution in Global Software Development Projects"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

REMIDI 2009, Limerick, Ireland

July 13, 2009

Ansgar Lamersdorf

[email protected]

Jürgen Münch

[email protected]

(2)

Page 2/18

Outline

• Motivation

• Model Overview

• Application Scenarios

• The TAMRI Tool

(3)

Page 3/18

Motivation: Task Allocation

Software development processes have to be allocated to

distributed sites

n tasks to m sites Æ up to mn

different assignments theoretically possible

Task allocation has to consider abilities at sites and

communication overhead

In practice: often task allocation by cost and availability only

(4)

Page 4/18

Challenges of Task Allocation Decisions

Cost reduction (assign to low-cost sites), development time (reduce communication overhead), development quality (assign to experts), closeness to markets…

E.g., expertise at sites, proximity to customer, time zone difference, cultural distance, communication need…

Different weight on goals, other influencing factors, differences in importance of influences…

Not all characteristics of remote sites are known; uncertainty in predicting human behavior Multiple goals

Multiple influences

Organization-specific contexts

Uncertainty

Not handled by existing planning approaches

(5)

Page 5/18

TAMRI Overview

Output: Assignment suggestions Input: Values for influencing factors (actual characteristics of project, tasks, sites), weighted goals Organizational knowledge: • Influencing factors • Causal relationships Decision model

Goal: Task allocation based on multiple criteria

• Based on specific project characteristics and general organizational experience, make suggestions for task assignment

• Task allocation has to consider multiple goals and criteria

Identified in empirical study

(6)

Page 6/18

Empirical Study: Influencing Factors

Study goal

Which factors influence project goals in GSD?

Study design

Literature study and interviews with 10 practitioners

Result: Model for evaluating assignment

Influences of task assignment on goals

Costs Time Quality

La ng uage di ffer en ce Cu ltur al di ffer en ce Common experi en ce s Time s hi ft In fr as tr uc tu r e dist an ce Coupl in g bet w ee n ta sk s N e ede d Ex pert ise fo r ta sks Pr oc es s ma tur ity Ex pertise & Know ledge La bo r Cos ts Prox imity to cu st om er N e ede d Proximit y Pos sibili ty of Fol low -th e-su n Problems in Communication, Coordination, Control Productivity Knowledge fit Follow-the-sun benefit ++ -+++ ++ ++ --++ -- -+++ ++ --++ ++ ++ ++ +++ +++ ---Model describes causal relations under uncertainty Æ Bayesian Networks

(7)

Page 7/18

Modeling Impact with Bayesian Networks

Communication need

Example:

Time zone distance Overhead

Bayesian Networks are used for modeling

causal relationships under uncertainty

Values for each causal relationship are

determined by probabilistic tables

high medium Overhead 0% 5% 10% 15% 20% Probability … 2% … 0% High … … … 20% … … … 15% … … … 10% … … … 20% … … … 15% … … … 10% … … … 5% … … … 0% Low High Med Low OH … 30% … 15% 25% 35% 8 % … … … … … … … … … … … … 20% 10% 5% 5% 0% Medium

TAMRI: Table values were determined through - study results

- own estimations

- and mathematical functions

Communication need T im e zone di st ance

(8)

Page 8/18

TAMRI Overview

Output: Assignment suggestions Input: Values for influencing factors Evaluation model Results of empirical study Optimization algorithm Evaluation model

• Describes the results of concrete assignment on goals

ÆBayesian Networks

Optimization algorithm

• Uses assignment evaluation • Identifies optimal assignment

• Based on algorithm of distributed systems (optimal assignment of tasks to processor nodes)

Distributed Systems Algorithm

(9)

Page 9/18

TAMRI Overview

Input: Values for influencing factors Results of empirical study Optimization algorithm

Evaluation model uses Bayesian Networks (BN)

• BN for execution tasks at site: What is the impact on goals if task A is assigned to site 1?

• BN for transmission overhead: What is the impact of overhead for transmitting information between task A at site 1 and task B at site 2? • BNs can be instantiated for every assignment of tasks to sites • Result: not single values but probabilistic distribution

Distributed Systems Algorithm Bayesian Network (task execution) Bayesian Network (transmission) Output: Assignment suggestions Output: Statistical distribution over impact

(10)

Page 10/18

TAMRI Overview

Distributed Systems Algorithm Input: Execution impact (site, task) Transmission impact (site, site, task, task)

Output: Optimal assign-ment Bayesian Network (task execution) Bayesian Network (transmission) Output: Statistical distribution over impact Optimization algorithm: Randomization For n >> 1 (n=1000)

- Pick random values for every impact function based on statistical distributions

- Execute distributed system algorithm - Store optimal assignment

Pick values Store in list Output: Weighted list of assignment suggestions Input: Values for influencing factors Results of empirical study

(11)

Page 11/18 REMIDI / Limerick July 13, 2009

Scenario Overview

Tasks:

white_box_test component_ requirements generate_ test cases test_ cases perform_ tests test_ results component_ design executable_ code transferred input transferred input transferred input transferred output component_development component_ requirements create_ component_ design defect_ list ad_hoc_ design_ inspection component_ design executable_ code transferred output create_ component_ code transferred output -near customer - high labor costs

- small distance - no time shift

- large distance - large time shift

B

A

C

-low labor costs

- large distance - large time shift

-low labor costs

(12)

Page 12/18

Task Allocation Scenario (1)

Component development & testing

- Development is done at A, testing needs to be

assigned to B or C

- Follow-the-sun possible between A and C

- Higher familiarity at B

- Cost rate no criterion

Scenario 1

Development Testing

(13)

Page 13/18

Weight is placed on

development time: follow-the-sun

with C slightly prioritized

Tool Implementation: Scenario 1

Factors are

organization-specific and can be changed

easily in the implementation

Tasks and Sites can be added

Characteristics of development

task

Characteristics of testing task

Characteristics of site A

Characteristics of site B

Characteristics of sites with

respect to testing task

Weigh is placed on quality:

Assignment to familiar site

suggested

(14)

Page 14/18

Task Allocation Scenario (2)

Development and testing of 3 components

- All tasks can be assigned freely

- Different coupling between components (1

2:

high, 1

3, 2

3: low)

- Expertise for development at A, testing at B

- Low labor costs at C, possibility of

follow-the-sun

Scenario 2 Test 1 Dev 1 Dev 2 Dev 3 Test 2 Test 3

(15)

Page 15/18

Results Scenario 2

Priority: quality and cost

Due to complexity, significance in

results not so high (best assignment

only optimal in 16% of runs)

However, general suggestions can be

derived from result list

- Development should be done at

A

- It is generally better to do

testing at B than at C

- But single testing tasks could

also be done at C

(16)

Page 16/18

Summary: Characteristics of TAMRI Model

Different goals can be weighted and aggregated into one impact function

Large number of different influencing factors can be specified in Bayesian Networks

Bayesian Network concept allows for easily exchanging networks without having to change underlying algorithms; Bayesian Networks can be adapted to organization-specific goals, influencing factors, weights

Bayesian Networks can describe causal relationships under uncertainty; results can be produced without having to specify all input parameters; model output reflects uncertainty by providing multiple suggestions Multiple goals

Multiple influences

Organization-specific context

(17)

Page 17/18

Future Research

Bayesian Networks are based on empirical study with input from various types of GSD

- Model needs to be adapted to specific

environments / organization

The model has only been evaluated in hypothetical scenarios

- Future work: evaluation in real-world context

- Will practitioners accept “black-box” model?

Underlying assumption: knowledge about organization is very detailed (e.g., cultural differences between sites can be classified)

- Methods for eliciting knowledge have to be found

The decision model has to be integrated into an organizational task allocation process

- Includes roles, responsibilities, sub-processes for eliciting knowledge, determining influencing factors… Adaptation of model to

specific contexts

Evaluation

Eliciting organizational knowledge

Process for decision support

(18)

Page 18/18

Thank you for your attention!

Contact:

Dr. Jürgen Münch

[email protected] Ansgar Lamersdorf

References

Related documents