Towards Scrum Based Agile Framework for Global Software Development Teams

Organizations are moving their workforce to guarantee matters of trade and profit where accounts are expected to be less expensive and provide better quality products with the accessibility of skilled labor. With the evident benefits, distributed teams often face challenges with reliable and efficient communication-coordination patterns that lead towards project failure. In the rapidly growing software industry, it becomes critical for any business to have better management activities to acquire right processes and practices. Agile methods are considered as a remedy for mitigating distributed teams’ challenges, with their consistent focus on communication. Here, we intend to propose a tailored Scrum based solution for distributed teams that empowers anticipated communication and coordination throughout the development process. In the first phase of framework development we have evaluated the state of agile practices from both literature and industry; based on collected evidence and suggestive guidelines a scrum based agile framework was formulated. The Scrum is a project management method in Agile Methods family. Scrum is an iterative process that asks for incremental development of the product, includes cross functional development and testing teams. Evaluation results show that the proposed framework contributes positively to improve development process quality. We have performed theoretical as well as empirical evaluation to validate proposed framework. We have eight project managing rising aspects in DSD (Distributed Software Development) to evaluate the proposed framework.


INTRODUCTION
S ystem engineering is a set of activities, from planning to development performed by a group of people in collocated as well as in distributed settings. In Collocated development, all the team members are placed in one building or in an office where they can interact and communicate with each other to achieve a target. In contrast, DSD has team members dispersed at different geographical places and work together to achieve a goal. DSD has become the need of time to access global market, which helps to acquire required system resources in less cost with a higher productivity rate [1][2].

