Decision Support System for Software Risk Analysis during Software Development



Similar documents
Parallel Fuzzy Cognitive Maps as a Tool for Modeling Software Development Projects

Risk Knowledge Capture in the Riskit Method

Project Management Efficiency A Fuzzy Logic Approach

A Risk Management System Framework for New Product Development (NPD)

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504

Fuzzy Logic Based Revised Defect Rating for Software Lifecycle Performance. Prediction Using GMR

Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques

KPIs Target Adjustment Based on Trade-off Evaluation Using Fuzzy Cognitive Maps

Motivations. spm adolfo villafiorita - introduction to software project management

Identification and Assessment of Software Project s Risk

Darshan Institute of Engineering & Technology Unit : 10

Chapter 1 The Systems Development Environment

SERUM - Software Engineering Risk: Understanding and Management

An Implementation of Software Project Scheduling and Planning using ACO & EBS

QOS Based Web Service Ranking Using Fuzzy C-means Clusters

Top Ten Lists of Software Project Risks : Evidence from the Literature Survey. Tharwon Arnuphaptrairong

Software Risk Management Practice: Evidence From Thai Software Firms

IJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 10, 2015 ISSN (online):

Schedule Risk Analysis Simulator using Beta Distribution

A RANDOMIZED LOAD BALANCING ALGORITHM IN GRID USING MAX MIN PSO ALGORITHM

Know Your Enemy: Software Risk Management 1

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

Strength and Weakness of Software Risk Assessment Tools

Optimal PID Controller Design for AVR System

Software Risk Management: a Process Model and a Tool

INFORMATION SECURITY RISK ASSESSMENT UNDER UNCERTAINTY USING DYNAMIC BAYESIAN NETWORKS

Classification of Fuzzy Data in Database Management System

A New Methodology For Developing The MIS Master Plan Mohammad Dadashzadeh, Ph.D., Oakland University, USA

Forecasting of Economic Quantities using Fuzzy Autoregressive Model and Fuzzy Neural Network

Change Risk Assessment: Understanding Risks Involved in Changing Software Requirements

Risk Model For Software Development Personnel

Optimized Fuzzy Control by Particle Swarm Optimization Technique for Control of CSTR

Different Approaches using Change Impact Analysis of UML Based Design for Software Development

MOCET A Certification Scaffold for Critical Software

Project Risks. Risk Management. Characteristics of Risks. Why Software Development has Risks? Uncertainty Loss

Software Risk Management and Avoidance Strategy

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Axiomatic design of software systems

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

White paper: Comprehensive Review and Implementation of Risk Management Processes in Software Development

A Special Session on. Handling Uncertainties in Big Data by Fuzzy Systems

A SURVEY ON GENETIC ALGORITHM FOR INTRUSION DETECTION SYSTEM

Risk Management Framework

An Analysis on Objectives, Importance and Types of Software Testing

Verification and Validation of Software Components and Component Based Software Systems

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization

Aerospace Software Engineering

Evaluating the Critical success factors of strategic customer relationship management (SCRM) in textile industry (with Fuzzy Approach)

T T. Think Together Sandra Milena Choles Arvilla THINK TOGETHER. Srovnávání řízení rizik pro softwarové projekty

Software Cost Estimation: A Tool for Object Oriented Console Applications

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Global Billing System

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

How To Manage Project Management

OUTSOURCING YOUR GUARD SERVICE

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Information Security Incident Management Process

Fuzzy Candlestick Approach to Trade S&P CNX NIFTY 50 Index using Engulfing Patterns

Risk. Risk Categories. Project Risk (aka Development Risk) Technical Risk Business Risk. Lecture 5, Part 1: Risk

AN APPLICATION OF INTERVAL-VALUED INTUITIONISTIC FUZZY SETS FOR MEDICAL DIAGNOSIS OF HEADACHE. Received January 2010; revised May 2010

Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering

Open Workbench Warrior. Beginner's Guide to Open Workbench

Degree of Uncontrollable External Factors Impacting to NPD

Integrated Risk Management As A Framework For Organisational Success. Abstract

(Refer Slide Time: 01:52)

A Taxonomy of Operational Risks

A Structured Methodology For Spreadsheet Modelling

Risk-Managed Modernization

REAL-TIME PRICE FORECAST WITH BIG DATA

Software Engineering UNIT -1 OVERVIEW

Software Project Planning and Resource Allocation Using Ant Colony Optimization with Uncertainty Handling

PROGRAMMING FOR CIVIL AND BUILDING ENGINEERS USING MATLAB

Comparative Analysis of FAHP and FTOPSIS Method for Evaluation of Different Domains

Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency

