Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Similar documents
Practice Examination IREB

ECE-492 SENIOR ADVANCED DESIGN PROJECT

MULTIDISCIPLINARY TEAM COMMUNICATION THROUGH VISUAL REPRESENTATIONS

Specification of the Verity Learning Companion and Self-Assessment Tool

A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Requirements-Gathering Collaborative Networks in Distributed Software Projects

PROCESS USE CASES: USE CASES IDENTIFICATION

Cambridge NATIONALS. Creative imedia Level 1/2. UNIT R081 - Pre-Production Skills DELIVERY GUIDE

Author: Justyna Kowalczys Stowarzyszenie Angielski w Medycynie (PL) Feb 2015

Towards a Collaboration Framework for Selection of ICT Tools

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

LEt s GO! Workshop Creativity with Mockups of Locations

Nonfunctional Requirements: From Elicitation to Conceptual Models

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Pragmatic Use Case Writing

Introduction to CRC Cards

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

Generating Test Cases From Use Cases

Evaluating Collaboration and Core Competence in a Virtual Enterprise

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

CREATE YOUR OWN INFOMERCIAL

Deploying Agile Practices in Organizations: A Case Study

THE CONSENSUS PROCESS

DSTO WTOIBUT10N STATEMENT A

Unit 7 Data analysis and design

Self Study Report Computer Science

Introduction to Psychology

UML MODELLING OF DIGITAL FORENSIC PROCESS MODELS (DFPMs)

Online Marking of Essay-type Assignments

Including the Microsoft Solution Framework as an agile method into the V-Modell XT

Modeling user preferences and norms in context-aware systems

A 3D SIMULATION GAME TO PRESENT CURTAIN WALL SYSTEMS IN ARCHITECTURAL EDUCATION

What is PDE? Research Report. Paul Nichols

Motivation to e-learn within organizational settings: What is it and how could it be measured?

Visit us at:

Procedia - Social and Behavioral Sciences 143 ( 2014 ) CY-ICER Teacher intervention in the process of L2 writing acquisition

National Literacy and Numeracy Framework for years 3/4

Creating Meaningful Assessments for Professional Development Education in Software Architecture

Multimedia Courseware of Road Safety Education for Secondary School Students

HARPER ADAMS UNIVERSITY Programme Specification

Functional requirements, non-functional requirements, and architecture should not be separated A position paper

Guidelines for Mobilitas Pluss postdoctoral grant applications

DEPARTMENT OF SOCIAL SCIENCES

Ministry of Education, Republic of Palau Executive Summary

Knowledge Elicitation Tool Classification. Janet E. Burge. Artificial Intelligence Research Group. Worcester Polytechnic Institute

ICT + PBL = Holistic Learning solution:utem s Experience

Data Fusion Models in WSNs: Comparison and Analysis

Software Maintenance

10.2. Behavior models

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

Personas in the User Interface Design. Xin Wang

BEST PRACTICES FOR PRINCIPAL SELECTION

NATIONAL CENTER FOR EDUCATION STATISTICS RESPONSE TO RECOMMENDATIONS OF THE NATIONAL ASSESSMENT GOVERNING BOARD AD HOC COMMITTEE ON.

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Problem Solving for Success Handbook. Solve the Problem Sustain the Solution Celebrate Success

University of Cambridge: Programme Specifications POSTGRADUATE ADVANCED CERTIFICATE IN EDUCATIONAL STUDIES. June 2012

An Interactive Intelligent Language Tutor Over The Internet

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

Stephanie Ann Siler. PERSONAL INFORMATION Senior Research Scientist; Department of Psychology, Carnegie Mellon University

Physics 270: Experimental Physics

Mathematics subject curriculum

Tuesday 13 May 2014 Afternoon

Guidelines for Mobilitas Pluss top researcher grant applications

Strategy and Design of ICT Services

CORE CURRICULUM FOR REIKI

ADDIE MODEL THROUGH THE TASK LEARNING APPROACH IN TEXTILE KNOWLEDGE COURSE IN DRESS-MAKING EDUCATION STUDY PROGRAM OF STATE UNIVERSITY OF MEDAN

TCH_LRN 531 Frameworks for Research in Mathematics and Science Education (3 Credits)

