Fuzzy Rules for Risk Assessment and Contingency Estimation within COCOMO Software Project Planning Model

Fuzzy Rules for Risk Assessment and Contingency Estimation within COCOMO Software Project Planning Model

Ekananta Manalif (University of Western Ontario, Canada), Luiz Fernando Capretz (University of Western Ontario, Canada) and Danny Ho (NFA Estimation Inc., Canada)
Copyright: © 2014 |Pages: 24
DOI: 10.4018/978-1-4666-4785-5.ch006
OnDemand PDF Download:
List Price: $37.50


Software development can be considered to be the most uncertain project when compared to other projects due to uncertainty in the customer requirements, the complexity of the process, and the intangible nature of the product. In order to increase the chance of success in managing a software project, the project manager(s) must invest more time and effort in the project planning phase, which involves such primary and integrated activities as effort estimation and risk management, because the accuracy of the effort estimation is highly dependent on the size and number of project risks in a particular software project. However, as is common practice, these two activities are often disconnected from each other and project managers have come to consider such steps to be unreliable due to their lack of accuracy. This chapter introduces the Fuzzy-ExCOM Model, which is used for software project planning and is based on fuzzy technique. It has the capability to not only integrate the effort estimation and risk assessment activities but also to provide information about the estimated effort, the project risks, and the effort contingency allowance necessary to accommodate the identified risk. A validation of this model using the project’s research data shows that this new approach is capable of improving the existing COCOMO estimation performance.
Chapter Preview


Software development can be considered to be a most uncertain and complex project when compared to other types of projects, because it involves the creation of an intangible product, which is continually changing in response to customers’ requirements and the development of new technology. The 2009 Standish Group Chaos report (The Standish Group, 2009) indicated that only 32% of such projects had succeeded. That is, they were delivered on time, were within budget, and had the required features and functions. 44% of the projects did not meet these three requirements, and 24% failed, i.e., they were cancelled prior to completion or were delivered and never used. The results of a study conducted by TATA Consultancy Services in 2007 of 800 senior IT managers from the UK, the US, France, Germany, India, Japan, and Singapore were similar to those of the Standish Group report. In that study, 62% of the projects failed to meet their schedule, 49% experienced budget overruns, 47% experienced higher-than expected maintenance costs, and 41% failed to deliver the expected Return on Investment (ROI) (Marchewka, 2009).

Based on the results of several investigations of software development projects, the main areas responsible for project failure were: project goal setting, project scheduling, project staffing (availability and capabilities), customer requirements, unmanaged risks, improper project execution, stakeholder politics, and commercial pressures (Humprey, 2002; Charette, 2005). Hence, the success of a software project could be described as being highly dependent on the Project Planning Phase, which involves those activities that determine a project’s scope, scheduling, cost, resources, and risks. Therefore, while this phase is critical for all types of project management (Heldman and Heldman, 2010), it is especially so for a software development project.

The main activities in the software project planning phase are effort estimation and risk management which become the major issues in the success of software development project, and the accuracy of the results will provide the great support in project execution phase (Pressman, 2005; Huang, et al., 2004). Software effort estimation calculates the effort necessary to complete the project, in term of scheduling, acquiring resources, and meeting cost objectives. Risk management includes identifying, addressing, and eliminating software project risks before undesirable outcomes occur. Software effort estimation is an essential activity in the planning phase due to its role in guiding project managers with respect to budgeting, scheduling, and the allocation of resources. Risk management also plays a vital role here, considering the fact that a software project will be used in an environment where the results are intangible and subject to a higher level of uncertainty than is typical of other types of projects. In the project planning phase, risk management activities focus mostly on risk assessment, which is a discovery process of identifying the potential risks, analyzing or evaluating their risk effects, and prioritizing the risks.

On the one hand, cost is the most important factor in managing software projects. On the other hand, project risk affect the accuracy of software effort estimation and consequently affected cost, delivery, and the quality of products (Du, et al., 2010). Hence, effort estimation and risk management must be executed as integral parts of the project planning phase. However, in most software development projects, the effort estimation and risk management steps are executed separately. Therefore, the true impact of an identified risk on the accuracy of effort estimation is difficult to identify.

Complete Chapter List

Search this Book: