A Survey on Requirement Analysis in the Nigerian Context



Similar documents
Requirements Engineering Process

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis

JOB DESCRIPTION. Contract Management and Business Intelligence

Foundations for Systems Development

White Paper. Business Analysis meets Business Information Management

Assuming the Role of Systems Analyst & Analysis Alternatives

Story Card Based Agile Software Development

11 Tips to make the requirements definition process more effective and results more usable

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1

10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)

Software Requirements Specification (SRS)

Requirements Engineering: Elicitation Techniques

IT2404 Systems Analysis and Design (Compulsory)

Sistemi ICT per il Business Networking

(Refer Slide Time: 01:52)

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Software Requirements, Third Edition

Business Process Discovery

A terminology model approach for defining and managing statistical metadata

Requirements Management Database

Chap 1. Introduction to Software Architecture

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

EVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE

A MODEL OF OPENEHR-BASED ELECTRONIC MEDICAL RECORD IN INDONESIA

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

A system is a set of integrated components interacting with each other to serve a common purpose.

How To Design An Information System

Syllabus CS 682: Systems Analysis and Design Methods Summer 2014 Section C1

Software Risk Factors in Developing E-Governance Projects

A MODEL OF OPENEHR BASED ELECTRONIC MEDICAL RECORD IN INDONESIA

SOFT 423: Software Requirements

GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS

ANALYSIS OF FACTORS INFLUENCING LOAN DEFAULT AMONG POULTRY FARMERS IN OGUN STATE NIGERIA

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

HRODE Alyson Sargeant ext Name of service/policy/strategy/guidance/project proposal

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

CSC 306 System Analysis and design COURSE PARTICULARS COURSE INSTRUCTORS COURSE DESCRIPTION

Systems Analysis and Design Life Cycle

Requirements Engineering

Corresponding Author

Effective Business Requirements (Virtual Classroom Edition)

The Use of Software Project Management Tools in Saudi Arabia: An Exploratory Survey

Project Planning With IT

Chapter 8 Approaches to System Development

Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments.

Efficiency Criteria in Software Project Management

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

The profile of your work on an Agile project will be very different. Agile projects have several things in common:

Fahad H.Alshammari, Rami Alnaqeib, M.A.Zaidan, Ali K.Hmood, B.B.Zaidan, A.A.Zaidan

Comparative Analysis of Different Agile Methodologies

Software Engineering Practices in Jordan

Week 3. COM1030. Requirements Elicitation techniques. 1. Researching the business background

Chapter 3 The Integrated Requirements Management Framework (IREQM)

World Journal on Educational Technology

2. MANIPULATED RESULTS OF SURVEY. C o u n c i l f o r I n n o v a t i v e R e s e a r c h w w w. c i r w o r l d. c o m

DETERMINANTS OF PROJECT MANAGEMENT SUCCESS

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE

in nigerian companies.

NCOE whitepaper Master Data Deployment and Management in a Global ERP Implementation

Agile Process for Integrated Service Delivery

EXAM PREPARATION GUIDE

Overview of Domain Engineering

CHAPTER 11 REQUIREMENTS

A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses

Bachelor's Degree in Business Administration and Master's Degree course description

Please include the job reference quoted (and for LinkedIn adverts refer to the employer job ID) in the subject heading and cover letter.

Commonwealth of Massachusetts IT Consolidation Phase 2. ITIL Process Flows

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

System Development Life Cycle Guide

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

Faculty of Engineering and Science Curriculum - Aalborg University

Bachelor of Financial & Accounting Science

JOB DESCRIPTION. Organisation Chart. Customer BI Lead. Business Insight Lead. Business Insight Manager

Requirements engineering

Partnering for Project Success: Project Manager and Business Analyst Collaboration

Safety Driven Design with UML and STPA M. Rejzek, S. Krauss, Ch. Hilbes. Fourth STAMP Workshop, March 23-26, 2015, MIT Boston

The ICMCI CMC Competence Framework - Overview

A Comparison of SOA Methodologies Analysis & Design Phases

Bidirectional Tracing of Requirements in Embedded Software Development

Literature survey: historical and theoretical background. The chapter requires you to have done some library and company research to:

Effects of Project Management on the Performance of a Construction Firm in Nigeria

THE AWARENESS OF HAVING LIFE INSURANCE POLICY: AN EXPLORATORY STUDY AMONG LAGOS STATE UNIVERSITY STUDENTS IN OJO, LAGOS, NIGERIA

Lecture 9: Requirements Modelling

Comparing Agile Software Processes Based on the Software Development Project Requirements

Executive Leadership MBA Course Descriptions

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

JOB SPECIFICATION. Service Support Manager ORGANISATION CHART: JOB PURPOSE:

What is a requirement? Software Requirements. Descriptions and specifications of a system