Certified Six Sigma Professionals International Certification Courses in Six Sigma Green Belt

A Study of Metacognitive Awareness of Non-English Majors in L2 Listening

PhD project description. <Working title of the dissertation>

Report on Academic Recruitment, Hiring, and Attrition

2017 FALL PROFESSIONAL TRAINING CALENDAR

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

WOMEN RESEARCH RESULTS IN ARCHITECTURE AND URBANISM

Research as Design-Design as Research

Wildlife, Fisheries, & Conservation Biology

Three Strategies for Open Source Deployment: Substitution, Innovation, and Knowledge Reuse

Urban Analysis Exercise: GIS, Residential Development and Service Availability in Hillsborough County, Florida

Efficient Use of Space Over Time Deployment of the MoreSpace Tool

Brainstorming Tools Literature Review and Introduction to Code Development

Longman English Interactive

Software Engineering Education at Carnegie Mellon University: One University; Programs Taught in Two Places

The IDN Variant Issues Project: A Study of Issues Related to the Delegation of IDN Variant TLDs. 20 April 2011

ANNUAL CURRICULUM REVIEW PROCESS for the 2016/2017 Academic Year

Characteristics of Functions

VOCATIONAL QUALIFICATION IN YOUTH AND LEISURE INSTRUCTION 2009

Matching Similarity for Keyword-Based Clustering

Automating the E-learning Personalization

Graphical Data Displays and Database Queries: Helping Users Select the Right Display for the Task

Experiences Using Defect Checklists in Software Engineering Education

On-Line Data Analytics

Twitter Sentiment Classification on Sanders Data using Hybrid Approach

Pair Programming: When and Why it Works

DegreeWorks Advisor Reference Guide

A Systems Approach to Principal and Teacher Effectiveness From Pivot Learning Partners

Transcription:

835 Different Requirements Gathering Techniques and Issues Javaria Mushtaq Abstract- Project management is now becoming a very important part of our software industries. To handle projects with success is very big deal. In software project management process there are some phases, first phase is requirement gathering. To get correct requirement and to handle it, is most important for complete project successfully. Requirement management used to ensure that product or software meets user s need or expectations. Requirements are defined during planning phase and then these requirements are used throughout the project. There are some techniques for gathering requirements. These techniques are interview, prototyping, use case analysis, JAD (Joint Application Design), brainstorming questionnaires and storyboard. While gathering requirement, we faced many issues that are not capable for successful project. In this paper, there will be discussed these techniques and issues that are faced during requirement gathering and their solution. Index Terms- Software project management, interview, prototyping, use case analysis, JAD (Joint Application Development), brainstorming, questionnaires, storyboard 1. INTRODUCTION R equirements analysis is critical to the achievement of development project. Requirements should be measurable, actionable, and testable and also should be related to the user s expectations. Requirement without any ambiguity fulfill the user s requirement make project successful. While gathering requirements focused on what should be required rather than how it is required [1]. These requirements specification produce good project. There are some requirements types. Every project has some kind of requirements like [4]: Using peer reviews, scenarios, and walkthroughs to validate and verify requirements results in a more accurate, specification and higher customer satisfaction. It is estimated that 85% defects are find in requirements during software development [2]. There are some techniques that are used to gather requirement. Every technique is not used for every project. In these techniques some are useful and some are not but it depends on the project description. Good requirement specifications are listed [3]. Usable during operations and maintenance Complete Verifiable Unambiguous Modifiable Traceable Javaria Mushtaq is currently pursuing MS in Computer Science from Superior University, Lahore, Pakistan. E-mail: javariamushtaq58@gmail.com Functional requirements Non- Functional requirements Domain requirements Inverse requirements During requirements elicitation there may be many issues that have to face. That issue and their solutions will discussed in this paper. Different techniques and which one is best for which type of project will discussed in this paper. 2. TECHNIQUES OF REQUIREMENTS GATHERING In reality there are hundreds of different techniques for requirement elicitation. In this paper, some commonly used techniques are mentioned. These are [5]. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Interview Questionnaires Brainstorming Storyboard Prototyping Use cases JAD (Joint Application Development) 2.1 Interview Interview is common technique used for gather data or information. In this technique interviewer conduct a meeting with interviewee. Interviews questions should be