International Journal of Emerging Technology & Research

Software Project Management

ERP SYSTEM SELECTION BY AHP METHOD: CASE STUDY FROM TURKEY

Software Project Management. Objective. Course Objectives. Introduction to SPM

A Multidatabase System as 4-Tiered Client-Server Distributed Heterogeneous Database System

An Intelligent Approach to Software Cost Prediction

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

How To Understand The Limitations Of An Agile Software Development

A HYBRID FUZZY-ANN APPROACH FOR SOFTWARE EFFORT ESTIMATION

Open Access Research on Application of Neural Network in Computer Network Security Evaluation. Shujuan Jin *

Context Model Based on Ontology in Mobile Cloud Computing

AP Physics 1 and 2 Lab Investigations

Manjeet Kaur Bhullar, Kiranbir Kaur Department of CSE, GNDU, Amritsar, Punjab, India

Transcription:

Decision Support System for Software Risk Analysis during Software Development Surbhi Anand Assistance Prof CT Institutes, Jalandhar, Punjab,India. Vinay Chopra Assistance Prof Daviet,Jallandhar, Punjab,India. 1. Abstract Software Engineering is a profession to provide high quality software to the customers. It is a systematic approach to analysis, design, implementation, maintenance and re-engineering of software. But there are many factors that affect the quality of software. These factors can cause various problems in the projects like increase in complexity, use of more resources, increase in time and budget of the project etc. If effects of risk factors are not estimated it will lead to the failure of the project. To avoid such situation from occurring it is important to estimate the possible effects of the risk factors on the software projects. So, during research it has been tried to find all possible risk factors and find out their interdependencies with each other and a decision support system is proposed to analyze software risks. The results of the tool will help the software developers to take important future decisions. 2. Introduction Software engineering is a profession of providing high quality of software product to the customer [1]. Quality is major concern in the Software development process. Commonly the process involves finding out what the client wants,composing this in the list of requirements, designing an architecture capable of supporting all of the requirements designing, coding, testing and integrating the separate parts, testing the whole deploying and maintaining the software. The quality of software is accessed by number of variables. This variable divided into external and internal quality criteria. External quality what a user experiences when running the software in its operational mode. Internal quality is code-dependent that are not visible to user [2]. Resources required accomplishing the software development effort. Customer never becomes ready to compromise with the quality [3]. If the quality degrades, it leads the project to failure. In fact, there are several risk factors which can lead the project to failure. Risks have no exact values. They are based upon uncertainties. In order to successfully manage software projects, we must learn to identify, analyze and control software risks [4]. Although controlling risks have a cost, but if the risks are not addressed and does indeed bite us. But there is no magic solution to overcome these risks [5]. Extensive research has been done to develop sophisticated tools that can analyze and provide accurate information for the choice of development of projects. Fuzzy Cognitive approach is used in this research as it is capable to deal with the concepts of complex systems with its features of simplicity, adaptability and capability of approximating abstractive structures. Fuzzy Cognitive Maps (FCMs) describe different concepts with different aspects in the behavior of complex systems. Therefore a software tool based upon FCM is developed for assessing software risks. ~ 29 ~

3. Software Risks Risks are always uncertain. Risks do not have exact value. There is a list of evil things that always depress the software quality. But, we often assume that everything will go exactly, it is planned. So, Most of the factors that adversely affect the project attractiveness are called Risks, and generally risk is intangible and hard to measure. Due to the uncertain nature of risk, project managers must somehow determine the impact the risks will have on the project. Risk analysis has in its essence uncertainty and impreciseness. Any analysis made ignoring this uncertainty and impreciseness may cause information to be seriously misleading, therefore, contributing to large mistakes.the following is the list of risk factors which affects the software development process and finally leads the project to failure.the Following is the list of risk factors which can lead the software to failure[6-16]. Imprecise Requirements Analysis Gold Plating Adding people to late project Friction between developer and customer Planning to catch up later Shortchanged quality assurance Wishful thinking Politics placed over substance Insufficient risk management Poor Management Poor Team Cohesiveness Market Competition Uncontrolled employees problems Lack of effective project sponsorship Lack of user input Code like hell programming Politics placed over substance Contractor failure People Don t get work according to their Expertise Time Constraints Budgets Constraints Environmental Failures Dynamic nature of the Customer Shortfalls in externally supplied Components Noisy crowded offices Research oriented development Table 1: Risk Factors ~ 30 ~

