2012 International Conference on Computer & Information Science (ICCIS)
A Propose Framework for Requirement Change Management in Global Software Development Arif Ali Khan , Shuib Basri
and P.D.D. Dominic
Department of Computer and Information Sciences, Universiti Teknologi PETRONAS Bandar Seri Iskandar, 31750 Tronoh, Perak, Malaysia
[email protected] [email protected] [email protected] , ,
Abstract-Presently, software systems are becoming an
important module of businesses in the world. Most of the organizations are adopting Global Software Development (GSD), and it is continuously getting faster. Organizations are trying to distribute their work worldwide. However, distributed software development is not an easy task and the organizations face different challenges. Software Requirement Change Management (RCM) is one of them and it becomes more difficult in the context of the GSD. Currently, there is no framework available, which can be used for the RCM in GSD organizations. The aim of this study is to propose a framework for RCM in geographically distributed software development systems and describe the identification of the communication risks, their causes and effects during RCM in GSD systems.
Keywords Framework, Requirement Change Management, Communication, Global Software Development
I.
INTRODUCTION
Software development is becoming more and more geographically distributed. The growth in information and computer technologies enables different projects to be developed at geographically distributed sites. The acceptance of the GSD process is because of its different benefits [1]. To get the business benefits and competitive advantage, most of the organizations try to find a solution around the world. GSD appears a good option in such an environment [2]. About a decade ago, different experiments were started in order to develop the software systems at different geographically distributed locations [3]. The purpose was to develop the software systems globally to reduce cost and to get access to different resources available at different remote sites [ 3 ] . At that time, the global market was facing different types of problems in which the main problem was the failure of the projects. However, due to a large investment, the way was made easy towards the fast growing globalization [2]. Due to this, the phenomena of GSD received a guiding force. It is more challenging to manage the requirements in globally distributed software systems and to solve the communication problems [4] among dispersed team members as compared to the collocated development of software systems. Software requirements continuously change during the software development phases and it becomes very difficult to manage these change 978-1-4673-1938-6/12/$31.00 ©2012 IEEE
[ 944 ]
requirements. Requirement changes in the globally distributed software systems additionally deal with geographical, temporal and socio-cultural distance [5]. Due to these factors it becomes difficult for the distributed team members to communicate with each other and manage the change requirements in GSD. In this study, the key causes of the requirement changes will be investigated and the different communication risks, their causes and effects will be found out, which will result in a better understanding of the process of RCM in GSD. II.
LITERATURE REVIEW
GSD is the development of software systems undertaken at geographically distributed locations in which people are involved from different countries worldwide [6]. A survey conducted by SIIA [7] stated that global software development is the combination of the advancement of technology and development of new business models. H. Helena, et al. [8] discussed different benefits that lead towards the acceptance of the global software development. According to [9-11], the most popular and important benefits of the global software development are the reductions of the development cost, proximity to the market, 24 hour working time and access to skilled workforces distributed globally. The companies are globalizing their activities to get cheaper employees located in lower cost economies [9]. In GSD, the companies have the opportunity to expand their software activities to include the work of thousands of people located at different geographical sites [11]. Geographical distribution of the software projects increases the productivity by increasing the number of development hours. According to [3], GSD is not a straight forward activity because software development is carried out at different geographical and cultural locations. According to Geisberger [12], GSD is more complex as compared to single site software development, both technically and managerially. In Herbsleb [13], additional challenges were highlighted that can create different problems during the development of globally distributed software systems. The lack of understanding of requirements, language, coordination systems, distance and strategic issues are a few of the problems that are faced by globally distributed projects [8]. In GSD, teams are dispersed geographically and these teams face time zone and cultural differences [5].
2012 International Conference on Computer & Information Science (ICCIS)
In GSD, software requirements change and communication is an important activity. According to Nurmulian [14] case, study the main causes of software requirement changes are changes in customer requirements, improving functionalities, change in managerial strategy, change in plan, missing requirements, removing redundancy and illuminating requirements. During RCM, communication between team members which are distributed globally is the major issue because of the geographical, temporal and socio-cultural distances [15-17].In GSD, the communication issue [4] and RCM [9] are given very little effort as compared to the centralized software development system. A survey was conducted by the Standish group international for different 13522 software projects and they reported that only 29 percent of the surveyed projects are flourishing, 18 percent have failed and 53 percent are suspected and the main reason of the project failures is requirement changes [18]. Another survey conducted by McGee & Greer [19] reported more than 60 other reasons that cause the changes in requirements in a system. For requirement changes, the organizations need an RCM framework, which can effectively manage the change requirements [10]. During the development of the framework for RCM, the main focus will be on the communication issues in the GSD. The review of the existing literature reveals that none of the requirement change frameworks addresses the scenario of the GSD. RCM is different in global software development hence the alignment of such processes is difficult. According to Damian [20], the GSD requires a very efficient RCM framework because the ineffective flow of changed information across different locations leads to difficulties in coordination and increased development rework. The GSD needs a framework that can be used to manage the requirement changes in globally distributed projects. . III.
PROBLEM STATEMENT
This research study will bring forth the need of the study of different RCM processes, which are proposed by different researchers as well as the need to develop a RCM framework for GSD. 1.
Sangwan [21] stated that without a proper change management framework, it is difficult to overcome the challenges faced by the GSD.
2.
According to Damian [ 1 0 ] , GSD insists on a strong RCM framework that can effectively manage the changed requirements.
3.
In GSD, the communication rate is low as compared to centralized software development systems [4].
4.
Due to the dispersion of the development sites in the GSD, there is lack of face to face meetings due to which different harmful effects can be raised such as a communication rate reduction and decreased informal communication [22].
Due to the lack of work on the RCM in the GSD, this research will be conducted in order to explore the RCM process in the GSD and intends to make improvements to the change management process and will highlight different communication issues during the RCM process in the GSD. In line with the opinion of Lopez [23], it is stated that overcoming the different problems faced by the GSD on RCM is the key to achieving success in the GSD. Therefore, the RCM framework for the GSD is a need of the present time and such a framework will be proposed in this research. IV.
RESEARCH OBJECTIVES
The aim and objectives of this research are: To present the RCM framework for the GSD in order to manage the requirement changes effectively. Identify the different communication risks, their causes and effects during the RCM process in the GSD in literature and in the case studies that will be conducted in different GSD organizations. Identify the different methods used in literature and in GSD organizations to reduce the communication risks. V.
RESEARCH QUESTIONS
To achieve the objectives of this research, the following research questions will be addressed. RQ1.How is requirement change managed in th e GSD? RQ2.What is the communication risks during the RCM in GSD projects, their causes and effects? RQ3. What are the different methods used to reduce the communication risks? In order to accomplish the aim and objectives of this research, an organized literature review will be performed and a case study will be conducted in different GSD organizations [24]. VI.
PROPOSED SOLUTION
The proposed RCM framework consists of different roles, artifacts and activities which are mentioned in the RCM model [25]. This model [25] was not intended for the RCM in the GSD. However, the framework proposed in this paper is developed specifically for the RCM in the GSD. In the proposed framework the RCM starts with the request for a change from any stakeholder at any distributed site, the change request can come from the client side also. They communicate with the change initiation phase. Then in the second step, the initiated change request will send for an evaluation. After the evaluation, the decision about the change will be made in the change decision phase. When the proposed change is accepted, then it will be sent to the next phase, which is the implementation phase. After the implementation of the change request, the system will be modified and then the CM (Change Moderator) will be informed about the implemented change and at the last step, the data will be sent to the central repository. As shown in Fig1.
[ 945 ]
2012 International Conference on Computer & Information Science (ICCIS)
Literature Review
Client Communication
Communication
Site-1 Site-2 Site-n
Visibility & Awareness
Case study in different GSD organizations
Change Initiation
Communication Communication
Central Repository
Collected Data
Change Evaluation
Change Decision
Site (n)-CM Communication
Change Implement
Figure 1 Proposed RCM framework VII.
Data Analysis
Communication risks, their causes, effects and different methods used to reduce these communication risks during RCM
A framework for requirements change management in GSD
Figure 2 Flow chart for Proposed Research Methodology
PROPOSED METHODOLOGY
In this research, two data collection methods will be used, SPI (Software Process improvement) literature and a case study in different small to medium sized GSD organizations. The data collected using multiple sources (Software Process improvement literature, case study in different GSD organizations) will be analyzed and evaluated. The literature considered in this research includes different case studies, research reports and RCM process descriptions. Most of the literature reviews include life experiences of RCM implementation and different communication issues, which will provide exact guidelines for RCM implementation. A qualitative method will be used to explore the RCM process in the GSD organizations. Case studies will be conducted in the GSD organizations. The reason for selecting the case study method is not that it is used commonly throughout the world [26] but the it allows collecting data through different methods and approaches[11].The data collection from two organizations will be based on communication and negotiation of the participants of the RCM process [11]. The data will be collected by means of interviews, change request forms, emails, video conferencing, chatting etc. The proposed methodology is shown in Figure 2.
VIII.
CONCLUSION
Requirement change can occur at any phase of system development. RCM is complicated and a hard job in the GSD because of the different communication issues between the team members of the globally distributed software organizations. Proper RCM will help to complete the project within time and within budget. Different RCM frameworks have been proposed in the literature but none of these frameworks has been developed for the GSD. The proposed RCM framework is an initial step in this direction. The proposed RCM framework is intended to improve the understanding of roles, artifacts and activities involved in the GSD specifically from the perspective of change management systems. IX.
FUTURE WORK
The proposed framework will be implemented and validated on a real life GSD system. In addition, some routes will be suggested for reduction of communication risks that have been highlighted during the RCM in GSD projects. REFERENCES [1] [2]
[ 946 ]
C. Eoin, et al., "Benefits of global software development: exploring the unexplored," Software Process: Improvement and Practice, vol. 14, pp. 301-301, 2009. P. Rafael, et al., "A Reference Model for Global Software Development: Findings from a Case Study," in Global Software Engineering, 2006. ICGSE '06. International Conference on, 2006, pp. 18-28.
2012 International Conference on Computer & Information Science (ICCIS)
[3] [4]
[5]
[6]
[7] [8]
[9]
[10] [11] [12]
[13]
[14]
[15] [16]
[17] [18]
[19]
[20] [21] [22] [23]
R. Prikladnicki, et al., "Global software development in practice lessons learned," Software Process: Improvement and Practice, vol. 8, pp. 267-281, 2003. M. Bass, "Monitoring GSD projects via shared mental models: a suggested approach," presented at the Proceedings of the 2006 international workshop on Global software development for the practitioner, Shanghai, China, 2006. E. Carmel, et al., "Follow The Sun Software Development: New Perspectives, Conceptual Foundation, and Exploratory Field Study," in System Sciences, 2009. HICSS '09. 42nd Hawaii International Conference on, 2009, pp. 1-9. J. D. Herbsleb and A. Mockus, "An empirical study of speed and communication in globally distributed software development," Software Engineering, IEEE Transactions on, vol. 29, pp. 481-494, 2003. SIIA, "Global Software Development Survey Report. SOFTWARE & INFORMATION INDUSTRY ASSOCIATION (SIIA) AND SYMPHONY SERVICES," 2006. H. Helena, et al., "Global Software Development Challenges: A Case Study on Temporal, Geographical and Socio-Cultural Distance," in Global Software Engineering, 2006. ICGSE '06. International Conference on, 2006, pp. 3-11.
[24] [25]
[26]
U. Sekaran and R. Bougie, Research Methods for Business: A Skill Building Approach: John Wiley & Sons, 2010. M. W. Bhatti, et al., "A methodology to manage the changing requirements of a software project," in Computer Information Systems and Industrial Management Applications (CISIM), 2010 International Conference on, 2010, pp. 319-322. E. M. P. Palvia, A. F. Salam, and K.S. Soliman, "Management information systems research: what's there in a methodology," Communications of the Association for Information Systems, vol. 11, pp. 289-309, 2003.
http://www.requirementsnetwork.com/system/files/Does%20Gl obal%20Software%20Development%20Need%20a%20Differen t%20Require ments%20Engineering%20Process.pdf? D. Damian, "Requirements Engineering in Distributed Projects," presented at the Proceedings of the IEEE international conference on Global Software Engineering, 2006. Y. RK, Case study research: Design and methods. Applied social research methods, 4 ed. Los Angeles, CA,USA: Sage Publications 2008. E. Geisberger, et al., "International Workshop on Tool Support and Requirements Management in Distributed Projects (REMIDI'07)," in Global Software Engineering, 2007. ICGSE 2007. Second IEEE International Conference on, 2007, pp. 284285. J. D. Herbsleb, et al., "Global software development at Siemens: experience from nine projects," in Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on, 2005, pp. 524-533. N. Nurmuliani, et al., "Analysis of requirements volatility during software development life cycle," in Software Engineering Conference, 2004. Proceedings. 2004 Australian, 2004, pp. 28-37. V. Casey and I. Richardson, "Virtual teams: understanding the impact of fear," Software Process: Improvement and Practice, vol. 13, pp. 511-526, 2008. H. Huang and E. M. Trauth, "Cultural influences and globally distributed information systems development: experiences from Chinese IT professionals," presented at the Proceedings of the 2007 ACM SIGMIS CPR conference on Computer personnel research: The global information technology workforce, St. Louis, Missouri, USA, 2007. Global Software Teams: a multiple-case study," Software Process: Improvement and Practice, vol. 13, pp. 217-231, 2008. J. Zhu, et al., "The Requirements Change Analysis for Different Level Users," in Intelligent Information Technology Application Workshops, 2008. IITAW '08. International Symposium on, 2008, pp. 987-989. S. McGee and D. Greer, "A Software Requirements Change Source Taxonomy," in Software Engineering Advances, 2009. ICSEA '09. Fourth International Conference on, 2009, pp. 5158. D. Damian, "Stakeholders in Global Requirements Engineering: Lessons Learned from Practice," Software, IEEE, vol. 24, pp. 21-27, 2007. R. Sangwan, et al., Global software development handbook: Auerbach Publications, 2006. J. D. Herbsleb and D. Moitra, "Global software development," Software, IEEE, vol. 18, pp. 16-20, 2001. A. Lopez, et al., "Risks and Safeguards for the Requirements Engineering Process in Global Software Development," in Global Software Engineering, 2009. ICGSE 2009. Fourth IEEE International Conference on, 2009, pp. 394-399.
[ 947 ]