Every software project starts with some kind of a reality check. Project managers ask questions like:
- What is the purpose of the software and what problem will it solve?
- What is the business impact of the project?
- How much will the project cost?
Two methods for assessing a software project's viability are requirements analysis and feasibility studies. Increase the odds of project success by recognizing the difference between these methods and knowing which projects are ideal for each.
No Feasibility Study, No Funding
With the increase in enterprise complexity, and the proliferation of multiple technological alternatives, C-level executives have significantly changed the way they justify software projects. For example, a director of a utility company used a feasibility study to determine if they should change the hardware platform and development environment of their customer billing system. The study addressed the economic and operational impact of these changes as well as their pros and cons.
The director used to study to help make the final decision whether or not to progress with the changes and determine how the changes should occur. CFOs, and CIOs alike are more reluctant than ever to sign on the dotted line for these types of projects unless it:
- Has obvious and significant business benefits. This means that it should: Be either mission- or business-critical, be a competitive differentiator or have demonstrable future economic benefit.
- Is clearly scoped. This means that there exists an immutable rationale for the project and its budgeted and contingency costs are within acceptable limits.
- Is shown to be the best of all available options. Those requesting the funding consider and present all available alternatives and provide a clear case showing why a specific option was selected. This usually involves statistical and financial analysis as part of the justification.
The three points above outline a feasibility study – the most common method that large enterprises use to assess the viability of their projects. A feasibility study is a report-based method that involves researching existing practices and strategies, and the impact that the proposed project will have on the enterprise. It helps managers assess the practicality, benefits, and chances of success of a project.
There Is Another Way
C-level executives tend to rely heavily on these studies even though they:
- Can be costly. The resources required to perform a feasibility study can quickly escalate. This is because the research materials and personnel required are highly specialized and expensive.
- Delay projects. A feasibility study can become very complex and significantly delay the start of the project.
- Can be difficult to disseminate. Feasibility studies are typically hundreds of pages in length. This makes them potentially difficult to read, understand, and act upon.
Figure 1. The SDLC Augmented with a Feasibility Study Phase
Figure 1 shows the typical System Development Lifecycle (SDLC) augmented with the feasibility study phase. This phase is an extension of the SDLC that project leaders use to address the economic and strategic concerns held by the project’s business stakeholders.
Since all IT projects have a business context, there is a tendency to exaggerate the importance of performing a feasibility study for each project. Instead of relying only on feasibility studies for determining project viability, managers should consider another method for assessing the likelihood of project viability – High-Level Requirements (HLR) analysis.
Figure 2. The SDLC Augmented with Feasibility Study and High-Level Requirements Phases
Figure 2 shows where HLR fits into the SDLC. HLR analysis is a process where a business analyst makes a synopsis of the project’s business, user, performance, and integration requirements. This is a less expensive process than performing a feasibility study. It eliminates the full-scale economic, solution comparison, and market analysis required for a feasibility study, while giving the analyst a head start on requirements gathering.
Analysis vs. Study
For specific project types, HLR can provide a clear go/no-go decision. The table below contrasts the characteristics of HLR analysis and feasibility study methods.
The project has little strategic impact. Such projects rarely have enterprise-wide impact and do not carry the budget to justify the expense of a study.
The emphasis is on applications not enterprise architectures. The enterprise architecture is the foundation of the company. If the focus of the project is on implementing an application that does not affect the architecture, then look to requirements analysis first.
The project is not complex or large enough. A large, complex project is one that has significant integration and interoperability issues that span multiple departments and/or multiple lines of business. Projects that lie outside of these criteria should use requirements analysis to determine viability.
The project is lower than business-critical in importance. Software projects that perform important peripheral functions can be assessed using HLR analysis.
The business process(s) affected and technology to be employed are understood and do not have to be "tested" for feasibility.
The project is mission-critical or has a strategic impact. This is where feasibility studies shine. If the software project has a large strategic component or is central to the enterprise's survival, then a feasibility study is mandatory.
Significant external pressures exist. If the project under consideration is the result of being in a highly competitive, fast-paced market, then a feasibility study is necessary. The study in this case should focus heavily on market conditions, the company's competitors, and market trends.
The enterprise architecture is being developed or modified. Companies developing or modifying their enterprise architecture should undertake a feasibility study. This is because the enterprise architecture is the foundation that will allow the company to take advantage of future opportunities. The feasibility study should focus on market trends, available technology and possible business opportunities.
Requirements analysis and feasibility studies are two valuable methods for assessing project viability. Management must understand when it is best to use each method to increase the likelihood of having a successful project.