A Business Analysis Perspective on Business Process Management

A Business Process Services Portal

Note to the Project Guides MSC (CS-FOSS) Final Semester Projects

City of Portland Job Code: Systems Accountant GENERAL PURPOSE DISTINGUISHING CHARACTERISTICS ESSENTIAL DUTIES AND RESPONSIBILITIES

Surveying and evaluating tools for managing processes for software intensive systems

Conducting A Preparedness Assessment

Vito Madaio, PMP, TSPM 2015, September, 24th

Software selection and acquisition in Nigerian University and Special Libraries: The way forward

UNIVERSITIY OF IBADAN THE POSTGRADUATE SCHOOL FINANCIAL AID FOR INTERNATIONAL STUDENTS AWARD COMPETITION

Mean (Freshmen) Mean (Seniors) Sig. (1-tailed) Mean N Mean *.009 N Mean N

Transcription:

A Survey on Requirement Analysis in the Nigerian Context Olaronke Ganiat Elias 1, Janet Olusola Olaleke 1, Micheal Segun Olajide 1, and Nureni John Ayinla 1 1 Computer Science Department, Adeyemi College of Education Ondo, Ondo State Abstract. Requirement analysis is critical to the success of software development process. It can be described as an iterative process of discovering and analyzing viable features to produce an agreed set of clear, complete and consistent requirements. It involves the gathering of the requirements from the user community usually via fact finding techniques such as questionnaires, interviews and phone calls. This process is complex, difficult to manage and often omitted in software development process in most software developing companies in Nigeria. This therefore explains the limitations of their competitiveness with software development companies in advanced countries. In light of this, the paper attempts to investigate the percentage of Nigeria software development companies that analyses their requirements during software development process. The problems faced during requirement analysis and how best to manage such problems are critically appraised in this paper. Keywords: Requirement analysis, requirements, software development process, requirement analysis management 1 Introduction Software development process is a transformation process executed by series of agents (people and machine) which perform variety of activities and whose association results in the production of a software system [1]. It also refers to the sequence of steps that is required to develop or maintain software. It can also be described in terms of a set of activities needed to transform a user s requirement into a software system. It was emphasized in [2] that software development process is aimed at providing the technological framework for applying tools and people to the software task. The essence of systems development process include ensuring that high quality systems are delivered, providing strong management controls over the projects, and maximizing the productivity of the development team [3]. There are different phases involved in the development of software systems. These processes include preliminary investigation, problem analysis, requirement analysis, design phase, coding, implementation, support and maintenance. Each of these phases is important. However requirement analysis is the most important, difficult and complex to manage of these phases [4]. Empirical studies have documented the difficulties and communication gap that are frequently experienced by software development teams during requirement determination and analysis as group members acquire, share and integrate project relevant knowledge [5]. In this process, requirements and their analysis are forgotten. Moreover, different requirements concerning the same 293

entity arise at different times. This results in inconsistency, ambiguity and incompleteness of several integrated efforts. Furthermore, little attention has been paid to the activities of requirement analysis and needs analysis [5]. This difficulty experienced in requirement analysis spans across software development process across the globe. However, most developed nations of the world have been able to manage the difficulties encountered in the requirement analysis stage of software development. Nigeria software companies have not been able to manage this bottleneck. Consequently, most software development companies in Nigeria rely on foreign packages to thrive. Thus, this paper investigates the percentage of software development companies that engage in requirement analysis during software development and the problems faced by Nigerian software development companies during requirement analysis. Section 2 presents requirement analysis and section 3 focuses on the methodology of the study. Results and analysis are appraised in section 4, while section 5 concludes the paper. 2 Requirements Analysis Requirement analysis has been identified as a critical step of software development [6]. Whitten et al. (2001) defined requirements as the needs of the users of a software system [4]. The users requirements define the goal of the software development process. They are usually prepared by the client (sometimes with the aid of a requirement analyst) to set out the services that such software system is expected to provide. Users requirements are often classified as functional and non-functional requirements [4], [7]. The functional requirement states the services that the system would provide such as the inputs and outputs, while the non-functional requirement defines the properties or characteristics of the system in terms of the response time, performance, and speed. The purpose of requirement capture and analysis is to enhance and direct the system development towards the desired system. Its goal is to produce a document called requirement specification. The requirement specification is often used as the agreed contract between the client and the software development organization on the services that the system would render. It is often the basis used by the software development team to develop the system and a fairly full model of what is required of the system. In order to fulfill these purposes, the requirement analysis process should include the following iterative activities [7]. 1. Domain understanding: Requirement analyst should develop their understanding of the application domain. 2. Requirement capture: This phase involves the gathering of the requirements from the user community usually via fact finding techniques such as questionnaires and interviews [8]. 294

