an integrated approach to requirement prioritization ...

3 downloads 61099 Views 203KB Size Report
GSD/DSD is one of the biggest challenge in ... Software Development Companies main objective is to build ... To handle this challenge software companies.
AN INTEGRATED APPROACH TO REQUIREMENT PRIORITIZATION WITH REFERENCE TO DISTRIBUTED SOFTWARE DEVELOPMENT Nasir Mehmood Minhas, Asif Majeed University Institute of Information Technology, PMAS-Arid Agriculture University Rawalpindi, Pakistan [email protected], [email protected]  Abstract— In software engineering it is very important to include those requirements in the product release, which are really needed by the customers. Distributed Software Development (DSD)/ Global Software Development (GSD) allow team members to be located in various distance sites across the different time zone nations during the software development lifecycle. The geographical distributed development has some barriers in term of distance, culture, time zone, knowledge management and technical ability etc. In this paper we proposed an integrated approach to requirement prioritization process with reference to DSD/GSD. Our technique is consisting of five steps, based on stakeholder’s weightage and requirement’s weightage with respect DSD/GSD impact factors. An automated procedure is used to generate prioritized requirements for releases. Requirement negotiation process may adopt for negotiation among the geographically distributed stakeholders if conflict occurred in prioritization process. Index Terms— Requirement Prioritization, Requirement Prioritization Technique, Requirement Negotiation, Prioritization in Distributed Software Development, GSD, DSD.

I. INTRODUCTION

I

n Engineering, requirement prioritization is an important

activity of requirement engineering process that contributes towards making good decisions for software systems. For the last two decade business strategy has moved towards globalization. The management, maintenance and development of software have distributed from single development site to multiple sites across the nations [1], some time known as Global Software Development (GSD) [3]. Distributed Software Development (DSD)/ Geographically Software Development (GSD) allow development teams and others stakeholders to be located in various remote/multiple distance sites during the software lifecycle [2]. When organizations establish subsidiaries in other countries to achieve common objective of customer satisfactory product within time and budget is called GSD/DDS/GSD [6]. The GSD/DSD has some advantages over non-distributed software development process as these are low cost due to flexible labour cost. Secondly, it is manageable round the clock with global access as well. In GSD/DSD we can have highly qualified resources and proximate to the client [5]. According to [1][3][12][13][16] the distinguishing features of

distributed/global software development teams are distance, time-zone differences, and cultural differences. Globalization is a hot research topic regarding Requirements Engineering (RE) activities. Software Engineering (SE) process is affected by GSD/DSD and market-driven software development factors [4][6][10]. Software requirements represent the interests of customers and users which are the heart of any project [7]. Requirements Engineering (RE) is a preliminary step of software development to collect requirements from different stakeholders. As communication, distance, time difference, culture and coordination is a key problem for requirement engineering activities that affect the requirement elicitation, requirement prioritization and requirement specification [8][9][13]. The traditional requirement elicitation method used in requirement engineering is the face-to-face meeting or the interviews [11] and GSD factors directly affect them. Prioritization of requirements is a process of determining most importance requirements and order of requirements in which requirements should be developed and tested throughout the development lifecycle. The need and importance of requirement prioritization has increased due to global software development trend to achieve low-cost software [1][2][3]. The need and importance is further aggravated when software development is distributed among different development sites. As distributed stakeholders have their own impact on development regarding their behaviour, culture, language, time zone, technical ability and knowledge. Requirement prioritization is very challenging task in RE and this challenge became vital as stakeholders are distributed. GSD/DSD factors are directly affecting the requirement prioritization process [8][9][13]. This motivates the research question that we investigate: i) What is the significance of distributed software development as compared to traditional software development?. ii) What is the impact of GSD/DSD on Requirement Engineering activities? iii) How GSD/DSD factors increased their significance in requirement prioritization process. During the study of software Engineering, we found many research papers regarding the impact of GSD/DSD on requirement elicitation process which is the preliminary step of the R.E. As GSD/DSD is the latest trend of software development and their effect on requirements prioritization are also very serious. In this research study we will find out GSD/DSD factors and their influence on requirement prioritization. Then we will develop a requirement prioritization technique with reference to GSD/DSD. The

1st IEEE International Conference on Engineering Management 2012, NUST Pakistan, March 20 – 21, 2012

developed technique would be helpful in geographically distributed software development for the selection of important and needed requirement. In this paper we report our findings of requirement prioritization with respect to Global Distributed Software Development. Background of GSD/DSD is presented in section II. We discuss the affect of GSD/DSD factors on software development in Section III. We discuss affect of GSD/DSD factors on requirement engineering in section IV. In section V we discuss affect of GSD/DSD factors on requirement elicitation process. In section VI we discuss affect of GSD/DSD factors on requirement prioritization process. In section VII we present existing techniques of requirement prioritization. In section VIII we present research objective of this study. In section IX we proposed framework for requirement prioritization with respect to GSD/DSD.

II. BACKGROUND Global Software Development (GSD)/ Distributed Software Development (DSD) allow team members to be located in various remote/multiple distance sites during the software lifecycle [1],[2],[3]. Global Software Development (GSD) involves the development of application software through interactions of people, organizations, and technology across nations with different backgrounds, languages, and working styles [15][13]. In these approaches the stakeholders as dispersed across different countries, continents and time zones to achieve the common objectives. GSD/DSD has some advantages over the traditional or non-distributed software development process. These advantages are dealing with skilled labours, low-labour, around-the-clock development, cost savings in developing countries and proximity to the client [5]. GSD/DSD is one of the biggest challenge in distributed development environment from the software development point of view as presented by[16][17][18][19]. The geographic and temporal distance between stakeholders increases the difficulty in developing the RE process [14]. GSD basic major factors that have influence on software development are [8][9][13]: -

Distance Time Zone Communication & Coordination Culture Knowledge management, and Technical ability

As mentioned factors are very challenging to handle. The need of distributed software development is very important

to developed reasonable low cost market oriented software/product. In GSD/DSD production time and cost reduce due to 24/7 hrs development. The advantages of distributed development are higher as compared to single site development but distributed sites facing some barrier during development that are presented in next sections.

III. AFFECT OF GSD/DSD FACTORS ON SOFTWRAE DEVELOPMENT Software Engineering is still a relatively new area of engineering to designing, developing and maintaining software. The need of a software is compulsory because the use of software is almost everywhere in practical life. Software Development Companies main objective is to build the economical software within time, budget and accordance to the customer needs in a systematic and disciplined way [12]. The customer satisfaction is very important during software development till the finalization of product. With regard to software importance there are some common and serious issues arising in software development in term of delay, over budgeting, reliability. These all issues arise due to lack of understanding with market and customer’s requirements/needs and for selection of right order to build these requirements. It is up till a challenge to achieve economical and satisfactory software for customers within the time limit [35]. To handle this challenge software companies adopt different systematic procedures called software development processes. In SDLC communication and coordination is required through out the process with customers and team members of development. As current scenario of development change from single production site to multiple site which is know as distributed development. In GSD/DSD stakeholders are distributed among different nations therefore, strong communication procedure is required. Software Development Life Cycle is affected by communication, distance, culture and knowledge management factors in term of GSD/DSD [2][4]. In next section we discuss GSD/DSD factors those affect the RE process.

IV. AFFECT OF GSD/DSD FACTORS ON REQUIREMENT ENGINEERING Requirement Engineering is an initial step of software development process for requirements gathering, identification, analysis and management. According to [20] Requirement Engineering process is a complex bunch of activities which are followed to derive, validate and maintain a system requirement document. RE activities are requirements elicitation, requirements analysis, prioritization 2

and requirements validation [21]. It has been recognized that problems associated with requirements engineering are the major reasons for software project failures, where the end product does not meet the real needs of the customer [22][23][24]. RE is very complex phase of software engineering to identify the customer’s needs/requirements. RE activities are totally communication based interaction between the problem owners (customers/end-users) and problem solvers (Development Company). These are a list of factors that affect the R.E process [26]. Challenge of basic GSD/DSD factors became even more significant in RE are [13]: Distance: Our findings are described that due to geographical distance between the stakeholders make RE process more difficult. Distance is major factor of barrier to formal and informal face to face communication between the stakeholders. Communication & Coordination: Geographically distributed stakeholders have a direct impact on communication & coordination. In GSD/DSD communication & coordination became much weaker due to geographical distance between development sites and other stakeholders. As communication & coordination is an important ingredient for effective team management, introduce barrier in RE process. Time-zone: A time zone is a region on Earth that has a uniform, legally mandated standard time. In global software development stakeholders are distributed among the different time-zones countries. Time difference introduce barrier between stakeholders synchronous communication as required RE process. Culture: Culture is something that a person learns from his family and surroundings. Every society has a different culture, where people share a specific language, traditions, behaviors, perceptions and beliefs. In GSD/DSD difference between cultures of stakeholders introduce barriers for RE process as RE is through out a coordination process among the stakeholders. Knowledge Management: Knowledge Management is comprised strategy, practice, method, or approach (how) to work. Different stakeholders of different nations have different Knowledge. In GSD/DSD stakeholders are distributed among different nations with different knowledge and working styles. These differences of knowledge management introduce barriers for RE process. Technical Ability: Technical ability is the quality of being able to do something, especially the physical, mental, financial, or legal power to accomplish something. Different nation’s stakeholders have different technical ability. This difference introduces barriers for RE process. The geographic and temporal distance between stakeholders

increases the difficulty in RE activities [25]. As requirement engineering is totally communication & coordination based process and distance between stakeholders introduce many challenges to collect, identify, analyze, prioritize and manage the requirements of the system. In next section we will discuss some GSD/DSD factors impact on requirement elicitation activity.

V. AFFECT OF GSD/DSD FACTORS ON REQUIREMENT ELICITATION The process of discovering the requirements for a system from different stakeholders via any mode of communication is known as Requirements Elicitation [27][38]. It is a multifarious process involving stakeholders including problem owners and problem solvers throughout to guarantee that the requirements are complete, consistent and correct.. Requirement elicitation enables us to learn and understand the stakeholder’s requirements [37]. Requirement engineer used different methods to determine the needs of stakeholders [39], known as elicitation techniques. The basic GSD/DSD factors that affect the requirement elicitation are Communication, coordination & control, cultural difference, language difference, time-zone difference, development site, development strategy, distribution overhead and organizational factors [26]. Requirement elicitation is a throughout communication based process and communication play major role in identifying correct and consistent requirements of stakeholders. Communication became more vital and challenging when geographical and temporal distance between development sites and other stakeholders are increased. Strong coordination and affective communication is the core issue in elicitation activity. Therefore communication, coordination is required throughout this stage which increased significance especially in GSD/DSD environment on elicitation process [13][26]. In next section we will discuss affect of geographically distributed development on requirement prioritization process.

VI. AFFECT OF GSD/DSD FACTORS ON REQUIREMENT PRIORITIZATION As a principle, it means doing 'first things first;' as a process, it means evaluating a group of items and ranking them in their order of importance or urgency [40]. Prioritization is a process of finding and ordered most relatively important and significant requirements that need to be build as early as possible. Requirements prioritization is a difficult activity in which the most important requirements for the system (or release) should be identified [30]. 3

Commonly, only a limited set of requirements can be implemented in one release to meet the needs of the customers and reach the markets in time [33]. When customer expectations are high, timelines short, and resources are limited, the most essential functionality of the product should be delivered as early as possible [31] at the same time as the scope of each product release must be limited [29]. The challenge is therefore, to select the 'right' requirements out of given candidate requirements on the base of interests, preferences and technical constraints of the stakeholders [32]. Requirement Prioritization is very beneficial but it is a complex task when the stakeholders are distributed across the different borders/nations [13][26]. Some key GSD/DSD factors that affect the requirement prioritization process are; Distance: Distance is the extent of space between stakeholders. Temporal and geographical distance between stakeholders introduces barriers in requirement prioritization process [43][13][26]. Prioritization is a process of making consensus between stakeholders by group discussion. But due to temporal distance between stakeholders it is very difficult to arranged group discussion or face to face meetings. Therefore, distance will affect the prioritization process. Communication: Requirement prioritization process needs a communication between stakeholders to make consensus on requirements. Due to temporal and geographical distance face to face meeting is not feasible. Geographical distance between stakeholders has direct impact on all forms of communication [13][44]. Asynchronous (email, voice message etc) and synchronous (telephone, videoconferencing etc) are two types of communication techniques are used commonly in GSD/DSD but still there is many issues regarding compromising on time. Time-Zone: Time zone difference has direct impact on prioritization process as stakeholders are distributed among different time zone nations. These differences introduce barrier for communication and coordination for distributed stakeholders [47]. For example synchronous communication may work well if it is peer to peer in which only 2 end/stakeholders are compromised on difference between times but complications will multiply manifolds when there are more than two stakeholders having different time zone locations involved in prioritization? It is very difficult to find out time overlap between different time zones for synchronous or asynchronous communication [12][41]. It leads the delay in prioritization process. Culture: Prioritization process will affect when stakeholders have different culture. In distributed environment it is a real challenge to work with peoples who have different in nature, working style and language. Impact by difference of culture is [44][45][26]; Language: Language difference is a common factor in global environments as a consequence of the interaction among people from different countries [41][45][46]. Some

time languages are same but there is difference for example Spain and Argentina has same language (Spanish) but differences in pronunciation of different words for the same concept or, on the contrary, the same word for different concepts, may cause misunderstandings and confusing situations. Some times languages are totally different like Spanish and English. Some time languages have different meanings for example in UK word “small group” mean a group of peoples of 5 or less. However, a project team in China may interpret the same word a group of people comprises 30 or less [36]. Ethical traditions/Customs: An ethical tradition is a group of things that one group of people think are right and wrong. USA ranks high in individualism, while collectivism is a common characteristic of the Latin culture [36]. Norms of Behaviors: Social norms are the accepted behaviors within a society or group as Latin people to believe that Americans are not compromised with the group [42] or Americans to believe that Latin people spend too much time building up unnecessary social relationships. Technical capability: Nationwide distributed stakeholders have different technical ability. This difference introduces barriers for prioritization process [12][41]. Lack of Trust: In GDS/DSD lack of trust between distributed stakeholders introduce barriers for requirement prioritization [45][48]. Interest: Interest is a cause to become involved in a process. It is very difficult to find out interest of each stakeholder because all stakeholders have different level of interest in product. Different level of interest of stakeholders may affect the requirement prioritization process [36]. Influence: The capacity to have an effect on the character, development, or behavior of someone or something. In GSD/DSD stakeholder’s influence on requirements prioritization are different [36]. Government issues and polices: When stakeholders belong from different country with different national polices which may affect the requirement prioritization process. These policies may be in form of difference in tax system, office timings, holidays and other issues. These GSD/DSD factors have impact on requirement prioritization process especially from the stakeholder’s or organizational point of view. Now we are going to discuss some factors which have impact on prioritization from the product of view [34]. Determine Market: Products are developed for which market/region? It is very important to see for which market we developed product. Market’s Current Need: What is the most important thing required by the market? It is very important to find out

4

the actual need of the market, what the customer need in market and why? Previous Record of Market: Analyze the previous record of market and predict the future. These factors have high influence or impact on requirement prioritization process especially when product is developed to specific market [34]. To find priority of the requirements is not always a easy job. It is very difficult to choose factors for setting the prioritization. In prioritization of requirements we must consider cost, budget, time, importance, urgency, risk, penalty and benefit factors. In this section we discussed some factors from GSD/DSD point of view those affect the requirement prioritization process. Prioritization of requirements are very challenging task when stakeholders are distribute. Many research developed communication tool for distributed stakeholders but still there is a time delay factor. These tools give way for synchronous or asynchronous communication but it will difficult to find time overlaps in more than two different time zones. For example in Pakistan and USA time zone difference is 11hr, if in Pakistan time is 10:00 AM then USA is 11:00PM and Malaysia is 01:00 PM. Even in asynchronous communication we have to wait some time for a day for response from other site. Some time in synchronous communication it is very difficult to compromise on time when more than two stakeholders involved. This research shows that requirement prioritization is very important and necessary task for software development but this process is very difficult in global/distributed software development due to many factors those have influence. In next section we will discuss some techniques and methods which are developed due to the importance of requirement prioritization in software development life cycle.

VII. EXISTING TECHNIQUES OF REQUIREMENT PRIORITIZATION Karlsson and Ryan (1997), was adopted the Analytic Hierarchy Process (AHP) (Saaty, 1980) for the prioritization of software requirements. Analytic Hierarchy Process (AHP) is a mathematical approach for decision making. The AHP uses pair wise comparison of two requirements relative to each other. Individual requirement compare on the basis of scale from one to nine and so every possible pair of requirements are compared. A value is calculated in percent for every requirement after the comparison of all requirements. Berander and Andrews (2005), floated an approach in which the stakeholders distribute a constant sum of imaginary units (points, dollars, hours) to an individual requirements.

The units allocated to one requirement in relation to the overall sum represent the relative priority of this requirement compared to the other requirements. CV also allows the distribution of the value zero, which is, on the other hand, not possible within the AHP. Malhotra (2008), utilized a Likert Scale Technique (McIver and Carmines, 1981) for requirement prioritization based on a bipolar rating scale, which is used to rate the requirements regarding importance or costs. Md. Rizwan Beg et. al (2008), describe the importance of requirement negotiation and prioritization when there are strict constraints on schedule & resources so essential features must be incorporate to make project successful. They proposed a method using B-tree to prioritize the requirements. Xiaoqing Liu et. al (2004), presented a framework that prioritizes software requirements gathered from multiple stakeholders by integrate inter perspective relationships, which is not addressed by existing priority assessment techniques. They use a relationship matrix to analyze the impact between requirements and facilitate the integration process which assesses their priorities based on their relationships from multiple perspectives. The relationship matrix helps to understand the relationships between various requirements i.e. how one stakeholder’s requirements positively contribute to other stakeholder’s requirements. It helps eliminate miscommunication by graphically classifying objectives and interactions for easier use and effective decision making. Kedian MU, Zhi JIN and Didar ZOWGHI (2008), present a priority-based negotiations approach to handling inconsistencies in the viewpoints framework, in which they combine the priority of requirements and automated negotiation techniques of multi-agent systems. They consider the use of logic-based language in negotiation over inconsistent viewpoints. In the priority of requirements relative to each viewpoint plays an important role in proceeding negotiation over resolving inconsistencies among different viewpoints. In detail, an algorithm of generating negotiation proposals and an approach to evaluating proposals are also presented in terms of the priority of requirements, respectively. Kedian Mu et.al (2007), presented a merging-based approach to handling inconsistency in the Viewpoints framework, each viewpoint is a requirements collection with local prioritization. They transform such a requirements collection with local prioritization into a stratified knowledge base. Moreover, the relationship between viewpoints is

5

considered as integrity constraints. By merging these stratified knowledge bases, they then construct a merged knowledge base with a global prioritization, which may be viewed as an overall belief in these viewpoints. The global prioritization as well as the local prioritization may be used to argue these proposals and to help developers make a reasonable trade-off decision on handling inconsistency. Vibha Gaur and Anuja Soni (2010), use an individual fuzzy decision making technique to capture the subjectivity encapsulated in individual concerns of stakeholders with respect to goals and constraints of conflicting requirements and hence facilitates them to obtain preference orderings of conflicting requirements that reflects their individual concerns. Secondly this paper utilizes multi-person decision making to resolve diverse concerns of various stakeholders. These integrated set of requirements would satisfy all stakeholders and also assist the developer to ascertain the essential requirements of stakeholders within limited resources. M.Ramzan et.al (2011), in their paper presented a requirement conflict resolution technique using genetic algorithm between stakeholders. They said genetic algorithms has several application in the field of software engineering but this will be the first attempt to use it for the purpose of negotiation and resolving conflicts. In this paper they focus on the stakeholder’s requirements that supposed to be the conflicting requirements. They proposed a framework for requirement prioritization using fussy logic technique. Due to the importance of requirements prioritization, numerous methods and techniques have been developed such as AHP, cost-value approach, simple ranking, hundred dollar method, binary tree and minimal spanning tree. In their study, it is found that the most prioritization methods work well in non-distributed software development but they are not helpful in GSD/DSD environment. Some researches have developed prioritization techniques for GSD/DSD environment. Some of these are; Ahmad Azeem et. al (2010), was present the modified form Analytic Hierarchy Process (AHP) for requirement prioritization for distributed software development. First of all authors described some importance of requirement prioritization [34]. They said geographically distributions of stakeholders make it hard to prioritize requirements as each stakeholder has their own perception and expectations of the requirements in a software project. After this they discuss limitations of Analytic Hierarchy Process with respect to geographical distributed stakeholder’s prioritization of requirements. The modified Analytic Hierarchy Process (AHP) gives us better understanding towards requirement

prioritizations with respect to DSD but still this technique has many short comings with respect DSD/GSD. Holly Parsons Hann and Kecheng Liu (2005), introduced agent technology for the requirement prioritization. In their technique they rank stake holders from 1 to 4 using business strategy theorist’s tool [Gery Johnson and Kevan Scholes]. Then they Plot a matrix for classification of ranked stakeholders according interest and influence. Each stakeholder will have an agent on their computer which will allow to enter requirements. Agent monitors each word and make online glossary of the difficult words and filters the requirements to check duplicate requirements. Agent identifies stakeholders rank and identifies the stakeholder multiplication factor [36]. Annabella Loconsole et. al (2011), they present MAAD (Method for Agile, Automated and Distributed Prioritization). It is an algorithmic prioritization method on the basis of urgency, benefit, cost and type factors. Ruhe and Saliu states that there are two fundamentally different approaches to software release planning. – Emphasizes human experience, intuition and analytical ability. (Human experience is highly valuable for instance when estimating costs etc) – Prioritization to be a science focuses on formalizing and systematically solving the problem computationally (crucial when dealing with huge amounts of items) [49]. They said users are not required to perform all (or any) of the steps in the prioritization process. To take fully benefit through prioritization use the both approaches in one [49][50]. In this paper authors have not covered other factors like risk. Several techniques are developed for requirement prioritization based on ranking, assign values to the requirements or customers. Some techniques consist of voting system for requirement prioritization and some techniques adopted pair to pair comparison process. In this study it is thoroughly studied that all these techniques are not covered the GSD/DSD aspects in efficient manners. Some techniques are developed for global software development point of view [34] [36][51] but still there is many flows and time delay factors. The development company’s main objective is to developed software or product within time & budget to earn profit. Most of these existing techniques are manual, and these can not be implemented without modifications. Our approach for requirement prioritization is based on value/weight of both stakeholders and requirements. In our technique we reduced the interaction of human. Initially, human assign default values to stakeholders on the basis of

6

their stereotyping. Requirement’s value/weight depends on factors like importance, urgency, cost, time, benefit, risk, market etc and as well as on stakeholder’s value factors. In next section we present our research objectives and goals.

