Large software projects are highly prone to delay and even failure. For success, careful planning, effective communication, and a high level of technical expertise and focus on quality are needed to overcome many of these challenges.
The Standish Chaos Report and the CISQ group’s Cost of Poor Quality Report 2022 both confirm that large software projects have a very high probability of failure. And that failure rates have not reduced, in spite of Agile.
Scale
Knowledge work does not scale. In fact there are diseconomies on software work, in other words, the bigger they are the more costly they become. Software project managers should who know the functional size of a project, can manage scope and plan more effectively. Scaling is possible to a degree, but it comes at a cost. Executives should support all efforts to break large projects into smaller independent projects. Technical segregation through appropriate software architectures and disciplines can also help scale larger projects.
Direction and purpose
Keeping all parties focussed on the desired outcome of the project can be challenging as the activities of each contributor may seem distant from the overall goal. This requires clear traceability of requirements to objectives and excellent leadership.
Complexity
As software projects grow in size and scope, complexity increases exponentially. Analysts, designers and developers must contend with a greater number of interactions, modules, components, and dependencies. Using tools, techniques and discipline can help to manage and minimise the complexities.
Coordination
With larger teams come greater coordination challenges. Teams must communicate and collaborate effectively to ensure that everyone is working towards the same goals and objectives. Communication about what must be developed and in what sequence needs to be clear.
Quality
The fastest and cheapest outcome only comes with a high discipline attention to quality. Maintaining quality of all artefacts in the project become increasingly difficult as the size of the project grows. Quality compromises in any one aspect of the project will lead to a crumbling house of cards. Attention to quality must cover: project management, requirements, architecture, design, documentation, data, coding, tests, configuration management and deployment.
Changing Requirements
As projects evolve, so do the requirements. Managing changing requirements can be a significant challenge, especially when multiple stakeholders are involved. All software projects incur unforeseeable changes; many projects also suffer from the midstream requirements changes that were foreseeable, spotting these knowable requirements early, will reduce volatility and turmoil throughout the project.
Time
Confusion over time goals vs realism is a key source of problems. Leaders need to be concerned with size and the the amount of time it will take to get the software (mostly) right first time. Inappropriate time pressures from leaders usually give rise to the need for extended bug fixing/ rewriting and in some cases, cancellation. Knowing the functional size allows project managers to allocate and protect the development timelines from unfeasible executive pressure.
Types of Large Software Project
There are numerous different types of large software project: ERP implementation, package configuration, cloud migration, new build in-house, legacy replacement or even hybrids of these. Furthermore the technical work can be split between in-house or outsourced to one or more vendors.
Regardless of type or even methodology, ScopeMaster can help all of these large software projects reduce risk, because the analysis that it automates and facilitates is all generic, good practice, principle-based approaches to improving software work.