836 according to the interviewee s level. Gather information according to his/her requirement. Questions should be open ended however; interviewee can provide clear answer of your question. There are three types of questions. These are structured, unstructured and semi structured. Structured interviews are conducted where domain is specified. In this type specific questions are asked and get to the point answer. In this way, all the questions are covered up in this type. The other is unstructured interview in this type interviewer ask questions and require detail answer of these questions. Interviewer applies only partial control over the way of discussion. In this way some topic may be neglected [6]. Semi structured is combination of both. The semi structured interview, where elementary usual of the question is organized and used. picture of all requirement like tool bar, main window, dialogue boxes etc. After draw full picture of all requirements, all members agreed upon on it. It is just like paper prototyping [1]. Storyboarding is very common technique for designing about which you want to get information for their project. Storyboarding is much realistic for understanding about software s structure for unknown persons who do not know about technical terms. There are some attribute or elements of storyboarding, which explain basic points for draw storyboarding. These are [8]. Level of details Inclusion of text Inclusion of people and emotions Number of frames Portrayal of time 2.2 Questionnaires Questionnaire is best technique for gathering information. In this technique questions are listed in paper. Questions are filled by the stakeholders and get the answer of these questions. In this technique stakeholders cannot express their idea. No new dimension can defined. Questionnaire type focused on the limited information eliminated unnecessary information [6]. 2.3 Brainstorming Level of details Brainstorming technique is group discussion in which members shares their ideas and find out the solution of specific problem. Brainstorming generates or gathers new ideas rather than its quality. This technique is more popular because of it is a group activity all the members share own idea. It is more productive for the reason that groups. When members generate idea it is more value able as of group product and members enjoy the group activity. There is method for conducting brainstorming task. These are [7]: Explanation is given below. Subjects and design Procedure Results Discussion Level of details describes existent of actor and objects. It depends upon the designer how to draw scene or describe only detail of interface. Inclusion of text In storyboarding text could be including in design with each section. It may be possible designer will not use text. Inclusion of people and emotions During designing end users should be in mind. Design should be according to end user that affects the user or stakeholders. Number of frames Number of frames should be in mind mostly 1 to 20 frames are included in each story. Each storyboard contains different number of frames according to its requirement. Several features are containing in storyboards. Portrayal of time Time passing is include in storyboarding or used transitions. It is not compulsory to manage brainstorming sessions for resolve major issues. The purpose of this technique is introductory mission statement for specific problem. Advantage of this technique is encouraging open-minded and free ideas or innovation on particular predefine problem [6]. 2.4 Storyboard In this technique user, customer and developers draw picture of what they want to develop software. Draw

837 purpose or goal for interaction with the system without knowing about internal system. Here is format of use case description [11]. Table 1: Template of Use Case Use case No. Goal Scope and level Preconditions Success end condition Failed end condition Primary, secondary actors Figure 1: screen shots of non-functional interface Trigger This figure is about user s purchasing of different foods. User checks different items then add to chart after some time exclude some items then finally select some items and place order [8]. 2.5 Prototyping Goal name in verb phase Longer detail of goal statement What system is going to present, summary What we expected is before now Successful completion What will objective if goal aborted Name of primary and secondary actors and their role Activities upon the system that start use case Description of all over the use case Prototyping is more significance technique for gathering requirement. Through prototyping detailed requirements can be gathered if preliminary requirement are already collected [9]. Prototyping is much effective for gathering relevant information from users; users provide relevant information and also provide feedback. This technique is useful when users or stakeholders not aware about technical terms in this way they deliver right information and react on their requirement which is develop by designer or developers. Some times this technique is expensive in tenure of cost and time [6]. Prototype can be flat diagrams. It helps us to prevent from misperception. 2.6 Use cases Use case analysis is a document that defines relationship between actor and system. Arrangement of actions a user uses a system to complete a procedure. Define how system will behave in particular situation. Use case can be used to represent business functionality [10]. An actor is used as interaction with system how to discuss with system or its environment. Use case will be successful when its goal is satisfy. Use case description also include in use case analysis. Use case steps are written in easy and understandable format of use case diagram. System is preserved such as black box, in which actor presents as whom, what will be interact as system and Description In table 1 there is given a template of use case description. Actors who will interact with system, goal of use case description, precondition and if use case will not successful then failure condition all these points are mentioned in use case description. Diagram of use case can present with an actor, use case and system boundary through which actor interact with use case. Diagram of use case presented as: Use case Arrow for relationship between actor and system s use case System boundary (through which actor will interact with use case) This is a way to present a scenario through diagram. These shapes are used in use case diagram. 2.7 JAD (Joint Application Development) In this technique all stakeholders are include for solution of problem or gathering information. With all parties decision can be made speedily. Main difference between JAD and brainstorming is that system have previously recognized before stakeholders take part. JAD session is well-maintained with define phases and role of

