A Critique on Task Allocation Processes in Distributed Agile Software Development - Ijaz, Farah; Aslam, Waqar; AlSanad, Abeer Abdulaziz; Aslam, Zahid; Ullah, Insaf; ullah, Fazl (Scientific programming, 2022)
Distributed agile software development is implemented to tackle the increasing competition and changing requirements of the software industry. It inspires the development of emergent software applications and supports user satisfaction with fast delivery to market at low cost. Distributed software development presents a complex distributed team structure of the software industry having various workplaces. Distributed agile software development requires effective and well-organized decisions during task allocation. Task allocation is a challenging activity across the spectrum of committed software developers in a distributed environment. Effective task allocation under the pressure of achieving project objectives is a complex management problem in distributed agile software development. Task allocation process is proposed to support effective task allocation in distributed agile software development. Firstly, we identify different aspects of the task allocation context to explore the basic requirements of decision-making in DASD. Based on the information related to the identified aspects, different types of process activities are defined; those should be fulfilled to support the task allocation decisions. Task allocation process during software project planning requires comprehensive information about various factors that influence decision-making. The proposed task allocation process is evaluated based on the process activities. None of the current state-of-the-art research works focus on an approach for task allocation that completely fulfills all activities related to high-level processes or low-level processes. We fill this gap by identifying, classifying, sequencing, and proposing these activities that can be used to realize a methodical approach for a generic task allocation process in a distributed agile software development setup.