Task Allocation in Distributed Software Development ...

5 downloads 10526 Views 529KB Size Report
by a company when allocating tasks in distributed software development pro- jects. Keywords: Distributed Software Development, Task Allocation, Verbal Deci-.
Task Allocation in Distributed Software Development aided by Verbal Decision Analysis Marum Simão Filho1,2, Plácido Rogério Pinheiro1, Adriano Bessa Albuquerque1 1

University of Fortaleza, Fortaleza, Brazil {marum,placido,adrianoba}@unifor.br 2 7 de Setembro College, Fortaleza, Brazil [email protected]

Abstract. One of the most critical activities in distributed project management is the allocation of tasks between remote teams. In Distributed Software Development projects, to allocate a task for a team in any of the locations, several factors need to be considered, such as team maturity and time zone difference between the sites. Decide which task to allocate for each team constitutes a decision-making task. This decision is usually performed subjectively. The verbal decision analysis is an approach based on solving problems through multicriteria qualitative analysis, that is, takes into account the analysis of subjective criteria. This paper describes the application of a verbal decision analysis methodology called ORCLASS to classify the most relevant factors to be considered by a company when allocating tasks in distributed software development projects. Keywords: Distributed Software Development, Task Allocation, Verbal Decision Analysis, ORCLASS.

1

Introduction

Distributed Software Development (DSD) is an increasingly approach adopted by software development companies. The expansion of business into new markets, the need to expand the capacity of the workforce and cost reduction perspective are some of the causes of the increasing number of distributed software development projects [19]. On the other hand, the distribution brings many challenges, such as language differences, time zone differences and increased complexity of coordinating and controlling the project. [17] The allocation of tasks is a critical activity for project planning. This allocation becomes, even more, complex in a distributed context where we must consider factors inherent to distribution [16]. The allocation of tasks among remote teams can be seen as a fundamental activity for the success of a distributed project. However, this activity is still a major challenge in the global software development due to limited understanding of the factors that influence task allocation decisions [3]. We are facing a decision-making problem. Decide which task allocated for each team is configured as one of the most critical activities of the project manager, adfa, p. 1, 2011. © Springer-Verlag Berlin Heidelberg 2011

especially if the project is distributed. Typically, this decision is made by the project manager based on their experience and knowledge about the project and the teams involved. We mean that a high degree of subjectivity is present in decision making. Verbal decision analysis (VDA) is an approach based on the multicriteria problem solving through its qualitative analysis [7], this is, the methods of the VDA consider the criteria’s subjectivity. This paper describes the application of a VDA methodology to select the most relevant factors to be considered by a company when allocating tasks in distributed development projects software. Expert interviews were conducted to identify the criteria and the criteria values. Then a questionnaire was designed and applied to a group of project managers to characterize each factor through the criteria and criteria values. The ORCLASS method was then applied to divide the factors into groups. The rest of the paper is organized as follows: Section 2 deals with issues involving task allocation in distributed software development. Section 3 provides a brief description of the verbal decision analysis framework. Section 4 describes the application of ORCLASS to aid the selection of the most important factors on task allocation in DSD. Section 5 discusses the results of our work. Finally, in Section 6, the conclusions and suggestions for further work are provided.

2

Task Allocation in Distributed Software Development

Distribute development tasks within the global software development carry many risks and many opportunities. Today, distributed development is often driven by a few factors, or even just a single factor, such as labor costs. Risks and other relevant factors such as the skills of the workforce, the potential of different regions innovation, or cultural factors are often insufficiently recognized [4]. Many studies about the allocation of tasks in DSD have been carried out along the years. Lamersdorf et al. [5] conducted a survey on the state of practice in DSD in which they investigated the criteria that influence task allocation decisions. Lamersdorf and Münch [3] presented TAMRI (Task Allocation based on Multiple cRIteria), a model based on multiple criteria and influencing factors to support the systematic decision of task allocation in distributed development projects. They enumerated some criteria for allocation of tasks in the development of standard and customized software. Ruano-Mayoral et al. [20] presented a methodological framework to allocate work packages among participants in global software development projects. They claim that the allocation of work packages among the participants of the project is not a simple task. Traditionally, this allocation has been made based on availability and competence, but the distribution introduces complexity in a process that is already complex. Besides, they pointed out several factors, with their respective metrics, that influence the allocation of tasks in DSD environments. Simão Filho et al. [21] conducted a quasi-systematic review of studies of task allocation in DSD projects that incorporate agile practices. The study brought together a number of other works, allowing establish the many factors that influence the alloca-

