This document presents a systematic approach for evaluating task allocation alternatives in distributed software development. It describes defining relevant viewpoints, contexts, factors and baselines. Variation factors like capabilities, dependencies and characteristics are identified and their impacts assessed. Possible task assignments are then evaluated based on the analysis. The approach is demonstrated through a scenario where a company evaluates assigning work between sites in Europe and India for a new project.
Systematic Evaluation of Task Allocation in Distributed Software Projects
1. Systematic Task Allocation Evaluation in Distributed Software Development
Systematic Task Allocation Evaluation
in Distributed Software Development
October 16, 2012
2. Systematic Task Allocation Evaluation in Distributed Software Development
Introduction
What is meant by a Systematic Task Allocation
Evaluating various task allocation alternatives and to effectively
establish a customized task allocation practices in an organization.
3. Systematic Task Allocation Evaluation in Distributed Software Development
Introduction
Why we need a Systematic Task Allocation
1 Impact factors
2 Constraints
4. Systematic Task Allocation Evaluation in Distributed Software Development
Scenario of a Task Allocation Decision Problem
Emperical Basis for the Scenario
Types of distributed development :
1 Outsourcing
2 Captive Offshoring
Standard Software
Custom Software
5. Systematic Task Allocation Evaluation in Distributed Software Development
Scenario of a Task Allocation Decision Problem
Outsourcing
Outsourcing
1 Complete projects or products to be developed are usually
assigned to outside contractors.
2 Usually within the national boundaries..
6. Systematic Task Allocation Evaluation in Distributed Software Development
Scenario of a Task Allocation Decision Problem
Captive Offshoring
Captive Offshoring
1 Complete projects or products to be developed are usually
assigned within an organization that has globally distributed
sites.
2 Usually outside the national boundaries..
Figure: Offshoring Market
7. Systematic Task Allocation Evaluation in Distributed Software Development
Scenario of a Task Allocation Decision Problem
Captive Offshoring –> Standard Software
Standard Software
Assignment is done based on specialized teams that evolve over a
long time.
8. Systematic Task Allocation Evaluation in Distributed Software Development
Scenario of a Task Allocation Decision Problem
Captive Offshoring –> Custom Software
Custom Software
1 Tasks are allocated based on availability of resources.
2 There are multiple influencing factors like cost, expertise,
proximity to customer etc.
3 Mainly, the aim is to reduce the cost of development.
9. Systematic Task Allocation Evaluation in Distributed Software Development
Task Allocation Scenario
Task Allocation Scenario
GlobalSoft is a large European based company.
Develops individual software products for customers in
Germany and UK.
Its main development centers are located in Frankfurt and
Cologne, Germany and smaller subsideries in London to be
close to its British customers.
Recently opened a site in Bangalore..!! Why..?
10. Systematic Task Allocation Evaluation in Distributed Software Development
Task Allocation Scenario
Task Allocation Scenario contd..
Now, they have a customer BigIndustries located in London.
The old projects were developed at London, Frankfurt and
Cologne.
But now, there is also a possibility to assign some work to
Bangalore.
The design and architecture has already been developed and
they want to distribute the development work.
11. Systematic Task Allocation Evaluation in Distributed Software Development
Approach
Approach Overview
Goal 1 : Identify the project specific influencing factors for a
task allocation decision and their impact.
Goal 2 : Evalvate the possible task allocation alternatives
according to the project specific influencing factiors.
12. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Define Viewpoint
Define Viewpoint
Decide who should be making the decisions.
.
Scenario : At GlobalSoft, the task allocation is done by the
responsible project manager. He was also incharge of the previous
projects of BigIndustries (and the customer was happy :) )
13. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Define Context
Define Context
Define the input for the task allocation decision
.
Scenario : The context of the project is developed as shown.
14. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Define Focus
Define Focus
What is the criteria of the evaluation...? Cost..? Quality..? or
something else..?
.
Scenario : At GlobalSoft, the only criterion is the total
development costs. But, how do we define this ”Development
cost”..?
15. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Define Variation Factors
Define Variation Factor
Variation factors are all those factors that have an
allocation-dependent influence on the evaluation criterion.
.
Scenario : The variation categories were identified as:
1 Site characteristics: Analyst capability, programmer capability,
language and tool experience, personnel continuity, customer
proximity.
2 Site dependencies : Cultural dependencies, time-zone
differences
3 Task characteristics : Size
4 Task dependencies: Coupling
5 Task-site dependencies : Application experience, platform
experience
16. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Define Baseline
Define Baseline
The goal of this step is to define the baseline for scuccess measures.
Its on what basis you would decide to allocate the tasks..??
.
Scenario : GlobalSoft uses COCOMO II model to establish a
baseline.
17. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Define Impact of Variation Factors
Define Impact of Variation Factors
In this step, the impact of every variation factor on every criterion
in focus is evaluated.
.
Scenario : GlobalSoft uses a CoBRA approach for cost estimation.
18. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Assess the Variation Factors
Assess the Variation Factors
For all tasks and sites identified, the values of the variation factors
are now assessed for the project in hand.
.
Scenario : The project manager assesses all the factors and print
them into an excel model.
19. Systematic Task Allocation Evaluation in Distributed Software Development
Process Steps
Evaluate Assignment alternatives
Evaluate Assignment alternatives
Finally every possible assignments can now be evaluated using the
results from the previous steps.
.
Scenario : The manager proposes 3 alternatives:
1 Assign all the work to Europe
2 Assign testing work to India
3 Assign everything to India
20. Systematic Task Allocation Evaluation in Distributed Software Development
Assumptions made in the paper
Assumptions made in the paper
In the paper, the author makes assumptions based on an optimistic
scenario.
.
In real world all necessary information about the relavent
influencing factors and their impact are not available in a
quantified form.
.
The selection of total development cost as the only criterion may
have made the numbers but this doesn’t happen in the real world.
.
The available knowledge is never quantifiable.
.
It also assumes high degree of freedom in task allocation decision.