4. Fuzzy Cognitive Maps Cognitive maps were initially introduced in 1976 by Robert Axelrod and were applied in political science.fuzzy Cognitive Maps (FCMs) were first introduced by Bart Kosko in 1986 as an extension of cognitive maps. A Fuzzy cognitive map is a cognitive map within which the relations can be used to compute the "strength of impact" of various elements. The construction of an FCM requires human experience in the form of inputs and knowledge on the system under consideration [17]. Thus, FCMs integrate the accumulated experience and knowledge concerning the underlying causal relationships among different factors. Fuzzy Cognitive Maps are represented by graphs. FCMs models can be represented by a square matrix called Connection Matrix. Matrix is the combination of row and column in the table. Each cell in connection matrix stores the value of corresponding relationship. FCM has been used in various applications like, in the control related themes FCMs have been used to model and support plant control [18], to represent Failure Models and Effects Analysis for a system model [19,20,21] and to model the supervisor of control systems [22]. Fuzzy Cognitive Maps have been used for planning and making decisions in the field of international relations and political developments [23] and for analyzing graph theoretic behavior, been proposed as a generic system for decision analysis [24] and for distributed cooperative agents [25]. Fuzzy Cognitive Maps also have been used to analyze electrical circuits, to structure Virtual worlds. 5. Proposed Work For estimating the effects of risk factors selected for the research, we have proposed fuzzy cognitive based tool. From the literature survey we have found that there are number of factors which can have direct or indirect impact on the project failure. Although the impact of various factors can vary according to the organization. From the number of factors 15 input factors are selected and we have checked their impact on the 4 output factors. The weights of all the dependent factors are calculated using FIS rule viewer. The following data contains the list of input factors output factors which will be adversely affected if the input factors arise. Input Factors Poor Management Extreme Influence of external challenges Deadline Pressure Lack of commitment Gold Plating Lack of Training /Experience Lack of personal motivation Increased Likelihood of nonbonding Market Competition Difficulty in achieving in goals Less Salary Corruption Change in Customer Requirements People don t get work according to Expertise Shortfalls in externally supplied components Table 2: Input Factors ~ 31 ~

Chances of risk at Team Cohesiveness Chances of risk at S/W Quality Chances of risk at Project Success Chances of risk at Technical Strength Output Factors Table 3: Output Factors With the selection of input and output parameters, Using MATLAB, GUI based tool is developed according to the 30 different added rules as shown in Figure 1. Figure 1: Proposed Tool 6. Experimental Results Case 1: IF Deadline Pressure, Lack of Commitment,Gold Plating, Lack of training, Lack of personal Motivation, Difficulty in achieving goals, less salary, changes in customer requirements are ON, the tool predict the output based upon the weights assign to each factor. The following diagram shows the different ON factors and the output panels shows the chances of Poor software quality will be 13.5222%, chances of risk on project success would be 23.5426 %, chances of risk at technical strength would be 35.1181 % and finally the chances of poor team cohesiveness would be 35.8269 %. Case 1: Input Data ~ 32 ~

Case 1: Output Data Case 2: IF Deadline Pressure, Lack of Commitment,Gold Plating, Lack of training, Lack of personal Motivation, Market Competition, Shortfalls in externally supplied components are ON, the tool predict the output based upon the weights assign to each factor. The following diagram shows the different ON factors and the output panels shows the chances of Poor software quality will be 13.5222%, chances of risk on project success would be 30.9987 %, chances of risk at technical strength would be 43.3854 % and finally the chances of poor team cohesiveness would be 36.6221 %. Case 2: Input Data Case 2: Output Data 7. Conclusion Researchers are still working to get the more and knowledge of how risk factors can be measured and integrated into the project management process. So that negative impacts can be avoided or we can plan out how to tackle such kind of risks during the management of the development process. Risk analysis is a structured mechanism to provide the visibility of threats to project success. Researchers are concerned by sharing which risk factors does directly and which risk factors does not directly affect among multiple projects will help upcoming software projects to ~ 33 ~