tion of tasks in DSD, which we can highlight: technical expertise, expertise in business, project manager maturity, proximity to client, low turnover rate of remote teams, availability, site maturity, personal trust, time zone, cultural similarities, and willingness at site.

3

Verbal Decision Analysis

Decision-making is an activity that is part of people's and organizations’ lives. A wrong decision can lead to undesirable situations, such as financial losses and the waste of time. Therefore, it is an activity of great importance. In most problems, to make a decision, a situation is assessed against a set of characteristics or attributes, also called criteria. Decision making based on various criteria is supported by multi-criteria methodologies [2]. The multi-criteria methodologies support the decision-making involving the analysis of objects from different points of view. These methodologies favor the generation of knowledge about the decision context, which helps to raise the confidence of the decision maker [1][29]. The verbal decision analysis is an approach to solve multicriteria problems through qualitative analysis [7]. That is, the VDA methodologies consider that most decisionmaking problems can be qualitatively described. In other words, the VDA supports the decision-making process through the verbal representation of problems [12][18][23, 24, 25, 26 and 27] The VDA methodologies can be used for ordering or sorting alternatives. According to [8], the VDA methodologies for classification can be used to sort the possible alternatives of a decision problem in ordered or unordered groups. Among them, we can mention ORCLASS, SAC, DIFCLASS, and CYCLE methodologies [28]. Fig. 1 shows VDA classification methods. 3.1

The ORCLASS Method for Classification

