Software Risk Management-The Basics

"Software risk management is important because itcontinuous process.
helps avoid disasters, rework, and overkill, but moreThese principles have been adapted into a maturity
importantly because it stimulates win-win situations" -framework that establishes the project management
The National Aeronautics and Space Administrationand engineering foundation during the initial stages,
(NASA), 1999.and quantitatively controls the process during the
Risk is defined as "The possibility of suffering harm ormore advanced stages of maturity.
loss; danger." Even if we're not familiar with theTop-down risk estimation maps project risk into
formal definition, most of us have an innate sense ofschedule completion dates. Bottom-up risk
risk. Risks shape many of our behaviors. Softwaremanagement puts detail behind the top-down
Technical Risk can be defined as a measure of theapproach. Bottom-up risk management identifies
probability and severity of adverse effects inherentunderlying project strengths and risks that drive the
in the development of software that does not meettop-down risk estimate.
its intended functions and performance requirements.Using the Project Self-Assessment Kit, these results
The term Risk Management is applied in a number ofcan be achieved quickly, easily, and confidentially. The
diverse disciplines. To many social analysts, politicians,SATC has applied its metrics experience and some
and academics it is the management ofconcepts from theoretical models of software quality
environmental and nuclear risks. Software Riskto develop a unique model for evaluation of quality
Management is a proactive approach for minimizingand project risks. This model fits the needs of
the uncertainty and potential loss associated with aproject managers of many reputable organizations
project.like NASA and GSFC because the model is dynamic,
It includes the set of practices that enable softwarenot static, in the fact that it allows the production of
development projects to identify, prioritize, address,multiple snapshots of project status across the
eliminate and manage specific software risk itemsdevelopment.
before they become threats to success or majorThe data is used to make projects about specific
sources of rework. Some categories of risk includeproject risks at project milestones. The model uses a
product size, business impact, customer-related,broad range of measures for both software
process, technology, development environment,products and development processes. The model is
staffing (size and experience), schedule, and cost.applicable across the development life cycle. The
Awareness of Software Risk Management has beenmodel's metrics are derived based on aspects of the
increasing in the industry.attributes that answer questions of the project
The primary goal of a software development projectmanagers. The model includes analysis guidelines for
is to develop code and documentation that will meetthe data collected.
the project's requirements. The risks are measured in"Risk Guide 2.30 risk management tools" also helps in
the testing phase. The specific attributes measuredmanaging the risks in software development because
during software development are Maintainability-forfor successful risk management effectiveness,
ease of finding and fixing the errors, Reusability andcontinuous and open communication is prerequisite.
above all Structure/Architecture - Evaluation of theTherefore, provide the project stakeholders a broad
constructs within a module to identify possibleand highly available communication channel through
error-prone modules. Once code has been generatedwhich they can communicate risk-related information.
and completed, unit testing, formal testing - System,On top of this communication facility establish
Integration, and Acceptance Testing - begins whichcontinuous risk assessment process based on three
usually emphasizes on correctness and reliability ofconcepts: reviews, snapshots and reports that
the software.underpin the three layers of processing the
Major software projects have the highest probabilityrisk-related information: identification, analysis and
of being cancelled or delayed of any known businessreporting and something which creates a great ease
activity. Once deployed, software projects oftenin software risk management is risk database which
display excessive error densities and low levels ofshould be equipped with learning facilities to provide
reliability. However, it is not a law of nature thatfor "learning from experience".
software projects will run late, be cancelled, or beThe SEI Software Risk Evaluation (SRE) Service is a
unreliable after deployment. A careful program of riskdiagnostic and decision-making tool that enables the
analysis and abatement can reduce the probability ofidentification, analysis, tracking, mitigation, and
major software disasters, and also shorten averagecommunication of risks in software-intensive
development cycles at the same time.programs. An SRE is used to identify and categorize
Poor estimations and planning, wrong status report ofspecific program risks emanating from product,
projects with misleading and unacceptably poorprocess, management, resources, and constraints.
software quality and reliability are some of thoseThe programs own personnel participate in the
serious and real issues against software organizationsidentification, analysis, and mitigation of risks facing
which are agreed by the software executives andtheir own development effort.
managers themselves. Additional risk factors like newSUMMARY AND CONCLUSIONS
major requirements in mid-development and harmfulLarge software projects are very hazardous business
schedule pressure by the executives that damagesventures. For projects above 10,000 function points,
quality makes it crucial to examine the root causescancellations, delays and cost overruns have been
which includes process factors, technology andthe norm rather than the exception. But careful
product factors, and organizational factors,analysis of the root causes of large software project
organizational capabilities and explore the currentdelays and disasters indicate that most of the
state of the art for minimizing their harmful effects.problems stem from inaccurate estimation, inaccurate
Some paradigms, principles, techniques and tools arestatus reporting, and lack of historical data from
used to manage the risks.similar projects.
The paradigm is a framework for software riskAll of these root causes can be minimized or even
management. From this framework, a project mayeliminated by the adoption of formal estimating
structure a risk management practice best fitting intomethods and tools, by formal monthly status reports
its project management structure. It is usually a cyclicof both quantitative and qualitative data, and by
process containing identification, analyze, plan, track,benchmark analysis of similar projects to provide a
control, formal or informal communication forsolid basis of what can and cannot be accomplished.
achieving a common goal.The results of these activities are used to develop
The maturity framework into which these qualityan actionable framework of risk mitigation actions
principles have been adapted was first inspired bybased on assessor experience and individual project
Philip Crosby in his book Quality is Free [Crosby 79].characteristics. Formal risk assessment is most
The staged structure of the SW-CMMSM is based oneffective for projects with relatively significant risk. In
product quality principles that have existed for theaddition, the organization for which a project is being
last 60 years. The framework provides the solutionsassessed needs to have sufficient project
on the basis of seven main risk managementmanagement infrastructure to be able to take action
principles—shared product vision, teamwork, globalbased on the results. The organization also needs to
perspective, forward-looking view, openhave a commitment to improving project execution
communication, integrated management, andeffectiveness.