VIII. RESEARCH OBJECTIVE In this literature study, it is found that the existing available techniques can not cover requirement prioritization process in term of GSD/DSD. Some techniques are developed for GSD/DSD [34][36][51], but they can have many short comes with aspect of GSD on prioritization. So, there is a need for more research on requirement prioritization process in term of GSD/DSD. In this study our main objective is to investigate maximum factors that affect the requirement prioritization process when stakeholders are distributed

among the different nations. After finding, we shall prioritize the requirements with an automated technique with respect to GSD/DSD environment. If there is any conflicts occur then a negotiation process shall execute. This proposed framework will be helpful to select the right requirement’s implementation order to build the product within time and budget that must satisfy the market and customers needs. In this technique we shall reduce the human interaction and communication delay factors. Prioritization process will learn from stakeholders and requirements weight and then generate order of requirements for releases. In next section we will proposed our framework for requirement prioritization with respect to GSD/DSD. IX. PROPOSED FRAMEWORK

7

U se r N e ed s, D o m a in I n for m ati on , E x is t in g S y st em I n for m ati on , R egu l ati on s, s tan d a r d s, e tc

R e q u ire m e nt E li c ita tio n

S t a k eh ol de r’ s R eq u i r e m e n t s

P ar t i c ip a tio n s ite s

Pro d u c t M a r k et

I d e n tify S t ak e h ol d er s

R ules D a ta b a se

P ar a m e te r f or C o m m u n ic a tio n

K n ow le d g e B as e S y st em

G SD/DSD Im p ac t Fa c tor s

A s si gn W eig h t t o S tak eh ol d e r s

A ss ig n W e i gh t to R e q u ir em e nt s

A n a ly s is

R eq u i r e m e n t Pri oriti zati on Pro c es s

R eq u i r e m e n t N e g oti at i on P r oce ss

P r io r iti z ed R eq u i r em en t s

N e g ot i at ed R e q u ir e m en t s

If C on f l ic t

Y es

Y es

No

If C o n fli c t

No T e r m i n ate

Figure 1: An Integrated Approach to Requirement Prioritization with Reference To GSD/DSD

1st IEEE International Conference on Engineering Management 2012, NUST Pakistan, March 20 – 21, 2012

activity is affect by the distribution of the stakeholders with reference to GSD/DSD. Some stakeholders may have more importance as compared to other stakeholders. Therefore, these factors have high influence on software success and can play vital rule during the selection of right requirements for releases in requirement prioritization activity.

I. THE FRAMEWORK In this section we proposed our framework for requirement prioritization with reference to Global/Distributed Software Development. The proposed framework start after requirement elicitation process and take some initial inputs from elicitation process. We assumed in this research that requirement elicitation process elicit the requirements after taking some use full inputs like user needs, domain information, existing system, information, regulations and standards etc. Our proposed framework consists of five (5) major steps that are; 5.1 STEP 1 The first step of our proposed framework is consisting of three sub steps that are; IDENTIFY STAKEHOLDERS REQUIREMENTS Identification of stakeholder’s requirements is the preliminary step of our proposed framework, in this step we will find and identify the stakeholder’s requirements those will participate in requirement prioritization process. IDENTIFY STAKEHOLDERS The identified stakeholders may be distributed among different countries having different time zone, culture, language, knowledge and technical ability. In this step we collect profiles of all identified stakeholders. IDENTIFY/DETERMINE PRODUCT MARKET Determination/identification of market is very important step of our proposed framework. Before the prioritization process it is important to know about for which market we are going to build the product. IDENTIFY PARTICIPATION SITES In this step we identify the participation sites 5.2 STEP 2 In Second step of our proposed framework Knowledge base system take input from step 1 and take some intelligent decisions that are; ASSIGN WEIGHT TO STAKEHOLDERS In this section of step2 knowledge base system will assign weight to identified stakeholders. As each stakeholder have some interest and influence on software during the software development. Each Stakeholder may have different worth, post, experience, knowledge, technical ability, nationality, culture, government policies and trustworthiness which are the basic GSD/DSD impact factors. This research study shows that requirement prioritization

GSD/DSD IMPACT FACTORS In this section knowledge base system identify the GSD/DSD impact factors on the basis of input taken from step 1. PARAMETER FOR COMMUNICATION In this section knowledge base system identify the parameters for communication for the distributed stakeholders on the basis of input taken from the step 1 and forwarded this information to negotiation process if negotiation is needed. 5.3 STEP 3 ASSIGN WEIGHT TO REQUIREMENTS In third step of our proposed framework we shall assign weight to requirements with respect to stakeholder’s weightage and GSD/DSD impact factors of step 2. 5.4 STEP 4 REQUIREMENT PRIORITIZATION PROCESS In this step of our proposed framework we shall apply a prioritization process on the basis of weighted requirements of step 3 and used any existing prioritization technique for requirements with respect to cover GSD/DSD factors. 5.5 STEP 5 REQUIREMENT NEGOCIATION PROCESS In this step of our proposed framework we shall apply requirement negotiation process, if conflict occurred in requirement prioritization process on the basis of identified parameters for communication of step 2.

