This article describes the various kinds of risks which are associated with Software Project Management.
What is Risk?
Risk is the uncertainty which is associated with a future event which may or may not occur and a corresponding potential for loss.
In the context of Project Management, Risk Identification and Risk Management are critical areas for the success or failure of any software project. Most companies these days utilize complicated risk management tools in order to identify, reduce, and altogether prevent risk.
Various Kinds of Risks Associated with Software Project Management
The various categories of risks associated with software project management are enumerated below.
- Schedule / Time-Related / Delivery Related Planning Risks
- Budget / Financial Risks
- Operational / Procedural Risks
- Technical / Functional / Performance Risks
- Other Unavoidable Risks
Schedule / Time-Related / Delivery Related Planning Risks
These risks are related to running behind schedule and are essential time-related risks, which directly impact the delivery of the project.
Some of the reasons for such risks are
Incorrect Time Estimation, and consequently an incorrect project schedule
- Improper Resource Allocation
- Underutilization of Resources
- Superficial Understanding of Project Complexities
- Unexpected Expansion of Project Scope
- Incorrect time estimation may occur because activities may have external dependancies such as client approvals, subcontractors etc. and a delay in a critical path activity has a cascading effect on the entire project.
Resource Allocation may be improper / Underutilization of resources may take place, especially if resources are shared between projects.
- A silo approach of members in various teams in a project may lead to an isolated superficial understanding of project complexities which may result in delays in subsequent stages e.g. when different development teams work on various aspects of a software project and run into issues during system/integration testing.
Budget / Financial Risks
These are the monetary risks which are associated with budget overruns.
Some of the reasons for such risks are
- Improper Budget Estimation
- Cost Overruns due to underutilization of resources
- Expansion of Project Scope
Improper Tracking of Finances
Underutilization of resources especially happens when resources are shared between projects because it becomes difficult to effectively manage such resources and a certain amount of productivity may go waste.
Further, unexpected expansion of project scope (due to addition of features by clients, etc) may lead to budget overruns as such expansions may not have been factored in to the original estimates.
- Delay of projects may also have certain penalty costs associated with it e.g. construction projects
Operational / Procedural Risks
These are risks which are associated with the day-to-day operational activities of the project.
These could be due to any of the below reasons
- Improper Process Implementation
- Silo approach followed by software development teams leading to conflicts
- Conflicting Priorities
Lack of conflict resolution / team spirit
- Lack of clarity in responsibilities
- Breakdown in communications
- Lack of sufficient training
Effective team communication is an essential part of project management and in people-intensive projects such as software projects, there is a strong need for an established communication structure, a setup for escalation, a conflict resolution process, established project priorities and above all, the employees need to be trained in making use of these processes within the organization.
Technical / Functional / Performance Risks
These are technical risks associated with the functionality of the software or with respect to the software performance.
- In order to compensate for excessive budget overruns and schedule overruns, companies sometimes reduce the functionality of the software.
- Software testing is a downstream stage in the software development lifecycle and as the project falls behind schedule, downstream activity times are shrunk in order to meet delivery dates which results in insufficient software testing.
- Further, developers face a constant trade-off between achieving maximum functionality of the software (in terms of software features) and peak performance (maximum speed and quick response time by minimizing and eliminating unnecessary frills from the software)
In order to maintain the sanctity of the software development process, while simulatenously catering to the customers needs, a mutually agreed-upon cut-off date should be determined, beyond which "expected software functionality" would be frozen and any further requirements would be handled in subsequent softwares releases.
Other Unavoidable Risks
All the risks described above are those which can be anticipated to a certain extened and planned for in advance. However there are certain risks which are unavoidable in nature.
The reasons for such unavoidable risks are described below.
- Changes in government policy
- Obsolescence of software due to new technology from a rival company
- Loss of contracts due to changes at customers end
Although these risks are broadly unavoidable, an organization may anticipate and thereby reduce the impact of such risks by
- keeping abreast with changes in government policy
- monitoring the competition
- catering to the needs of the customer and ensuring customer satisfaction
From the above, you can see that there are many categories of risks associated with software projects. Risk Management hence becomes an absolutely necessary component of Software Project Management and it is quintessential to have a good understanding of the above categories of risks so that they can be tackled by making use of suitable risk management tools.