Software project management and delivery success factors
Software projects can be complex and with a high failure rate and need effective management to increase the chance of success. Key success factors in delivering software projects include:
- Planning and scoping [Recommended]
- Vendor management [Recommended]
- Governance, roles and responsibilities [Recommended]
- Adopt agile software delivery approach [Recommended]
- Adoption / change management plan [Mandatory]
Planning and scoping [Recommended]
- The scope of the project should be realistic and clearly defined
- Scope management procedures should be put in place to ensure that requests for scope changes are analysed for impact on budget, timelines and resources requirements before they are approved for implementation
- The project plan should be realistic and factor in the scope of the project, resources available and external dependencies
Vendor management [Recommended]
- Evaluation criteria for vendors during the procurement process should factor in their prior experience and qualifications and strength of their team. In addition to evaluation of desktop proposals, wherever possible vendors should demonstrate their existing solutions/previous work and reference calls or visits done to validate prior experience.
- Vendor scope should be clearly defined in the contract
- Project planning should be a joint activity with the vendor to ensure plans are realistic and adequately resourced
- Payment milestones in the vendor contract should be aligned with verifiable progress of deliverables
- Have regular progress reviews on progress against the milestones with timely management of any risks and issues identified as per the governance process adopted
Governance, roles and responsibilities [Recommended]
- The governance and decision-making process for the project should be clearly defined including roles for the project sponsor, steering committee, project manager, internal project team and external vendors if applicable
- Ensure adequacy and availability of the internal project team based on their expected roles. Consider outsourcing where there are gaps that cannot be filled internally
Adopt agile software delivery approach [Recommended]
Agile software development is the recommended approach for Government institutions. The iterative nature of the approach helps to manage complexity, ensure timely feedback from stakeholders, achieve incremental delivery of software where feasible and enable continuous improvement in the delivery process.
Adoption / change management plan [Mandatory]
New software projects often lead to new ways of working for users and key stakeholders. Change management is therefore important to ensure a high level of engagement of staff and other project stakeholders leading to greater adoption and success of new software projects. Key considerations for change management include:
- Involving users early on the project starting with the project concept phase. Users should be involved in defining needs and gaps that need to be addressed by the project and this should not be left to just the IT teams
- A change impact assessment should be carried out during the design phase of the project to assess what impact the project has to the key stakeholders and what they need to be able to adjust to the plan
- A communication plan should be developed based on the needs of each stakeholder to ensure they are regularly informed about the progress and what is required of them, and that there is a mechanism to get their feedback as the project progresses
- Involve key users in the testing and acceptance process for the project based on their respective roles and responsibilities
- A training plan should be developed for the different users to ensure they able to adjust smoothly to new software and new ways of working
- Ensure there is an effective support process post implementation to support users should they run into challenges when transitioning to the new project