Journal of Software Engineering and Applications
Vol.7 No.8(2014), Article ID:48108,6 pages DOI:10.4236/jsea.2014.78064

Requirement Change Management in Global Software Environment Using Cloud Computing

Saiqa Bibi, Yasir Hafeez, Muhammad Shabbir Hassan, Zartasha Gul, Huma Pervez, Irfan Ahmed, Saira Mazhar

PirMehar Ali Shah, Arid Agriculture, University Institute of Information Technology, Rawalpindi, Pakistan

Email: saiqa_hani@yahoo.com, yasir@uaar.edu.pk, Shabbir.hassan@uaar.edu.pk, zartasha.gul88@gmail.com, humapervezakhtar@hotmail.com, slow59@yahoo.com, saira.m.hussain@gmail.com

Copyright © 2014 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received 14 May 2014; revised 14 June 2014; accepted 8 July 2014

ABSTRACT

The successful implementation of any software project depends upon the requirements. Change in requirements at any stage during the life cycle of software development is taken as a healthy process. However, making out this change in a co-located environment is somewhat easier than the distributed environment where stakeholders are scattered at more than one location. This raises many challenges i.e. coordination, communication & control, managing change effectively and efficiently and managing central repository. Thus, cloud computing can be applied to minimize these challenges among the stakeholders. We have used a case study to evaluate the framework using cloud computing.

Keywords:Challenges of Requirement Change Management, Role of Cloud Computing in GSD, Benefits of Cloud Computing

1. Introduction

Software requirements are the services provided by users or clients that reflect the needs of stakeholders. Requirements are created from the way people actually work in application domain. Requirement Engineering (RE) process consists of eliciting, analyzing, specifying, validating and managing requirements. The main purpose of Requirement Engineering is to satisfy the end user or client by provide minimum cost and time [1] . Requirement Engineering (RE) processes consists of two phases: Requirement development and Requirement management [2] . Accommodating changes in requirement is a part of requirement management. A change is described as somewhat that might need work to be done: developing new description, filling out requirement management related forms, getting rid of bugs from software [2] .

Requirement Change Management is an important phase of Requirement Engineering. It plays an important role in the production of any software development. Main reasons of changes in software requirement are functionality enhancement, changes in customer requirements, revealing requirements, plan changing, excluding requirements, removing imitation and change in management plan [3] .

Change management is easy and simple in co-located environment but it becomes complex when someone is performing development in GSD environment where a number of stakeholders are involved [2] . In Global Software Development (GSD), software is developed from distributed locations geographically where different people are connected from many countries worldwide [4] . Its benefit of lower costs and access to global ability are some of the factors which have progressively led GSD more famous; many organizations consider GSD as a superior solution [4] . In GSD teams are geographically distributed consequently numerous problems crop up [5] .

The basic GSD factors that affect requirement management are coordination, communication, control, difference in culture and time zone, language barrier, development location, lack of central repositories and managing change efficiently and accurately [2] . There are different methodologies used to tackle Global Software Development challenges; cloud computing is one of them.

Cloud computing is an internet based computing standard in which resources like software, hardware, and information are shared on the demand of endorser. In cloud computing resources can be shared and controlled swiftly with least effort [6] .

The purpose of this research is to identify risks of Requirement Change Management in GSD environment and provide their solution by using cloud computing framework for resolving and managing software Requirement Change Management issues.

2. Literature Review

In GSD environment development teams are dispersed geographically. It is very difficult to manage change in requirements when teams are distributed in global environment and multiple stake holders are involved to manage change. There are many issues that the development teams have to face to manage change in GSD environment. Communication risks, coordination and managing change efficiently and accurately are some of them.

The purpose of this research is to identify issues of Requirement Change Management in GSD environment and their possible solution with a critical review of the existing methodologies for resolving and managing software Requirement Change Management. The challenges related to managing change in GSD environment are as under:

2.1. Communication, Coordination and Control

In GSD, software requirements change and communication is an important activity [3] . Differences in cultures and time zones adversely impact communication and coordination processes due to development teams are in different geographical locations. So, the frequency of coordination, communication and belief among development teams reduces [3] [4] [7] . Teams share and exchange a large amount of information during communication and in distributed environment it leads to several challenges which create misunderstanding among the teams.

In GSD, the communication issue and RCM are given very little effort as compared to the centralized software development system [3] . The solution of coordination, communication challenge should necessarily be resolved [8] [9] .

2.2. Lack of Shared Repositories for Storing Requirements