REFERENCES [1]

B. Sengupta and et. al, “A Research Agenda for Distributed Software Development,” in 28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, May 20-28, 2006. ACM 2006, ISBN 1-59593-375-1.

[2]

Miguel Jimeenez, Mario Piattini , Aurora Vizcanio, “Reviewarticle Challenges and Improvements in Distributed Software Development: A Systematic Review”, Hindawi Publishing Corporation, Advances in Software Engineering, Volume 2009.

[3]

J.D.Herbsleb andD.Moitra, “Global software development” IEEE Software, vol. 18, no. 2, pp. 16–20, 2001.

1st IEEE International Conference on Engineering Management 2012, NUST Pakistan, March 20 – 21, 2012

[4]

K. Fryer and M. Goethe. Global software development and delivery: Trends and challenges. http://www.ibm.com/developerworks/rational/library/edge/08/jan08/fry er gothe/index.html.

[5]

Alejandro and et. al, “Risks and Safeguards for the Requirements Engineering Process in Global Software Development”, Fourth IEEE International Conference on Global Software Engineering, 2009.

[6]

Valentine Casey, “Software Testing and Global Industry: Future Paradigms”, Cambridge Scholars Publishing, 12 Back Chapman Street, Newcastle upon Tyne NE6 2XX United Kingdom, ISBN 10: 1443801097 ISBN 13: 9781443801096, January 2009.

[7]

[8]

[9]

Oberg and et. al, “Applying Requirements Management with Use Cases”, Rational Software White Paper, Cupertino, CA, 2000, pp. 3- 5. Damian D. Zowghi, “RE Challenges in Multi-Site Software. Development Organizations”, In Requirements Engineering 8(2003), pp. 149-160. R. Prikladnicki and et. al "Global software development in practice lessons learned," Software Process Improvement. Practice. Wiley Inter Science., vol. 8, no. 4, pp. 267-281, October/December 2003.

[10] Karlsson, Lena, et al, “Challenges in Market-Driven Requirements Engineering - an Industrial Interview Study”. In Proceedings of the Eight International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ '02). 2003, pp. 101-112. [11] Filippo Lanubile and et. Al, “Tool Support for Geographically Dispersed Inspection Teams”, Software Process Improve. Practical 217–231. [12] Carmel, E., “Global software teams”, Prentice Hall, 1999.

[13]

Zowghi, D. (2003), “Does Global Software development Need a Different Requirements Engineering Process?”, Proceedings of International Workshop on Global Software Development-ICSE, Orlando, Florida, USA.

