Systematic Task Allocation Evaluation in Distributed Software Development




                     Systematic Task Allocation Evaluation
                      in Distributed Software Development




                                               October 16, 2012
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.
Systematic Task Allocation Evaluation in Distributed Software Development
  Introduction




Why we need a Systematic Task Allocation




          1      Impact factors
          2      Constraints
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
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..
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
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.
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.
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..?
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.
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.
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 :) )
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.
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”..?
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
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.
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.
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.
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
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.
Systematic Task Allocation Evaluation in Distributed Software Development
  Thank You




                                          Thank You

Gsd systematic task allocation evaluation in distributed software development

  • 1.
    Systematic Task AllocationEvaluation in Distributed Software Development Systematic Task Allocation Evaluation in Distributed Software Development October 16, 2012
  • 2.
    Systematic Task AllocationEvaluation 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 AllocationEvaluation in Distributed Software Development Introduction Why we need a Systematic Task Allocation 1 Impact factors 2 Constraints
  • 4.
    Systematic Task AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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 AllocationEvaluation 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.
  • 21.
    Systematic Task AllocationEvaluation in Distributed Software Development Thank You Thank You