838 actors. This type of technique is used for solve business issues rather than technical issues [6]. In JAD session a facilitator include for guideline of system requirement and help out to users for resolve interview, provide information and taking decisions [12]. In early JAD acronym was DESIGN, but now it become joint Application Development. JAD has five stages and their activities; table of five stages is given below [13]. Table 2: Five stages of JAD JAD Stages Project Definition Background Research The Workshop Final Documentation Fig 2: Meeting room of JAD Pre workshop Preparation Activities Define system goal, objective. Identify JAD team fellows. Establish project schedule. Gather background knowledge of user requirement. Known about general issues that will discuss in JAD session. Organize for session. Prepare all the documents and visual aids. Train the illuminator. Conclude solution within three to five day session. Finalize document meeting decision. Prepare Closing document that contain final decision attained at through workshop. 3 ISSUES IN REQUIREMENTS GATHERING When talk about the requirement gathering or requirement elicitation then there may be many issues to gather data from users or stakeholders. Here will be describing some issues and solution of these issues [6]. 3.1 3.2 3.3 3.4 3.5 Scope Communication and understanding Quality of requirements Stakeholders Practice Detail of issues and their solution are specified below. 3.1 Scope JAD is useful due to some reasons like non contributor are encouraged, dominance is reduced during session, side discussions are include and true conflicts are under consideration in JAD session. Meeting room of JAD is displayed below in figure 2 [4]. Big issue of requirement elicitation is scope. Sometime user or stakeholders are not familiar or know the scope of project. They can not specify the goal of their project. When scope issue occurs, then it creates issue to gather information from users. Scope should be limited and clearly define. However, requirements can be gather correctly according to user s needs or according to nature of project. Scope is very essential for good software project management. It is seemed that some projects are very worthy but due to limited scope these are not successful. 3.2 Communication and understanding In communication and understanding issue mostly faced end users. During communication with stakeholders some issue may be language issue. Stakeholders may be possible they do not know the language or it may possible

839 they are not familiar with your condition and terms. Another issue with communication could be that, however their language is different so their rules may be different. So they are not able to understand your terms and they are not able to specify their own requirement. Communication issues have four dimensions of the framework. These dimensions show the performance during activity of requirement gathering. These are [14]: Stakeholder participant and selection Stakeholder interaction Communication activities Techniques 3.4 Stakeholders Explanations of these dimensions are given that can help to solve communication issue. Stakeholder participant and selection First select stakeholders for gathering information. Selection should be on right bases and right users. Selection of stakeholders should be on the basis of domain knowledge, about which domain have to gather requirement. Sometime it might be happened to select stakeholders on the basis of their position rather than their knowledge. 3.5 Practice Generally practice is good factor in requirement elicitation. Sometime not expert analysts are available for requirement gathering or there may be some gap between requirement theory and practice. Sometime analyst repeat mistake again and again. So, hire experience analysts for this purpose. 4 Communication activities Communication will possible when both parties cooperate and negotiate. Communication activities categorize into three ways. One is knowledge acquisition, acquire knowledge. Second is knowledge negotiation, negotiation with other stakeholders for share of knowledge and requirement needs. Third is stakeholder acceptance, these requirements should be accepted by stakeholders. Stakeholder is one of main issue during requirement gathering. Actually stakeholders do not know what they want and what their need is. They do not satisfy on one point because they really not know about technical terms. They have no idea about software working and system how it works. These are some conflicts that should be removed. This issue rose due to unawareness of stakeholders. They do no cooperate whole time with project team members. On the other hand, they are not able to finalize the solution of decision of any problem. Stakeholder interaction Stakeholder interaction includes get information from them through meeting. In interaction political or culture issue may arise. Different cultures have different language so there should be common language to understand to each other. Meeting schedule should be managed agreeing to both parties. environment at that time is not according to their needs so they are not able to provide right information. Requirement elicitation is a first phase for initial any project so information should be correct and complete but stakeholders or other users where have to get requirement they do not provide correct and complete information that effects on overall project. At the end project quality not get best due to quality of requirement. Solution is that carefully gets information according to their need and put limited question and get to the point answer in this way quality of requirement can be improve. Effectiveness of Requirements Gathering Techniques There is graph that represent overall effectiveness of different requirement techniques [15]. Effectiveness of requirement Gathering methods Techniques Techniques used for link to developer with customer. To maintain relationship between them two techniques are used, Group and traditional. In group focus, brainstorming and workshops are included. In traditional questionnaire, interview and analysis of existing document are included. Effectiveness 5 4 3 2 1 0 3.3 Quality of requirements During gather information some users not provide right information they are not serious. Sometime their Graph of effectiveness of requirement gathering techniques

