STRATEGIES FOR SUCCESSFUL SOFTWARE DEVELOPMENT RISK MANAGEMENT

By June 20, 2015

 
Nowadays, software is becoming a major part of enterprise business. Software development is activity connected with advanced technology and high level of knowledge. Risks on software development projects must be successfully mitigated to produce successful software systems. Lack of a defined approach to risk management is one of the common causes for project failures. To improve project chances for success, this work investigates common risk impact areas to perceive a foundation that can be used to define a common approach to software risk management. Based on typical risk impact areas on software development projects, we propose three risk management strategies suitable for a broad area of enterprises and software development projects with different amounts of connected risks. Proposed strategies define activities that should be performed for successful risk management, the one that will enable software development projects to perceive risks as soon as possible and to solve problems connected with risk materialization. We also propose a risk-based approach to software development planning and risk management as attempts to address and retire the highest impact risks as early as possible in the development process. Proposed strategies should improve risk management on software development projects and help create a successful software solution.

1. INTRODUCTION

Nowadays, software is becoming a major part of enterprise business. The significance of software is growing everyday, along with the progress of
technology. Software development is activity connected with advanced technology and high level of knowledge. Every software development project faces a significant amount of uncertainty that is usually manifested as possible risk materialization The success of a software development project is directly connected with the involved risk, i.e. project risks should be successfully mitigated in order to finish a software development project. The conditions on today’s global software market demand the most advanced software solutions from enterprises in order to be comparable and competitive. Development of an advanced software solution in the shortest possible time is a process associated with an extremely high number of risk impacts.

Every aspect of a software development project could be influenced by risks that could cause project failure. It is common to say that risk is the price of opportunity, i.e. a project with a high number of risks has an opportunity on the global software market if the project is completed on time and within planned expenses. Many development projects are trying to advance current software capabilities and achieve something that has not been done before. The opportunity for advancement cannot be achieved without taking risks. The use of advanced and, in most cases, unproven technology on software development projects leads to a large number of risks. In order to complete a complex software development project within planned boundaries, risks on the project should be well understood and mitigated.

Definition of an approach to risk management in the form of strategies suitable for different software development projects is the subject of this work. With this work, we will show that risk management should be a part of every software development project and that only successful risk mitigation leads to successful software development. Furthermore, we will show that a well-implemented risk management process, defined with the risk management strategies we propose, increases an enterprise’s opportunities on the global software market. Today’s common software development processes, such as Unified Process (Booch, Rambaugh & Jacobson, 2001), define risk management as activity on software development projects, but they do not define strategies suitable for risk management implementation on different development projects.

This paper is organized as follows: After this introduction, an overview of the risks in software development is given. The third section deals with the risk management on software development projects. The fourth section presents strategies for risk management proposed in this work. Conclusions are given at the end.