3. Requirement classification: This activity takes the unstructured collection of requirements captured in the earlier phase and organizes them into coherent clusters and then prioritizes the requirement according their importance to the client and the users. 4. Validation: This activity is to check if the requirements are consistent and complete, and to resolve conflicts between requirements. 5. Feasibility study: This is to estimate whether the identified requirement may be satisfied using the software and hardware technologies and to decide if the proposed system will be cost effective. These activities are represented with the diagram below: Developer Understanding Requirement Capture Client Feasibility Study Requirement Statements User Validation Specification document Classification Figure 1: Representation of the phases involved in Requirement Analysis The importance of carrying out these activities include the development of software systems in timely manner, development of software systems within a stipulated budget, development of systems that are reliable, efficient and easy to maintain [4]. 3 Methodology The study was carried out in software development companies in Ibadan and Lagos, and to freelance developers in Lagos, Ibadan, Abuja, Port-Harcourt and Ile-Ife. Case study and survey methods were employed in this research work using analytical research design. The case study was employed in this research to obtain a holistic and an in-depth investigation of the study. The survey was employed alongside the case study to ensure that an appreciable result is obtained from the research. 295

To facilitate the collection of data, questionnaire was employed for the survey and an in-depth interview was used for the case studies viz: a) Questionnaire survey for four hundred freelance developers and hundred software developers in fifteen software developing companies b) In-depth interview for thirty two software developers in six software developing companies 3.1 Study Population The study population consists of a total of five hundred and thirty two respondents, accounting for five hundred in the survey method and thirty two in the case study. 3.2 The Research Methods The case study was carried out in fifteen software development companies, six of which were based in Victoria Island in Lagos, three are based in Ibadan, two in Garki Abuja and four of the companies are based in Trans Amadi Industrial area in Port-Harcourt. Each of these companies engages in software engineering, computer sales, software maintenance and training. These companies were selected purposively. The criterion for this purposive selection was because the companies engage in software development activities and they are located within the authors proximity. The case studies were carried out by interviewing thirty two developers. The software developers interviewed in the companies composed of eight systems analysts, ten programmers, four web designers, four database administrators, two system designers and four project managers. This selection was based on their relative position/importance in the companies. The major focus of the interview was primarily on requirement analysis in Nigeria. The case study was designed to reflect the major issues of the study, problems facing requirement analysis in Nigeria and how to manage these problems in depth analysis/details. The survey methodology was conducted with the use of questionnaire. The questionnaire was designed to be comprehensive, easy and fast to complete. The questions in the questionnaire were basically derived from literatures and research work on requirement analysis. It contained both free and fixed format questions to ensure that an appreciable result is obtained from the research. 3.3. Method of Data Presentation and Analysis Microsoft Excel was used in analyzing the data collected though the questionnaire used for the survey and the case study. 4 Results and Analysis This section presents of the result from the survey and case study methodologies. 296

This table below presents the data on the socio-economic characteristics of the respondents. Table 4.1: Socio Economic Characteristics of Respondents Characteristics Frequency Survey Case Study Sex Male Female 400(90.00%) 100(10.00%) 27 (84.38%) 5 (15.62%) Age 21-30 31-50 50+ Marital Status Single Married Others Religion 178(35.60%) 290 (58.00% ) 32 (6.40%) 162 (32.60%) 332 (66.40%) 5 (1.00%) 14 (45. 75%) 28 (56.25%) 0 (0.00%) 21 (65.62%) 11 (34.38%) 0 (0.00%) Christianity Islam Educational Qualification 376 (75.20%) 124 (24.80%) 20(62.50%) 12 (37.50%) 297

First Degree Masters Others 339 (67.80%) 106 (21.20%) 55 (11.00%) 24 (75.00%) 8 (27.28%) 0 (0.00%) Table 4.1 shows the distribution of the respondents by socio-economic factors. The study revealed that 90% of the survey respondents and 84.38% in the case study are male while 10% of the survey respondents and 15.62% in the case study are female. 66.40 % of the survey respondents are married while the case study accounted for 65.62% of the single respondents. The survey also revealed that 35.38% of the respondents are married, and others accounted for 5% in others. The table also shows the distribution of the respondents by religion. The table showed that the majority of the respondents are Christians representing a total of 75.2% of the respondents, while 24.80% of the total respondents were Muslims. Table 4.1 also shows the educational qualification of the respondents. The result shows that large populations of the respondents were degree holders representing 67.80% of the total respondents while 21.20 % of the total respondents are master s degree holders. The percentage of the frequency of the socio economic factors of the respondents in the survey and case study was obtained using the following formula: percent% = number of respondents belonging to a sub characteristic in survey or case study Total number of respondents in each characteristic in survey or case study X 100 Table 4.2: Distribution Table for Respondents that Participated in Requirement Analysis in the survey and case study No of sampled Respondents No of respondents that engage in requirement analysis No of respondents that do not that engage in requirement analysis Survey 500 144 356 Case study 32 5 27 Total 532 149 383 298

