Software development projects are inherently complex and incorporate a degree of uncertainty. Even the most meticulous of plans will encounter issues. Effective risk management processes are necessary to protect the success of every project. Failure to properly manage risk in software projects can compromise the final product, which has significant ramifications on the wider organisation. This is especially true when the project is central to operations.

Fortunately, there have also been many learnings obtained in past failures and the development of risk management methodology has adapted more generally. This article discusses seven crucial steps to help you risk-proof your projects and emphasises the importance of pre-emptive planning.

1. Early engagement with key stakeholders

Achieving buy-in from stakeholders in the early stages of your software development project can have the most significant impact on its success or failure. Key stakeholders in any project will include the following:

  • End-users – They will define the ultimate product required, and provide the most useful information as to what the actual business need is.
  • Executive management (or a representative of this group) – Must engage early to gain support and approval for the broader project and establish a channel to provide ongoing updates of progress. They have a responsibility to notify of any changes to timing and cost implications which may require further decision-making.
  • ‘Change agents’ in core teams – They should also be engaged to act as the conduit between the project team and the rest of the organisation. This will assist in identifying viewpoints that may not have initially been considered by the project team and likely also support a smoother implementation of the end-product.

A key focus for the project team should be to agree on key objectives and outcomes with stakeholders and ensure that everyone is on the same page in terms of what will be delivered. It also provides an opportunity for the delivery team to understand factors that are external to the project, such as broader operational or organisation activities, needs and expectations.

2. Implementation of risk management processes

While risk management processes are becoming commonplace in most modern software development projects, there is often difficulty in achieving buy-in from all involved parties, particularly when there is pressure to “just get on with it”. But risk management processes do not necessarily have to be onerous and are often undertaken as a more commonsense approach, regardless of any formal requirement to be followed.

A key component of risk management for software development projects is the identification of both technical risks and broader business risks, ensuring that all risks that could be reasonably anticipated are identified.

Preparation of a risk register is recommended to document identification of risks, rating the likelihood of the risk occurring and the impact that the risk will have on the project if it does occur. They are also vital for pre-emptive planning of risk mitigation strategies that include avoiding, controlling, transferring, monitoring or accepting the risk.

An initial risk register should be created prior to commencement of the project and reassessed as progress is made when a better understanding of past and future risks are identified.

3. Establishment of project milestones and specific goals

Breaking down a large software development project into manageable chunks is beneficial for many reasons, including:

  • It enables detailed task-oriented planning, such as setting specific tasks that need to be completed to achieve the milestone, rather than description of a vague end-goal only. It is particularly useful in software developments projects where many stakeholders have limited technical knowledge and will not understand specific tasks that are involved in undertaking the project. For example, there will be a period of testing and identification of issues which require fixes, which is a vital step in the development process before the software goes live, however the importance of this step is often not fully appreciated by people with limited technical knowledge.
  • Demonstrating progress more clearly to stakeholders as they can see exactly what work has been completed and what is left to be completed.
  • Providing an opportunity to accurately match activities with resource requirements, and the impact that the involvement of internal staff may have on their existing roles. This is crucial for technical projects where the right expertise is often critical to the success of the project.
  • Assisting in identification of interdependencies which occur between different streams of work. For example, if there is an issue in one area of the project or in relation to specific individuals or teams, it’s possible to identify the flow-on effect that this may have in other areas of the project.

4. Partnership with project funder and finance team

Forming a working relationship with the holder of the purse strings is an important step when there are significant financial implications tied to the successful execution of the project. This is particularly important for project teams who possess significant technical knowledge but have limited experience in budgeting or cost management.

Finance teams should have a good understanding from their involvement in other projects of the types of costs that might be encountered. Assistance should be sought to create a sufficiently detailed budget that considers all cost implications including technical materials and equipment, resource costs, and any business overheads.

In the event of cost overruns, finance teams will also have previous knowledge of the likely areas where this may occur so they can make provisions where required. They can assist in securing additional funding if required, despite best efforts to identify correct allocations in the initial budgeting process. A study conducted by McKinsey & Company, in conjunction with the University of Oxford in 2012, found that half of all large IT projects “massively blow their budgets”, with software projects specifically identified as having the “highest risk of cost and schedule overruns”.

5. Regular tracking and communication of progress

Communication of the progress of a project is crucial to keeping stakeholders informed and engaged. This is best achieved through regular reporting in a succinct dashboard (or similar) containing key metrics and relevant information such as key activities, progress to plan, issues encountered, and key risks or new risks identified.

Regular reporting is also useful to support:

  • Provision of timely information to relevant parties, enabling early intervention to reduce the likelihood that a risk will eventuate or minimise the impact that it may have.
  • Documentation of key decisions and actions taken during the project, which will be useful when evaluating the success of the project at a later date, and may be required if challenged in the future.
  • Incorporation of any scope changes which may arise as business needs change, or new challenges or risks are identified.
  • Revision of realistic timelines for completion.

6. Effective staff management

It may be difficult to maintain momentum and keep staff engaged and motivated throughout the life of the project, particularly in long term projects and high stress environments. This is crucial in software development as the project is heavily reliant on the technical expertise of its team, and the project specific knowledge that increases and becomes more difficult to replace as the project progresses. As staff near the end of a long project it’s likely that they will look to consider their next opportunity before the project is completed, which may have an impact on the resourcing and expertise needed at crucial testing and implementation phases.

To effectively manage staff throughout the life of the project, consider aligning personal goals to those of the project, and incentivise behaviours required for success, such as final completion of the work, meeting deadlines agreed in planning, and meeting budget requirements.

7. Evaluation of the project

While the project is ongoing it’s important to implement a formal quality check or audit process to provide an independent view of the progress and likelihood of success. This can be hugely beneficial when core project team members are deeply involved in specific areas, making it difficult to see the project from an objective and project-wide viewpoint.

Similarly, at the end of the project it’s important to reflect on the outcomes and learnings of the work undertaken, so that future projects benefit from understanding what worked well and what could have been done better.

Following these seven steps will help you risk-proof your software development projects and execute effective risk management strategies. Quality pre-emptive planning will save time and money and help deliver project goals on time and on budget.

Are you undertaking a small or large-scale IT project? If you’re looking to optimise your project outcomes while minimising the associated financial risks, speak to the team at Testpoint today and discover the best way to achieve success.


 

Related Post

Would you like an initial call to review your requirement?

Please leave your details below and we’ll call you back in the next 24 hours