Skip to content

siomarapantarotto/software-development-risk-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 

Repository files navigation

Risk Management Applied to Software Development

This repo outlines some aspects of risk governance in software development projects.

Be welcome to copy, modify, and apply them in your own work or business, as well as share them with whomever you consider necessary.

Introduction

Risk control is vital to software development projects.

A project can be defined as a work that seeks the creation of a product or the execution of a service.

Whether it is a product or a service, all activities need to be planned, scheduled, and, when executed, need to be controlled.

Incorporate risk management in the software development process, evaluate the results and propose improvements to the plan is an important factor for the success or failure of any project.

Risk Control Objectives

Operate in a preventive way, acting actively to reduce risks that are present in software development projects by identifying, analyzing, treating, and controlling them.

Expected Results

  • Improvement of the products and services developed.

  • Increased productivity of the product development process.

  • Deliveries on schedule.

  • Reduction of losses.

  • etc...

Risk Management Process

The risk management process is a blueprint for the actions that need to be done. And there are five basic steps that are taken to manage the risk. These steps are commonly referred to as the risk management process. It begins with risk identification, advances to risk analysis, then the risk is prioritized, a solution is implemented, and finally, the risk is monitored.

So, these are the five essential steps of a risk management process:

Step 1: Identify the risk Step 2: Analyze the risk Step 3: Assess or classify the risk Step 4: Treat the risk Step 5: Monitor and review the risk

  • Communication and consultation

    // TODO: define ways of communication and consultation

  • Establishing the context

    "By establishing the context, the firm articulates its objectives and defines the external and internal parameters to be taken into account when managing risk, and sets the scope and risk criteria for the remaining process." (AS/NZS ISO 31000:2009)

  • Risk identification

    The identification of risks is a crucial step in effective risk management and needs to be comprehensive. If a potential risk is not identified at this stage, it will obviously be ignored in later analyses, implying possible disastrous consequences should it occur.

    All possible risks must be identified, even if they have never occurred.

  • Risk analysis

    • Risk response strategies:

      • Avoid: eliminate the threat to protect the project from the impact of the risk.
        • Example: cancelling the project.
      • Transfer: shifts the impact of the threat to as third party, together with ownership of the response.
        • Example: contract insurance.
      • Mitigate: act to reduce the probability of occurrence or the impact of the risk.
        • Example: choose a different supplier.
      • Accept: acknowledge the risk, but do not take any action unless the risk occurs.
        • Example: document the risk and put aside funds in case the risk occurs.
    • Probability:

      • VERY LOW: UNLIKELY - The event may even occur in exceptional situations, but the circumstances do not indicate this possibility.
      • LOW: RARE - The event may occur unexpectedly or casually, as the circumstances indicate little of this possibility.
      • MEDIUM: POSSIBLE - Event could occur in some way because circumstances moderately indicate this possibility.
      • HIGH: PROBABLE - The event can occur in an even expected way because circumstances strongly indicate this possibility.
      • VERY HIGH: ALMOST CERTAIN - The event will certainly occur because the circumstances clearly indicate this possibility.
    • Impact:

      • VERY LOW: minimally compromises the achievement of the objective; for practical purposes, does not alter the achievement of the objective/result.
      • LOW: compromises the achievement of the objective to some extent, but does not prevent the achievement of most of the objective/result.
      • MEDIUM: reasonably compromises the achievement of the goal/outcome.
      • HIGH: Compromises most of the achievement of the objective/result.
      • VERY HIGH: totally or almost totally compromises the achievement of the of the objective/result.
  • Risk assessment

    Risk assessment is the process of identifying potential hazards and analyzing what might happen if they occur.

  • Risk treatment

    The market presents countless tools and services for risk control and treatment, but the truth is that not all companies can afford them.

    It is also true that many companies experiencing growth, with little or no profit, are unlikely to stop investing in their primary activities in order to invest in risk control.

    It is the reality of each company that will define if risk control will be delegated to specialists or implemented by its own members through the development and execution of an action plan, which can be immediate or preventive.

    These are actions already thought out, discussed, and assigned to the risk, even if the risk has never occurred. This is not an exhaustive list, because new actions may be suggested at any moment. Hence the importance of the constant revision of the risk management plan.

    • Immediate actions: These are actions that should be implemented immediately when the risk occurs.

    • Preventive actions: These are actions that should be constantly implemented aiming at the prevention of risk occurrence.

  • Monitoring and critical analysis

    The revision of the risk treatment plan is fundamental because even if a risk does not present immediate or preventive actions at a certain moment does not mean that it will not present them at another moment.

Risk Suggestion List

Misunderstood project requirements

This risk occurs when the product owner presents the product/service requirements and the development team members do not understand what he really wants. This risk is directly related to the experience level of the professional responsible for business design, feature analysis, requirements gathering, and so on.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Loss or non-existence of the requirements document