Figure 4.1: A bar chart representing the number of Respondents that Participated in Requirement Analysis in the survey and case study From table 4.2 and figure 4.1, it can be deduced that a total of 532 people participated in the requirement analysis survey and questionnaire. Out of this only 149 engage in requirement analysis during software development while the remaining 383 participants do not engage in this process. From the result of the survey and case study, it can be deduced that 72% of software developers ignore requirement analysis during software development process. From the survey and case study methodologies, the following problems were obtained as the problems affecting requirement analysis in Nigeria. Table 4.3: Distribution Table for the Problems affecting Requirement Analysis in Nigeria Software Development Companies No Problem facing Requirement Analysis % of respondents in survey and case study 1 Voluminous requirements 79 299

2 Complex requirements 3 Changing requirements 4 Changing and unidentified stakeholders 5 Changing analysts 60 67 59 43 The percentage of the respondents in each of the category of problems facing the requirement analysis process is achieved vis-à-vis the following formula. Percentage = number of respondents that face each of the problem X 100 Total number of respondents in survey or case study that face requirement analysis problem The problems affecting requirement analysis process in table 4.3 is as described below: Voluminous requirements: If the requirements from the stakeholders in the software development company is too voluminous it can lead to inconsistency, such as varied used of terminology. Complex requirements: The complexity of the software specification can make it difficult to understand exactly what has been specified or how components interact. Changing requirements and analysts: As a requirements document is developed, new requirements are added and older ones are updated. One change request can lead to a cascade of other change requests until the requirements reach a more consistent state. As a result, the document is typically in a transitory state where many semantic conflicts exist, of which most are expected to be resolved simply by bringing them to the state understood by the analysts. Requirement concepts and their expressions will also change with the composition of new team members and this can lead to requirement inconsistencies. Also, different stakeholders often seek different requirements that cannot be mutually achieved. Changing and unidentified stakeholders: In the attempt to understand system requirements, requirement analysts often seek new stakeholders for an ongoing software development project. This however leads to changing stakeholders and this can lead to drastic changes in the requirements. 300

4.1 How to manage requirement analysis in Nigeria software industries There are a lot of tools that assist in requirement analysis. Such tools include Computer Aided Software Engineering (CASE) tools, which have been successful in the areas of code generation and modeling. However, these tools are less successful in supporting requirement analysis. Another significant aspect of requirement analysis is in the area of the identification and resolution of requirement faults. Many research projects have been carried out to identify this faults which include incorrect facts, omissions, inconsistencies and ambiguity. Some of these include model checkers, knowledge based scenario checkers and terminology consistency checkers. These tools basically check for syntactic errors or perform checks on program inputs and path execution. However, requirements faults are not related back to the original stakeholders nor has there been support for resolving such faults. To manage requirement analysis in the Nigerian context, faults must be related back to the original stakeholders so as to avoid inconsistency and ambiguity in the software development process. 5 Conclusion This paper examined requirement analysis in Nigeria. The research relied on literature and past work on requirement analysis to develop the questionnaire and interview questions. The results from the questionnaire and interview showed that requirement analysis is not fully incorporated and managed in Nigerian software development industries. The paper also revealed that software systems developed in Nigeria are usually of low quality and not useable as a result of inadequate requirement analysis. The paper however revealed that apart from using tools such as CASE tools to manage requirement analysis, it is also necessary to relate with the original stakeholders so as to avoid inconsistency and ambiguity in the software development process. References 1. Soriyan, H.: A Conceptual Framework for Information Systems Development Methodologies for Education And Industrial Sector In Nigeria. PhD Thesis, Obafemi Awolowo University Ile-Ife (2004) 2. Salo, O. Abrahamson, P., Ronkainen, J. Warsta, J.: Agile Software Development Methods: Review and Analysis. VTT Publications (2002). 3. Bender RBT Inc.: Systems Development Lifecycle: Objectives and Requirements. Bender RBT Inc, Queensbury, New York (2003) 4. Whitten, L., Bentley D., Kevin, C.: Systems Analysis and Design Methods. Mcgraw-Hill, Irwin (2001) 5. Bolchini, D.: Mastering Requirements Analysis for Communication-Intensive Websites. PhD Thesis Faculty of Communication Sciences, University Of Lugano (2005). 6. Belkhouche, B.: Semantic Case Analysis of Informal requirement. Computer Science Department, Tulane University, New Orleans, USA. (1996). 301

7. Bell, T.E, Thayer T.A.: Software requirements: Are They Really A Problem? Proceedings of the 2 nd International Conference on Software Engineering. (1975). 8. Lui, Z. : Object Oriented Analysis And Design With UML. United Nations University (2002) 302