The ORCLASS method [8] aims at classifying the alternatives into ordered decision groups, which are predetermined on the problem formulation stage. The first stage of problem’s formulation, the set of criteria, criteria values, and the decision groups are defined. The criteria values must be sorted in an ascending order of preference (from most preferable to least). Then, the construction of the classification rule will be carried out based on the decision maker’s preferences. We use the same concepts presented in [8], based on which a classification task is presented as a set of boards. Each cell is composed of a combination of values for each criterion defined for the problem, which represents a possible alternative to the problem [15]. More information about the ORCLASS method is available in [8]. In the order to facilitate the decision-making process using a tool called ORCLASS (http://www2.unifor.br/OrclassWeb) and perform it consistently, by observing its rules and aiming at making it accessible, a tool was developed and is available for use through the Internet [13]. ORCLASSWEB tool was proposed to automate the

comparison process of alternatives and to provide the decision maker a concrete result for the problem, according to ORCLASS definition [14]. Other applications of the ORCLASS method can be found in [2], [11 and 15].

Fig. 1. Verbal Decision Analysis Methods for Classification (adapted from [22])

4

The Case Study

4.1

Bibliography Research to Find out the Influencing Factors

First, we conducted a literature research in order to identify the main influencing factors that should be considered when allocating tasks in distributed software development projects. Table 1 shows the factors found as a result of our research and which work as the alternatives to our decision problem. Table 1. Influencing Factors on Task Allocation in DSD Projects. ID Factor1

Alternatives Technical expertise

Factor2

Expertise in business

Factor3

Project manager maturity

Factor4

Proximity to client

Factor5

Low turnover rate

Factor6

Availability

Factor7

Site maturity

Factor8

Personal trust

Factor9

Time zone

Factor10

Cultural similarities

Factor11

Willingness at site

4.2

Interview with the Experts To Define Criteria and Criteria Values

After that, we interviewed a group of 4 project management experts to define the criteria and the criteria values. This is the criteria definition stage. For each criterion, we establish a scale of values associated with it [10, 11 and 26]. The criteria values are ordered from the most preferable value to the less preferable one. The list of criteria and criteria values for the problem of selecting the most important factors to be considered on task allocation in DSD projects is as follows: 1. Criterion A: Facility for carrying out the task remotely, i.e, how much easier it becomes to implement the remote task if the factor is present. • A1. It facilitates much: The implementation of the remote task is much easier if the factor is present. • A2. It facilitates: The implementation of the remote task is easier if the factor is present. • A3. Indifferent: The presence of the factor is indifferent to the implementation of the remote task. 2. Criterion B: Time for the project. • B1. High gain: The presence of the factor can cause much reduction of the period referred to perform the task. • B2. Moderate gain: The presence of the factor may cause some reduction of the time limit for performing the task. • B3. No gain: The presence of the factor does not cause changes to the deadline to execute the task. 3. Criterion C: Cost for the project. • C1. High gain: The presence of the factor can cause a lot of cost reduction expected to perform the task. • C2. Moderate gain: The presence of the factor may cause some reduction of the time limit for performing the task. • C3. No gain: The presence of factor induces no change compared to the estimated cost to perform the task. 4.3

Survey with the Project Managers to define alternatives, decision groups, and alternatives’ characterization

A questionnaire was created in order to gather information and opinions about the factors that influence the allocation of tasks in DSD projects. The questionnaire was applied via the Web to a group of 20 project managers and consisted of two parts. The first part aims to trace the respondent's profile about his professional experience and project management. The second part of the questionnaire seeks the views of experts on the factors that influence the allocation of tasks in projects distributed software development. For our problem, such influencing factors are described as alternatives. Thus, in every question, the professional analyzed the influencing factors considering a set of criteria and criteria values and selected which criterion value that most fit the factor analyzed. An example of question is as follows:

1.

Factor: Technical expertise – knowledge of the techniques, languages, frameworks, tools, APIs, etc. needed by the team to accomplish the task. (a) Criterion A: Facility for carrying out the task remotely ( ) A1. It facilitates much. ( ) A2. It facilitates. ( ) A3. Indifferent. (b) Criterion B: Time for the project ( ) B1. High gain. ( ) B2. Moderate gain. ( ) B3.No gain. (c) Criterion C: Cost for the project ( ) B1. High gain. ( ) B2. Moderate gain. ( ) B3.No gain. We did the same for the other ten factors. The responses were analyzed to determine the criteria values representing the alternatives. For each influencing factor, the final table was filled based on the responses of the majority of professionals. The value of the criteria that had the greatest number of choices was then selected to represent the alternative. Table 2 summarizes the responses to the questionnaire, showing the sum of responses and characterization of alternative according to the values of each criterion (represented in the “Final Vector” column). The bold numbers in gray cells in the table indicate the criteria values selected by most of the interviewed professionals to represent a certain factor. Table 2. Characterization of alternatives according to answers collected in the questionnaire.

Criteria/ alternatives

Facility for carrying out the task remotely

Time for the project

Cost for the project

A1

A2

A3

B1

B2

B3

C1

C2

C3

Final vector

Factor1

11

7

2

13

6

1

11

7

2

A1B1C1

Factor2

15

3

2

13

7

0

10

8

2

A1B1C1

Factor3

8

11

1

5

14

1

7

10

3

A2B2C2

Factor4

13

4

3

8

10

2

8

10

2

A1B2C2

Factor5

14

6

0

15

4

1

12

7

1

A1B1C1

Factor6

10

8

2

13

5

2

9

6

5

A1B1C1

Factor7

16

3

1

11

9

0

9

11

0

A1B1C2

Factor8

8

10

2

6

11

3

3

13

4

A2B2C2

Factor9

3

12

5

3

8

9

3

6

11

A2B3C3

Factor10

4

13

3

3

10

7

3

8

9

A2B2C3

Factor11

10

8

2

10

8

2

9

6

5

A1B1C1

We emphasize that the various answers were given by professionals, considering they have experienced project managers, are related to the fact that they have different professional backgrounds. Thus, the characterization of a particular factor was based on answers given by most professionals. The decision groups are defined as follows: • Group I: The first group was chosen to classify the influencing factors that will be selected after the application of ORCLASS to be most considered by project managers when they need to allocate a task to a remote team (preferable factors);



4.4

Group II: The second group will contain the set of influencing factors that should be less considered by project managers when they need to allocate a task to a remote team (not preferable factors). The ORCLASS Method Application

The ORCLASS method application was aided by ORCLASSWEB tool, which was divided into four stages: 1. Criteria and criteria value definition. 2. Alternatives definition. 3. Construction of the classification rule. 4. Presentation of results obtained. The problem’s criteria were introduced into the ORCLASSWEB tool. In this step, the user specifies the criteria name and its possible values. The tool allows the user to insert all the necessary criteria, as shown in Fig. 2. Next, the problem’s alternatives were introduced into the ORCLASSWEB tool. The tool allows the user to inform the alternative name and its representation in criteria values, according to the criteria defined in the previous step (and column “final vector” in Table 2).

Fig. 2. Entering criteria through the Criteria Definition Interface.

The construction of the classification rule was made by using the ORCLASSWEB tool. The tool calculates which would be the next question to be answered by the decision maker according to the ORCLASS method’s rules for the selection of the most informative alternative. In this step, we had the support of an experienced project manager to answer the questions to classify the alternatives. The classification rule is

completed based on the decision-maker choices. In the end, the complete classification of the alternatives is processed by the ORCLASSWEB tool.

5

Results

The ORCLASSWEB tool selected the following factors as the most important ones that should be considered by a project manager when allocating tasks in a distributed software development project, by analyzing the alternatives classified by the ORCLASS method: Factor1. Technical expertise, Factor3. Project manager maturity, Factor4. Proximity to the client, and Factor7. Site maturity.

6

Conclusion and Future Works

For large software development projects, working with distributed teams has been alternative increasingly present in large companies. However, the distribution brings many questions, particularly concerning the allocation of tasks between remote teams, since there are many factors that should be considered. Typically, this is a multicriteria decision-making problem that involves subjective aspects. The verbal decision analysis methods support decision making through multi-criteria qualitative analysis. The main contribution of this work was to apply the VDA ORCLASS method to select the most important factors that project managers should consider when allocating tasks among distributed teams. A tool called ORCLASSWEB, which allowed developing the case study in a fast and practical way, supported this work. In order to identify the factors, criteria and criteria of values to be used in the ORCLASS method, previously, we conducted interviews and applied questionnaires to project management experts groups. As future work, we intend to evolve this research by working on a hybrid model joining ORCLASS to ZAPROS method in order to provide an ordering rank of the preferable alternatives (factors). The application of the factors result of this research on real projects would be useful to validate the model, and this could be an important future work. Also, we intend to apply VDA to help select which team should be given a specific task from analysis of job and teams characteristics. Acknowledgments. The first author is thankful for “Coordination for the Improvement of Higher Level-or Education- Personnel” (CAPES) and 7 de Setembro College for the support received from this project. The second author is grateful to National Counsel of Technological and Scientific Development (CNPq) via Grants #305844/2011-3. The authors would like to thank Edson Queiroz Foundation/University of Fortaleza for all the support.

References 1. Evangelou, C., Karacapilidis, N., Khaled, O.A., 2005. Interweaving knowledge management, argumentation and decision making in a collaborative setting: the KAD ontology model. International Journal of Knowledge and Learning 1, 1/2, 130–145. 2. Gomes, L.F.A.M., Moshkovich, H., Torres, A., 2010. Marketing decisions in small businesses: how verbal decision analysis can help. International Journal Management and Decision Making 11, 1, 19–36. 3. Lamersdorf, A. and Münch, J., A multi-criteria distribution model for global software development projects, The Brazilian Computer Society 2010. 4. Lamersdorf, A., Münch, J. and Rombach, D., Towards a Multi-Criteria Development Distribution Model: An Analysis of Existing Task Distribution Approaches, In: IEEE International Conference on Global Software Engineering, 2008, ICGSE 2008. 5. Lamersdorf, A., Münch, J. and Rombach, D., A Survey on the State of the Practice in Distributed Software Development: Criteria for Task Allocation, In Fourth IEEE International Conference on Global Software Engineering, 2009. ICGSE 2009. 6. Larichev, O.I., 2001. Ranking multicriteria alternatives: the method ZAPROS III. European Journal of Operational Research 131, 3, 550–558. 7. Larichev, O.I., Brown, R., 2000. Numerical and verbal decision analysis: comparison on practical cases. Journal of Multicriteria Decision Analysis 9, 6, 263–273. 8. Larichev, O.I., Moshkovich, H.M., 1997. Verbal Decision Analysis for Unstructured Problems. Kluwer Academic, Dordrecht. 9. Machado, T.C.S.: Towards the selection of project management approaches: an applicability of a hybrid model of verbal decision analysis. Master Thesis, Graduate Program in Applied Informatics, University of Fortaleza, Brazil (2012) 10. Machado, T.C.S., Menezes, A.C., Pinheiro, L.F.R., Tamanini, I., Pinheiro, P.R., 2010a. The selection of prototypes for educational tools: an applicability in verbal decision analysis. IEEE International Joint Conferences on Computer, Information, and Systems Sciences, and Engineering (2010a). 11. Machado, T.C.S., Menezes, A.C., Pinheiro, L.F.R., Tamanini, I., Pinheiro, P.R.: Applying verbal decision analysis in selecting prototypes for educational tools. IEEE International Conference on Intelligent Computing and Intelligent Systems, Xiamen, China, pp. 531– 535. (2010b) 12. Machado, T.C.S., Pinheiro, P.R., Albuquerque, A.B., de Lima, M.M.L., 2012. Applying verbal decision analysis in selecting specific practices of CMMI. Lecture Notes in Computer Science 7414, 215–221. 13. MACHADO, T. C. S., Towards Aided by Multicriteria Support Methods and Software Development: A Hybrid Model of Verbal Decision Analysis for Selecting Approaches of Project Management. Master Thesis. Master Program in Applied Computer Sciences, University of Fortaleza (2012) 14. Machado, T. C. S., Pinheiro, P. R., Tamanini, I., OrclassWeb: A Tool Based on the Classification Methodology ORCLASS from Verbal Decision Analysis Framework. Mathematical Problems in Engineering, v. 2014, Article ID 238168, 11 pages, 2014. DOI: 10.1155/2014/238168 15. Machado, T.C.S., Pinheiro, P.R., Tamanini, I., Project Management Aided by Verbal Decision Analysis Approaches: A Case Study for the Selection of the Best SCRUM Practices. International Transactions in Operational Research, v. 22, n. 2, p.287-312, 2014. DOI: 10.1111/itor.12078

16. Marques, A. B., Rodrigues, R., and Conte, T., Systematic Literature Reviews in Distributed Software Development: A Tertiary Study, In ICGSE 2012: 134-143. 17. Marques, A. B., Rodrigues, R., Prikladnicki R. and Conte, T., Alocação de Tarefas em Projetos de Desenvolvimento Distribuído de Software: Análise das Soluções Existentes, II Congresso Brasileiro de Software, V WDDS – Workshop de Desenvolvimento Distribuído de Software, São Paulo, 2011. 18. Mendes, M.S., Carvalho, A.L., Furtado, E., Pinheiro, P.R., 2009. A co-evolutionary interaction design of digital TV applications based on verbal decision analysis of user experiences. International Journal of Digital Culture and Electronic Tourism 1, 312–324. 19. Miller, A. Distributed Agile Development at Microsoft patterns & practices, Microsoft patterns & practices, 2008. 20. Ruano-Mayoral, M., Casado-Lumbreras, C., Garbarino-Alberti, H. and Misra, S., Methodological framework for the allocation of work packages in global software development, In Journal of Software: Evolution and Process, J. Softw. Evol. and Proc. (2013) 21. Simão Filho, M, Pinheiro, P.R., Albuquerque, A.B, Task Allocation Approaches in Distributed Agile Software Development: A Quasi-systematic Review. In: 4th Computer Science On-line Conference 2015, 2015, Zlín. Proceedings of the 4th Computer Science Online Conference 2015 (CSOC2015), Vol 3: Software Engineering in Intelligent Systems, 2015. v. 3. p. 243-252. 22. Tamanini, I, Hybrid Approaches of Verbal Decision Analysis Methods, Doctor Thesis, Graduate Program in Applied Informatics, University of Fortaleza (2014) 23. Tamanini, I., Carvalho, A.L., Castro, A.K.A., Pinheiro, P.R., 2009a. A novel multicriteria model applied to cashew chestnut industrialization process. Advances in Soft Computing 58, 1, 243–252. 24. Tamanini, I., de Castro, A.K.A., Pinheiro, P.R., Pinheiro, M.C.D., 2009b. Towards an applied multicriteria model to the diagnosis of Alzheimer’s disease: a neuroimaging study case. 2009 IEEE International Conference on Intelligent Computing and Intelligent Systems, Vol. 3, pp. 652–656. 25. Tamanini, I., de Castro, A.K.A., Pinheiro, P.R., Pinheiro, M.C.D., 2011. Verbal decision analysis applied on the optimization of Alzheimer’s disease diagnosis: a study case based on neuroimaging. Advances in Experimental Medicine and Biology 696, 555–564. 26. Tamanini, I., Machado, T.C.S., Mendes, M.S., Carvalho, A.L., Furtado, M.E.S., Pinheiro, P.R., 2008. A model for mobile television applications based on verbal decision analysis. Advances in Computer Innovations in Information Sciences and Engineering 1, 1, 399– 404. 27. Tamanini, I., Pinheiro, P.R., 2008a. Challenging the incomparability problem: an approach methodology based on ZAPROS. Modeling, Computation and Optimization in Information Systems and Management Sciences, Communications in Computer and Information Science, 14, 338–347. 28. Tamanini, I., Pinheiro, P.R., 2008b. Applying a new approach methodology with ZAPROS. XL Simpósio Brasileiro de Pesquisa Operacional, João Pessoa, Brazil. XL Simpósio Brasileiro de Pesquisa Operacional, pp. 914–925. 29. Tamanini, I., Pinheiro, P.R., 2011. Reducing incomparability in multicriteria decision analysis: an extension of the ZAPROS method. Pesquisa Operacional 31, 2, 251–270.

Suggest Documents