This risk occurs when the project requirements document is lost or has not been created by the development team.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: Check if there is any backup in case it has been lost.
  • Causes: TODO
  • Consequences: TODO

Start documenting the requirements that have already been implemented as well as the ones that have not yet been implemented.

  • Preventive Actions: Define and adopt rules to secure the document against loss and prevent project development from starting without this document having been minimally prepared.

Poorly crafted requirements document

This risk occurs when the project requirements document doesn't cover the necessary data for the project's development.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Wrong development of requirements

This risk occurs when the requirement development is done in disagreement with what the customer defined in the requirements document.

It also occurs when there has been no formal development of the requirements document and the development team misinterprets what the customer wants.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Change of requirements

This risk occurs when the team develops a requirement that changes its understanding throughout its development.

It also occurs when the requirement is no longer necessary after its completion.

The requirement change can be necessary (e.g. legal imposition) or due to lack of good definition in the initial design phase of the project.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Growth of unforeseen requirements

This risk occurs when requirements that were not foreseen during the beginning of the project appear during its development.

The emergence of an unforeseen requirement may occur in an imposed way (e.g. legal imposition) or by failure of the development team in the initial phase of project conception.

When the appearance of an unforeseen requirement is due to an imposition of any kind, there is no need to talk about corrective or preventive actions, but only about the implementation of the requirement.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Implementation of unnecessary requirements by the development team, not defined by the product owner

This risk occurs when unnecessary functionalities are added to the project that were not requested by the product owner.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Schedule out of reality

This risk occurs when the development of the project exceeds or is not in accordance with the planned schedule.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Introduction of new technologies

This risk occurs when one or more technologies are adopted during the development of the project.

It also occurs when the project starts with technologies not defined as standard by the company.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Lack of effective methodology for the management of the projects

This risk occurs when there is no effective methodology defined for managing the project development.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Misapplication of the methodology or methodologies adopted for the project management and development

This risk occurs when the methodology used is poorly applied.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Inadequate or unnecessary tools for the development

This risk occurs when the development team uses inappropriate or unnecessary tools in the development of the project.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Customer dissatisfaction with the product developed or being developed

This risk occurs when the customer is not satisfied with the project that has been developed or is under development.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Lack of cooperation or commitment of the client

This risk occurs when the customer does not cooperate with the development of the project, for example, not doing the necessary tests to evaluate the requested and already developed requirements.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Lack of motivation of the development team

This risk occurs when one or more members of the development team lack motivation during the development of the project.

The demotivation can be for a specific project or over the course of other projects as well.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Insufficient personnel

This risk occurs when the amount of people in the development team is sufficient for the project development.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Relocation of developers' team members

This risk occurs when a member of a development team is transferred to another, no longer continuing the activities he or she performed in the development of the project.

This risk is aggravated when more than one member of the same team leaves for the same reason at the same time during the project's development phase.

This risk can impact the work of other teams as well.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Lack of definition of team members' roles

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Team member sick leave

This risk occurs when a member of the development team falls ill and is unable to participate in the project until his or her recovery.

This risk is aggravated when more than one team member is absent for the same reason at the same time.

This risk can impact the work of other teams.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Lack of project management skills

This risk occurs when the person assigned to manage the team that is developing the software does not have adequate management skills.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Adversity among members of the development team

This risk occurs when there are conflicts among the members of the software development team, which can occur between technicians, between technicians and their managers, and even between managers of different teams.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Underestimated cost

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Project components developed externally

This risk occurs when the software or part of it is developed by third parties without the proper follow-up regarding the expected quality (Example: freelancers, software factory etc).

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Lack/breakdown of equipment/resources

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Change of project development environment

This risk occurs when there is a change of address of the company or simply of the department with the infrastructure and team responsible for the software development. (Example: Termination of the lease contract without the possibility of renewal).

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Inadequate environment for software development

This risk occurs when the environment destined for the team responsible for software development presents inadequate conditions, for various reasons, that affect the expected production (Example: noise, furniture, facilities, temperature, etc).

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Lack of testing during project development

This risk occurs when the software under development is not tested properly.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Development with low quality

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Software version control/conflicts

This risk occurs when there is no efficient version control of the software developed.

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

etc //TODO: Enumerate other risks

Neglect risk control

  • Probability: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Impact: VERY LOW / LOW / MEDIUM / HIGH / VERY HIGH
  • Immediate Actions: TODO
  • Preventive Actions: TODO
  • Causes: TODO
  • Consequences: TODO

Thanks! You are welcome to contribute

Thanks for viewing this repo!

You are welcome to suggest other risks and also to follow-up on the evolution of this work if you wish.

Please share the link with people who might be interested and willing to contribute to this research on the subject.


     

About

Risk management applied to software development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published