[22] Jackson. M., “The meaning of requirements, the annals of software engineering, special issue on requirements engineering”, 3:5-21, 1997. [23] Sawyer and et. al, “Improving the requirements process”, Proceedings of the 4th International workshop on Requirements Engineering: Foundation of Software Quality (REFSQ’98), Pisa, Italy, July 1998. [24] Thayer, R.H., and Dorfman, M., “Software requirements engineering”, IEEE Computer Society Press, Second Edition 1997. [25] Cheng, B.H.C. and Atlee, J.M., “Research Directions in Requirements Engineering”, In Future of Software Engineering, 2007 (FOSE '07): IEEE Computer Society Washington, DC, USA2007) 285-303. [26] Raffo, D. and Setamanit, S., “A Simulation Model for Global Software Development Project”, In The International Workshop on Software Process Simulation and Modeling. St. Louis, MO2005). [27] Sommerville and et. al , “Requirements Engineering A good practice guide”, (1997). [28] Dean Leffingwell and Don Widrig, Addison-Wesley, “Managing Software Requirements; A Unified Approach”, (2000). [29] Siddiqi, J., and Shekaran, M., “Requirements Engineering: The Emerging Wisdom”, IEEE Software 13(2), pp.15-19. [30] Sommerville I., “Software Engineering”, 5th Edition Addison-Wesley, Wokingham, England. [31] Wiegers K. , “Software Requirements”, 2nd Edition, Microsoft Press, Redmond, WA. [32] Ruhe G and et. al, “Quantitative WinWin – A New Method for Decision Support in Requirements Negotiation”, Proceedings of the 14th International Conference on Software Engineering andKnowledge Engineering (SEKE’02), Ichia, Italy, pp. 159- 166. [33] Karlsson J and et. al, “A Cost-Value Approach for Prioritizing Requirements”, IEEE Software 14(5), pp. 67- 74.

[14] Cheng, B.H.C. and Atlee, J.M (2007),”Research Directions in Requirements Engineering”. In Future of Software Engineering, 2007 (FOSE '07): IEEE Computer Society Washington, DC, pages 285-303.

[34] Ahmad Azeem et. Al, “Limitations of the Analytic Hierarchy Process Technique with Respect to Geographically Distribute Stakeholders”. In Worls Academy of Science, Engineering and Technology, pages 111-116.

[15] Herbsleb and et. Al (2003), “An empirical study of speed and communication in globally distributed software development”, IEEE Transactions on Software Engineering, 29(9), 481-494.

[35] Geisser M and et. Al, “A Method for Collaborative Requirements Elicitation and Decision-Supported Requirements Analysis”, In: Ochoa, S.F. und Roman, G.- . (eds): IFIP International Federation for Information Processing, 2006 (219), Advanced Software Engineering: Expanding the Frontiers of Software Technology, S. 108-122, Springer, Boston.

[16] Herbsleb, J. D., and Moitra, D., “Global Software Development”, IEEE Software, pp. 16-20. March/ April/2001. [17] Grinter and et. al, “The Geography of Coordination: Dealing with Distance in R&D Work”, ACM, 1999.

[36]

Holly Parsons and Hann, Kecheng Liu, “Using Agent Technology To Overcome Project Failure In Distributed Organizations”, 2nd International Conference on E-Business and Telecommunication Networks ICETE 2005, Microsoft Convention Center at reading U.K. October, 3 – 7, 2005.

[37]

A. Al-Rawas, and S. Easterbrook, "Communication problems in requirements engineering: a field study", In: First Westminster Conference on Professional Awareness in Software Engineering, London, pp. 47-60, 1996.

[38]

A. M. Hickey and A. M. Davis, “A Unified Model of Requirements Elicitation”, Journal of Management Information Systems, vol. 20, no. 4, 2004, pp. 65-84.

[18] Herbsleb and et. al, “R. E, An Empirical Study of Global Software Development: Distance and Speed”, IEEE, 2001. [19] Prikladnicki, R and et. al, “Requirements specification model in a software development process inside a physically distributed environment”, Proceedings of ICEIS 2002, Ciudad Real, Spain, 2002. [20] Sommerville and et. Al, “Requirements Engineering – a good practice guide”, Wiley, 1997. [21] Kotonya, G. Sommerville, I. “Requirements Engineering – Processes and Techniques”, Wiley. 1998.

10

[39] A. M. Hickey and A. M. Davis, “Elicitation Technique Selection: How do Experts do it” , Proceedings: 11th IEEE International Requirements Engineering Conference, Sept. 2003, Monterey Bay, California, IEEE Computer Society, pp. 169-178. [40] http://www.businessdictionary.com/definition/prioritization. html [41] Gabriela N. Aranda et.al “Analyzing and Evaluating the Main Factors that Challenge Global Software Development”, The Open Software Engineering Journal 2010. [42] Al-Rawas A. and Easterbrook S, “Communication problems in requirements engineering: a field study”, Proc. of Conf. on Prof. Awareness in Software Engineering, London, 47-60, 1996 [43] W. DeLone and et. al,“Bridging global boundaries for IS project success”, In: 38th Hawaii International Conference on System Sciences, p. 48.2, 2005. [44] A. Gurung and E. Prater, “A Research Framework for the Impact of Cultural Differences on IT Outsourcing,” J. Glob. Inf. Technol. Manage., vol. 9, no. 1, pp. 24-43, January 2006. [45] V. Casey and I. Richardson, “Uncovering the reality within virtual software teams”, In: International Workshop on Global Software Development for the Practitioner, Shanghai: China, 2006. [46] A. Alami and et. al, “Relationship issues in global software development enterprises”, J. Glob. Inf. Technol. Manage., vol. 11, no. 1, pp. 49-68, 2008. [47] J. D. Herbsleb and et. al, “Global software development at Siemens: Experience from nine projects”, In: International Conference on Software Engineering (ICSE), St. Louis: USA, pp. 524-533, 2005. [48] D. Smite, and N. B. Moe, “Understanding a lack of trust in global software teams: A multiple-case study” In: International Conference on Product Focused Software Development and Process Improvement PROFES, Riga: Latvia, pp. 20-34, 2007. [49] G. Ruhe and M.O. Saliu, "The Art and Science of Software Release Planning", IEEE Software, vol. 22, no. 6, pp. 47-53, 2005. [50] L. Lehtola and M. Kauppinen, "Suitability of Requirements Prioritization Methods for Market-driven Software Product Development," Software. Process Improvement Practice., vol. 11, no. 1, pp. 7–19, 2006. [51] Annabella Loconsole et. al, “Construction and Evaluation of an Algorithmic and Distributed Prioritization Method”, in 17th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ2011), 31st of March 2011, Essen, Germany.

11