840 This graph shows effectiveness of different techniques that are defined in this paper. Use cases are most effective because every use case present a brief description of what will happen what are causes of that use case precondition, post condition, other actors if are involved in it all these explanation is defined in use case scenario. 5 CONCLUSION In any project main and first phase is requirement elicitation. Right and correct information from stakeholders are actual significant for successful and without any defect project. So, this paper is about different techniques of requirements elicitation. When talk about techniques then there are some issues. In requirement gathering every technique is not use for every project. Some techniques have some issues that are a cause techniques are used according to project s nature. Every technique has some benefits and some drawbacks. Before using technique check specifications of these techniques, which one is best or suitable for which type of project? At the end of this paper defined result of techniques of requirement gathering, effectiveness of selected defined techniques. REFERENCES [12]E. W. Duggana and C. S. Thachenkary. Integrating nominal group technique and joint application development for improved systems requirements determination. Information and management, v. 41, pp. 399-411, 2004. [13]E. W. Duggana and C. S. Thachenkary. Higher Quality Requirements: Supporting Joint Application Development with the Nominal Group Technique. Information Technology and Management, v.4, pp. 391408, 2003. [14]J. Coughlan et al. Communication issues in requirements elicition: a content analysis of stakeholder experiences. Information and Software Technology, v. 45, pp. 525-537, 2003. [15]W. J. Lloyd et al. Effectiveness of Elicitation Techniques in Distributed Requirements Engineering. IEEE Computer Society, Proceedings of the IEEE Joint International Conference on Requirements Engineering (RE 02), 2002. [1] Ralph and R.Young Recommended Requirements Gathering Practices. Northrop Grumman Information Technology, pp. 9-12, Apr 2002. [2] Young and R. Ralph. Effective Requirements Practices. Boston: Addison-Wesley, 2001. [3] M. G. Christel and K. C. Kang. Issues in Requirements elicitation. Carnegie Mellon University: Pittsburgh, Sep 1992. [4] Y. Tan. IS 460 Notes, lecture 3, Requirements Gathering. [5] Engineering and Managing Software Requirements. Berlin : Springer Berlin Heidelberg, 2005. Requirements Elicitation: A Survey of Techniques, Approaches, and Tools, s. 19-49. ISBN 978-3-540-28244-0. [6] D. Zowghi and C. Coulin. 2 Requirements Elicitation: A Survey of Techniques, Approaches, and Tools. pp. 19-46. [7] P. B. Paulus et al. Perception of Performance in Group Brainstroming: The Illusion of Group Productivity. SAGE Social Science Collections, pp. 78-89, Mar 2015. [8] K. N. Truong et al. Storyboarding: An Empirical Determination of Best Practices and Effective Guidelines. University Park, Pennsylvania, USA, pp. 12-21, Jun 2006. [9] R. Silhavy et al. Requirements Gathering Methods in System Engineering. Automatic Control, pp. 106-110. [10]Requirements Management. CDC Unified Process Practices Guid, pp. 15, UP version Jun 2007. [11]A. Bertolino et al. Use case Description of Requirements for Product Lines. Nokia Research Center, Software Architecture Group, Finland, pp. 12-18.