The existence of social, temporal, cultural, lingual and geographical differences not only impacts the communication process in GSD, but also launches challenges for development teams in setting up and handling shared repositories for requirements. There is a common place for different development teams in these repositories to record and exchange the details of project with other teams. While the founding and management of these repositories seem to be a easy process, due to different processes and standards of software development, data recorded by one team often befalls incompatible with data recorded by other teams, and therefore cannot be effectively used for requirements tracking and additional development processes [2] . It is essential to make a common repository that should be accessible to all members of the teams when teams are at different locations [2] .

2.3. Lack of Managing Change Efficiently and Accurately

The requirement organization is one of the key challenges and it raises many issues when teams are dispersed and try to meet the expectations of user. When development team does not facilitate the clients request completely the project becomes worthless for the client. Mostly requirement management model used for co-located software projects and does not have enough capability to accommodate requirements accurately for distributed software projects. It results into excessive cost, schedule slips and most of the projects fail [2] .

3. Propose Work

There are different methodologies used to tackle Global Software Development challenges. Cloud computing is one of them. We propose a framework to resolve these different issues using cloud computing shown in Figure 1.

3.1. Cloud Computing

Cloud computing is a standard based on Internet computing in which different resources like hardware, software and information are shared on the demand of subscribers. In cloud computing resources can be shared and controlled swiftly with least effort [6] .

Cloud computing offering many benefits some of them are: No up-front investment [10] [11] , on demand self service [12] low operating cost, high scalability [13] , easy access, reducing business challenges and reducing maintenance cost [11] . Keeping in view benefits of cloud computing we use it for managing requirement change in GSD environment and it is evaluated that framework using cloud computing resolving the challenges of RCM mentioned above:

Ÿ Cloud computing basically offers efficient collaboration between geographically distributed teams during software development life cycle such as requirements, design, coding and testing. This resolves the communication and coordination issue.

Ÿ The cloud computing uses service models such as SaaS, PaaS and IaaS [14] . By using these cloud models information can be acquiescent, accessed, managed, analyzed, and delivered significantly and accurately among all cites.

Ÿ Cloud computing provides repository named as external cloud. External cloud holds all data related to managing change in requirements. The biggest advantage of cloud computing repository is that data can be accessed from anywhere and anytime by any authorize individual.

The proposed framework is based on facts collected from literature and commenced from industrial experts.

Figure 1. RCM-CC framework for GSD environment.

3.2. Description of Framework

The implementation of framework “Requirement Change Management Framework using Cloud Computing” (RCMF-CC) is performed in the context of a distributed development environment for Requirement Change Management the study reports the investigation of project, which used a cloud-based platform. Framework is composed of the different activities shown in Figure 1. This framework is proposed for the Requirement Change Management in GSD using cloud computing. This involves different roles and behaviors. Clients in the GSD environment communicate for the sake of change initiation request.

3.2.1. Change Request

The communication is held through different sites and leads to the initiation of change request.

3.2.2. Impact Analysis

Accurate understanding of the implications of a proposed change is necessary. When change request is arrived impact analysis of the change is done to observe the effect of this change on the product. Components that might have to be created, modified, or discarded are identified while performing impact analysis.

3.2.3. Evaluation & Decision

After analysis evaluation is performed to estimate the effort and cost associated with implementing the change. The feasibility of the initiated change is checked. On the basis of evaluation decisions are made. Vendor can have two possible choices after the evaluation phase. Whether the requested change is feasible and can be implemented or cannot be implemented. If the requested change is not feasible to implement than customer is acknowledge about the infeasibility of the change. Else change is implemented.

3.2.4. Change Moderator

Change moderator is a role in RCMF-CC. Applied changes are conveyed to CM (Change Moderator).

3.2.5. External Cloud (Cloud Repository)

In the last phase the changed data is sent to the cloud repository and client is acknowledged about the change. Cloud repository provides users with instant access to a wide range of resources.

4. Evaluation

We take a case study of a company X. Company X follows a typical process when changes are required. We implement our framework for managing change in GSD environment in this organization and then take the experts reviews. The expert feed back process was used in order to take opinions of RCM experts about the “Customer satisfaction”, “Conflict resolve”, “Continuous Integration”, “Impact on budget”, “Maintaining Repository”, “Rapid development” and “ease of use”. Expert panel includes a team leader who has 10 years of experience, software developer one has 5 years, project manager with 12 years of experience, change manager with 8 years of experience, QA team having 6 years of experience and RE engineer with 10 years of experience. The results of expert opinion with RCM-CC and without RCM-CC framework are shown in Table1