avoid reiterating the issues of the past. As researchers are working in the area of risk management and as more and more data is collected, the refined the models and techniques will become in the future. In reality, this is a practically impossible task, both from the amount of information required and the difficulty of extracting/estimating the required probability information of risk occurrence. Still, we have proposed software tool for risk analysis with limited parameters. This model can be extended to analyze different factors of large scale projects in the coming future. 8. References [1] Ho-Won Jung, Seung-Gweon Kim, and Chang-Sin Chung. Measuring software product quality: A survey of ISO/IEC 9126. IEEE Software, 21(5):10 13, September/October 2004. [2] Roland Petrasch, "The Definition of Software Quality : A Practical Approach", ISSRE, 1999 [3] Boehm, B. W., Software Engineering Economics Prentice Hall, 1981 [4] R. N. Charette, Software Engineering Risk Analysis and Management, New York: McGraw-Hill, 1989. [5] B. W. Boehm, Tutorial: Software Risk Management, IEEE Computer Society, 1989. [6] Mira Kajko-Mattsson and Jaana Nyfjord, State of Software Risk Management Practice, IAENG,International Journal of computer science,35:4 [7] Rasmita Dash and Rajashree Dash, " Risk Assessment Techniques for Software Development", European Journal of Scientific Research,ISSN 1450-216X Vol.42 No.4 (2010), pp.629-636 EuroJournals Publishing, Inc. 2010,http://www.eurojournals.com/ejsr.htm [8] D. Galorath, Risk Analysis and Prioritization, PM World Today - September 2006 (Vol. VIII, Issue 9). [9] J. Ropponen and K. Lyytinen, Components of Software Development Risk: How to Address Them? A Project Manager Survey, IEEE Transaction on Software Engineering, Vol. 26, No. 2, February 2000. [10] G. G. Roy, A Risk Management Framework for Software Engineering Practice, Proceedings of the 2004 Australian Software Engineering Conference (ASWEC 04). [11] A. M. Kalpana and A. Ebenezer Jeyakumar, Fuzzy Logic Based Software Process Improvization Framework for Indian Small Scale Software Organizations (IJCSE) International Journal on Computer Science and Engineering Vol. 02, No. 03, 2010, 852-859 [12] Can; M. J. Konda, S. L., Monarch, I., Ulrich, F. L and Walker, C. F., Taxonomy-Based Risk Identifcation, Software Engineering Institute, Technical Report,CMU/SEI-93-TR- 6, June 1993 ~ 34 ~

[13] Higuera R. P, and Haimes, Y. Y., Software Risk management, Software Enginering Institute, Technical Report CMU/SEI-96-TR-012, June 1996. [14] Sisti, F. J. and Joseph, S., Software Risk Evaluation Method, Version 1.O, Software Engineering Institute,Technical r eport CMU/SEI-94-TR- 19, 1994. [15] D. P. Weber; Fuzzy Weibull for Risk Analysis, Proceedings of Reliability and Maintainability Symposium, 1994, CA, USA. [16] T. Abdullah et al., Risk Analysis of Various Phases of Software Development Models, European Journal of Scientific Research, Vol.40 No.3 (2010), pp.369-376. [17] Parsopoulos, K.E., Papageorgiou, E.I., Groumpos, P.P., Vrahatis, M.N., A first study of fuzzy cognitive maps learning using particle swarm optimization. Evolutionary Computation, 2003, pp: 1440-1447 [18] K. Gotoh, J. Murakami, T. Yamaguchi and Y.Yamanaka, Application of Fuzzy Cognitive Maps to supporting for Plant Control in Proc. of SICE Joint Symposium of 15th Syst. Symp. and 10th Knowledge Engineering Symposium, pp.99-104, 1989 [19] C. FT& E. Pelaez and J. B. Bowles, Using Fuzzy Cognitive Maps for Failure Modes Effects Analysis Third Annual T International Conference, November 1994. [20] C. E. Pelaez and J. B. Bowles, Using fuzzy Cognitive Maps as a System Model for Failure Models and Effects Analysis Information Sciences, Vol. 88, pp. 177-199, 1996. [21] C. E Pelaez and J. B. Bowles, Applying Fuzzy Cognitive Maps Knowledge- Representation to Failure Modes Effects Analysis in Proc. Of Annual Reliability and Maintainability Symposium, pp. 450-455, 1995. [22] C. D. Stylios, V. C. Georgopoulos and P. P. Groumpos, Applying Fuzzy CognitiveMaps in Supervisory Control Systems in Proc. of European Symposium on Intelligent Techniques, pp. 131-135, Bari, Italy, March 1997. [23] R. Taber, Knowledge Processing with Fuzzy Cognitive Maps Expert Systems with Applications, Vol.2, No.1, pp. 83-87,1991. [24] W.R. Zhang, S. S. Chen, and J.C. Besdek, Pool2: a generic system for cognitive map development and decision analysis IEEE Transactions on Systems, Man, and Cybernetics, Vol. 19, No1, pp. 31-39, 1989. [25] W.R. Zhang, S. S. Chen, W. Wang and R. S. King, A Cognitive-Map-Based approach to the coordination of distributed cooperative agents IEEE Transactions onsystems, Man, and Cybernetics, Vol. 22, No1, pp. 103-114, 1992. ~ 35 ~