International Journal of Research in Advent Technology, Vol.2, No.8, August 2014 E-ISSN: 2321-9637
An Integrated Model for Gathering Requirements in an Organization Involving Multiple Sites Apoorva Mishra Assistant professor, Computer Science & Engineering, C.S.I.T, CSVTU, India apoorvamish1989@gmail.com Abstract- The requirements’ gathering is an initial and very important stage of software development. It is a stage in system development that is highly vulnerable to errors and even a small mistake during this phase can have serious implications. It involves various activities like: feasibility study, elicitation analysis, validation and management of requirements etc-. The different methods have their own advantages and disadvantages and are suitable for different types of projects. In case of organizations involving more than one site, the process becomes even more complicated. In this paper various issues have been identified, which may create problem while gathering requirements from multiple sites of an organization and a model for effectively gathering the requirements has been proposed. Index Terms- Requirements elicitation; requirements validation; multi-site organization 1. INTRODUCTION Understanding the needs of the users and how the proposed system should behave can greatly increase the likelihood of successful projects. The requirements phase of a development project is characterized by intense communication activities and involves a diverse range of people who differ on levels of background, skill, knowledge and status. The different people involved in the requirements gathering phase are customer/client representatives, users, representatives of the software organization, technical team members etc-.There are several techniques for gathering requirements; each has its own advantages and disadvantages. Some of the famous techniques are: interviews, workshops, Questionnaires, joint application development (JAD), brainstorming, prototyping etc-. When requirements have to be gathered from different units of an organization, then, the task of requirements gathering becomes more difficult because of the contradiction or ambiguity that may occur due to the requirements gathered from different units/sites. 2. DESCRIPTION OF VARIOUS TECHNIQUES FOR GATHERING REQUIREMENTS 2.1 Prototyping: Prototyping is useful for constructing a quick and rough version of the desired system. The prototype demonstrates the functionality of the system to the users. It serves as a medium of communication between the customer and the developers. Prototyping quickly converts requirements to working form of system. The main advantage of prototyping is that users get a chance to view the system and give feedback at an earlier stage. Some of the
disadvantages of the prototyping technique are as follows:
Systems Development Life Cycle (SDLC) checks are often bypassed. Less documentation Sharing data with other systems is often not considered .
2.2 Requirements Workshops: Requirements Workshops are a powerful technique for eliciting requirements because they can be designed to encourage consensus concerning the requirements of a particular capability. The advantages are: participant commitment to the work products and project success, teamwork, resolution of political issues, and reaching consensus on a host of topics. Benefits of requirements workshops include the following:
Workshops help to streamline the requirements capture and analysis process. Workshops are dynamic in nature. Workshops involve a lot of interaction and hence provide a better opportunity to understand the customers’ requirements in a better way as they provide opportunity for clearing doubts. The user involvement is more. They help to identify and prioritize needs and resolve ambiguous issues. Workshop costs are often lower than are those for many interviews.
2.3 Brainstorming: Brainstorming is a powerful technique because the most creative or effective ideas often result from
51
International Journal of Research in Advent Technology, Vol.2, No.8, August 2014 E-ISSN: 2321-9637 combining seemingly unrelated ideas. Brainstorming involves both idea generation and reduction. The aim of idea generation is to identify as many ideas as possible, while the idea reduction ranks the ideas according to their usefulness. This technique encourages original thinking and unusual ideas. The disadvantage of brainstorming is that it involves the possibility that the powerful people in the organization might dominate the others by misusing the power of their designations. 2.4 Interviews: Interviews are one of the most commonly used ways of gathering requirements from the clients. An interview might be structured or unstructured. The disadvantage of an interview is that: the bias of the person being interviewed may influence the information obtained. The interviewer must ask the questions in such a manner that the interviewee must not get the opportunity to give indirect answers. Interviews are useful in the following situations:
To collect preliminary information before designing a survey. To collect detailed information about participants’ experiences and impressions about a program. To obtain feedback from the stakeholders. When explanation and follow-up to answers given on surveys are desired.
Advantages:
The interviewer may obtain rich details. The interviewee is able to raise the issues which he or she feels are important.
Ambiguity due to requirements gathered from different sites. Customers unsure about their needs.
Human bias
Inconsistency among requirements that are being gathered from different sites. Difficulty in prioritizing the requirements as different units claim the requirements related to their unit to of higher importance. Incomplete requirements Impractical requirements Invalid requirements
being
4. MODEL FOR GATHERING REQUIREMENTS IN AN ORGANIZATION INVOLVING MULTIPLE SITES As requirements gathering plays a vital role in the development of the software; it is necessary to have a standard framework for gathering requirements. Many methods of gathering requirements have been proposed, which have their own advantages and disadvantages and are useful under certain scenarios. But the process of gathering requirements becomes much more complicated when the requirements have to be gathered from the different sites of an organization because of the reasons mentioned above. In order to deal with the situation of gathering requirements from an organization involving multiple sites, the following model is proposed as described by fig. 4.1. The model involves step by step collection of the requirements from different sites and then checking for any contradiction, ambiguity or inconsistency introduced due to the involvement of different sites.
Disadvantages:
Interviews may present challenges with privacy. Interviews are quite expensive and timeconsuming to conduct.
3. ISSUES IN MULTI SITE REQUIREMENTS GATHERING The different issues that are encountered while gathering requirements from multiple sites of an organization are:
Inadequate communication
Knowledge management
Cultural diversity
Time difference
Contradiction in requirements gathered from different sites
52
International Journal of Research in Advent Technology, Vol.2, No.8, August 2014 E-ISSN: 2321-9637 start
Gather requirement for one module from site 1
Site 1,2 ,3…n
Gather requirement for one module from site n
Combine requirements gathered from different sites.
Contact customer & request to reconsider requirements Check for contradiction, ambiguity or inconsistency
Problem
Ok
Check if requirements are pragmatic in nature ?
No
Contact customer & request to reconsider requirements
Yes
No
Is requirement complete ?
Yes
Stop
As it is clear from the figure that the process of requirements gathering in multi-site organizations is iterative in nature and after every phase it is verified that there should not be any contradiction or ambiguity; after ensuring that there is no contradiction or ambiguity present, it is checked that the requirements should be pragmatic in nature. If any of these is not true than the requirements are again discussed with the customer for reconsideration. Once all these things are clarified for a module from different sites; the requirements for next module from every site is collected. This process continues till the requirements from all the sites and for all the modules have been collected. Let us consider the example of a multi site company ‘A’ consisting of three sites: ‘M’, ‘N’ & ‘O’. Using this model, first requirements are gathered from the sites ‘M’, ‘N’ & ‘O’ for module1. Then any kind of contradiction, ambiguity or inconsistency is checked. If found; then, request for reconsidering requirements is made. Else the practical aspect of the requirement is checked and if it is found that, it is practically possible to implement the requirement, then, the requirement for the next module is collected from the different sites and this procedure is repeated until all the requirements have been gathered. In this way the proposed model rules out the possibility of having any conflict in terms of the requirements gathered from the different sites. 5. CONCLUSION Requirement gathering is one of the most crucial aspects of software development and is always prone to errors. There are several techniques for gathering requirements from the customers and each of them is useful in different scenarios. The problem of requirements gathering intensifies when the requirement has to be gathered from different sites of an organization because of various issues as discussed above. A model for gathering requirements effectively in an organization involving multiple sites has been proposed, which rules out the possibility of any contradiction among requirements gathered from different sites and the ambiguity caused by the requirements that are being gathered from the different sites of an organization. Hence it can be concluded that the model is very useful for gathering requirements in an effective manner from an organization consisting of several sites. REFERENCES [1] Roger S. Pressman, “Software Engineering: A
Practitioner's Approach”, 2010, McGraw- Hill Higher Education, 7 th Edition pp 200-240. [2] Hofmann, Hubert F., and Franz, Lehner. “Requirements Engineering as a Success Factor in Software Projects.” IEEE Software July/Aug. 2001: 58-66.
Fig 4.1 Model for Gathering Requirements from an Organization Involving Multiple Sites
53
International Journal of Research in Advent Technology, Vol.2, No.8, August 2014 E-ISSN: 2321-9637 [3] Hooks, Ivy F., and Kristin A. Farry. CustomerCen tered Products: Creating Successful Products Through Smart Requirements Management. New York: AMACOM (publishing arm of The American Management Association), 2001. [4] Requirements Gathering, elicitation techniques, West university, Sai Ganesh Gunda, 2008. [5] Lecture on “Requirements Gathering” by Professor Yong Tan. [6] Dr. Ralph R. Young, “Recommended Requirements Gathering Practices”, Northrop Grumman Information Technology [7] Markus K. Gröner, “Capturing Requirements Meeting Customer Intent: A Structured Methodological Approach”, May, 2002, Blacksburg, Virginia. [8] Ilari Pulkkinen, “Unifying the Process for Requirements Gathering in Multi-site Organizations: A Case Study with Interface Development Tools”, School of Science, Espoo, 2011.
54