A graph of expert opinion is also shown in Figure 2 by using RCM-CC framework and graph without using RCM-CC framework is shown in Figure 3. It is clear that our proposed model is best for managing change in GSD environment.

Cloud computing framework is resolving all issues mentioned above and provides satisfaction on the certain parameters.

5. Conclusion

In this paper we have identified the issues during Requirement Change Management in Global Software Development environment. There are many ways to solve this problem but we have adopted cloud computing to solve the risks of Requirement Change Management. We propose framework using cloud computing. Then we implement our framework in an organization to evaluate the results. Cloud computing framework is resolving all issues mentioned above and provides satisfaction on the certain parameters. It is evaluated from the domain ex-

Figure 2. X software organization using RCM-CC framework.

Figure 3. X software organization without using RCM-CC framework.

Table 1. Expert reviews.

√ = Agree; O = Partially Agree; X = Not present.

perts in software industry and it give better satisfactory results as compared to other traditional methods used in Global Software Development environment.

References

  1. Asghar, S. (2010) Requirement Engineering Challenges in Development of Software Applications and Selection of Customer-off-the-Shelf (COTS). International Journal of Software Engineering, 1, 32-50.
  2. Hafeez, Y., Riaz, M., Asghar, S., Naz, H., Mushhad, S. and Gilani, M. (2012) A Requirement Change Management Framework for Distributed Software Environment. 7th International Conference on Computing and Convergence Technology (ICCCT), Seoul, 3-5 December 2012, 944-948.
  3. Khan, A.A., Basri, S. and Dominic, P.D.D. (2012) A Propose Framework for Requirement Change Management in Global Software Development. 2012 International Conference on Computer & Information Science (ICCIS), Kuala Lumpeu, 12-14 June 2012, 944-947. http://dx.doi.org/10.1109/ICCISci.2012.6297161
  4. Lai, R. and Ali, N. (2013) A Requirements Management Method for Global Software Development. AIS: Advances in Information Sciences, 1, 38-58.
  5. Khan, H., Ahmad, A., Johansson, C., Abdullah, M. and Nuem, A. (2011) Requirements Understanding in Global Software Engineering: Industrial Surveys. IPCSIT, 14, 167-173.
  6. Hashmi, S.I., Clerc, V., Razavian, M., Manteli, C., Tamburri, D.A., Lago, P. and Richardson, I. (2011) Using the Cloud to Facilitate Global Software Development Challenges. 2011 IEEE 6th International Conference on Global Software Engineering Workshop, Helsinki, 15-18 August 2011, 70-77. http://dx.doi.org/10.1109/ICGSE-W.2011.19
  7. Khan, A.A., Basri, S., Amin, F.E., Teknologi, U., Perak, T. and Studies, I. (2013) Communication Risks and Best Practices in Global Software Development during Requirements Change Management: A Systematic Literature Review Protocol. Research Journal of Applied Sciences, Engineering and Technology, 6, 3514-3519.
  8. Khatoon, A., Motla, Y. H., Azeem, M., Naz, H. and Nazir, S. (2013) Requirement Change Management for Global Software Development Using Ontology. 2013 IEEE 9th International Conference on Emerging Technologies (ICET), Islamabad, 9-10 December 2013, 1-6. http://dx.doi.org/10.1109/ICET.2013.6743519
  9. Khan, K., Khan, A., Aamir, M., Khan, M.N.A., Zulfikar, S., Bhutto, A. and Szabist, T. (2013) Quality Assurance Assessment in Global Software Development. World Applied Sciences Journal, 24, 1449-1454.
  10. Capilla, R., Duenas, J.C. and Krikhaar, R. (2012) Managing Software Development Information in Global Configuration Management Activities. Systems Engineering, 15, 241-254.
  11. Zhang, Q., Cheng, L. and Boutaba, R. (2010) Cloud Computing: State-of-the-Art and Research Challenges. Journal of Internet Services and Applications, 1, 7-18. http://dx.doi.org/10.1007/s13174-010-0007-6
  12. Carroll, M., Merwe, A. Van Der and Kotzé, P. (2011) Secure Cloud Computing Benefits, Risks and Controls. Information Security South Africa (ISSA), Johannesburg, 15-17 August 2011, 1-9.
  13. Armbrust, M., Joseph, A.D., Katz, R.H. and Patterson, D.A. (2009) Above the Clouds: A Berkeley View of Cloud Computing.
  14. Gorelik, E. (2013) Cloud Computing Models. Composite Information Systems Laboratory (CISL).