Towards Scrum Based Agile Framework for Global Software Development Teams
In today's global economy, most of the development companies have shifted towards the DSD and are continuously growing with time. However, despite the benefits it provides, it also brings numerous difficulties such as, physical separation, lack of project visibility, dialect separation, and loss of correspondence that causes unsatisfied clients and leads to project failure [3].
Many of the DSD problems have communication issues at their core because of the geographical distance.
Communication could be an issue even when the teams are distributed in the same region and increases difficulties when there are time zones differences, language barriers, and cultural differences [4]. To deal with the increased risk, distributed teams must monitor the development process closely [5].
Agile methodology is an alternative to traditional software development approaches that empowers teams to develop quality product on time and within budget [6]. Agile teams follow incremental and iterative methodology by focusing on creating and delivering product features in a short period. Agile methodologies are supplanting traditional plan-driven software development methods [7]. Agile methods focus more on development activities instead of detailed documentation, develop several small versions of the same product in short cycles. The customer then reviews developed application and provides feedback to improve the system features. This helps to produce high quality products in distributed paradigm [8][9].
Agile methods have already been in-practice to develop high quality software products in collocated software development successfully. But agile practices should be tailored accordingly to integrate within the distributed settings because they are primarily being applied for small collocated teams rather than distributed teams [10][11].
Here we have proposed an integrated framework for distributed setting by tailoring the most frequently applied agile methodology i.e. Scrum to utilize benefits and suggested strategies for higher product quality.
DSD is the development of software in situations where stakeholders are dispersed at various geographical locations. It is becoming widely acknowledged in the software industry [13]. DSD offers numerous benefits in software industries like cost reduction, access of high quality works over the fringe accessibility of staff to perform development round the clock, closeness to the market and clients. Regardless of the benefits in DSD, it has also created several inherited challenges for practitioners and analysts, like topographical separation, time zone contrast, social distinction, administration, and group building issues that lead to the communication, coordination, control, team management, knowledge management, development and system integration problems [4,[12][13][14][15][16][17][18][19][20]. The measures should be taken to manage and mitigate these issues by monitoring the system development closely [5]. Project managers should support the project development process by ensuring project visibility, to improve product quality, motivate team members and to try to establish better communication patterns to optimize interaction between stakeholders which improves team capability [1].
Agile, is a lightweight people-oriented rather than planoriented software development, comprising of distinctive philosophies focused around iterative and incremental techniques where requirement advances throughout the development process [14,21]. Agile methods are constantly gaining popularity because of its continuous change management approach in the development process [17,22], and it follows the values and principles that encourage anticipated communications throughout the developmental process that increases the project success rate. Last of all, section 6 addresses the future work.

RELATED WORK
The purpose of this section is to produce literature evidence for the successful integration of agile methods in distributed environments to improve software quality.
An analysis of literature by Sriram on agile procedures and GSD shows that there were a range of techniques presented using agile procedures, which were integrated, combined and tailored correctly for optimal productivity [31]. A systematic literature review [1] concluded that agile practices could be used in a distributed setting more effectively by adding suitable strategies to support GSD teams. The GSD services and resources are used throughout the world due to higher software qualities e.g. America, Sweden while DSD utilize the resources and services within country from all over the cities.

MATERIALS AND METHOD
After the review of prior work dealing with DSD challenges we present and propose a framework to improve software development in DSD using scrum. At the end, a case study is conducted to evaluate the proposed framework.

Scrum Based Agile Framework
In the SBAFe (Scrum Based Agile Framework), the overall process is divided into on-site and off-site project teams.
On-site team manages planning for the project for the forthcoming sprint(s) and provides technical and supervisory help for distributed teams as shown in Fig. 1.

Towards Scrum Based Agile Framework for Global Software Development Teams
The framework is divided into planning, development and integration phase. Planning would be an on-site activity, as development will be at multiple distributed sites.

Framework Composition (Framework Roles, Activities and Artifacts)
Framework roles, practices and artifacts are listed in   Whereas, traditional software development has no acceptance packages and progress-maintained report for synchronization of project development.

Practices
Scrum meetings are important for each team member to remain informed about project status and changes relevant to his/her projects or parts.
In our proposed approach, product planning meeting is attended by the PO, PSM and product planning/ management team. The PO describes the product features

Evaluation
To validate proposed framework we have selected seven project management success factors in distributed settings to evaluate the proposed framework. These success factors were identified during the literature study [22,25,[33][34][35][36]. For evaluation of our framework we used different methods as described in Table 1.

FIG. 5. DISTRIBUTED TEAMS WITH OVERLAPPING WORK HOURS
The complete detail and discussion of these methods we describe in the next section.

RESULTS AND DISCUSSION
We have performed theoretical as well as empirical evaluation to validate propose framework and there details are as follow.   The results were based on the stakeholders' satisfaction with project visibility, team capability, product quality, team Interaction, coordination, and productivity in the distributed context.
The company applies the proposed framework along with the proposed strategies for temporal distance to mitigate the risk associated with project management.  The overall estimation revealed that our framework is useful in enabling listed success factors related to the geographical distribution of projects. Therefore, the overall evaluation results that our framework outperform from traditional DSD methods as well from XP and lean development method. DSD has converted a common business reality.
Additionally, recent business dynamics entail to develop systems rapidly. The results of these foremost trends, software companies have been motivated to combine agile and DSD to obtain aids of both.
Literature analysis highlighted the positive aspects of agile practices of continuous communication between stakeholder and multi-sites teams. Iterative development makes it easier for applicants with short-term aims. Sprint reviews also are very effective in improving communiqué as it aids stakeholders to share data approximately tasks and interdependency of requirements. Due to amplified communiqué and teamwork there is an enhancement in the software quality and team motivation [29].
The proposed framework is included on-site as well offsite activities. The reason of dividing the project activities in on-site and off-site is to reduce the planning issues that need direct communication between stakeholders.
In fact, planning process gives a solid understanding of the process and help to accomplish something that is required to develop. Due to mentioned distances in DSD, it needs to have a detailed project planning meeting with essential stakeholders on-site. This could lead to the successful execution of the process that includes agile based requirements engineering practices, budget and cost estimation, resource allocation and required scheduling of team activities.
At the PB refinement meeting, user stories were broken down into small manageable tasks, with minimum task interdependencies, so when these tasks were distributed among teams for the development, integration issues would be minimized.
Off-site phase includes the multiple test and development team with defined activities, which follows the on-site scrum process to deliver sprint goals. ICT mediated SoS meeting could be helpful in establishing a communication between on-site management and off-site development teams. Progress reports and updates were shared with each other to improve project visibility and inter-team coordination.
On completion of each sprint multiple team's deliverable forwarded to the on-site management teams to perform integration testing. After this, ICT mediated, joint review and retrospective meetings were arranged to refine the sprint process.

CONCLUSION
This paper presents a framework that integrates and extends the theoretical concepts of DSD projects, their success and agile practices, showing how they mutually support each other. As DSD becomes the benchmark for cost-effective development, despite all the benefits, it faces many challenges that increase the project failure rate. On the other hand, agile becomes a de facto in developing quality products in collocated environments.
Here we have designed a framework for the distributed team to mitigate most of the faced challenges in distributed environments. The basic idea behind this research is to integrate the effectiveness of the agile practices in the distributed environment.
Defined roles in framework help to increase inter-team communication activities and overall team coordination.
Artifact sharing, and regular updates would help to improve project, team productivity and process quality.
After evaluation of the framework discussed within this section, our assessment is that distributed agile does work. Because of this, stretching out Agile to dispersed groups is possible in a manner that remains true to the values and principles of Agile.

FUTURE WORK
The motivation behind this investigation was to develop better understanding and provide guidance that agile performs in the distributed situations more effectively. It would be helpful in the ongoing development of a complete automated management process for DSD.