FEASIBILITY STUDIES
Feasibility is defined as the practical extent to which a project can be performed
successfully. To evaluate feasibility, a feasibility study is performed, which
determines whether the solution considered to accomplish the
requirements is practical and workable in the software.
A feasibility study is a study made before committing to a project.
A feasibility study leads to a decision:
go ahead
do not go ahead
think again
In production projects, the feasibility study often leads to a budget request.
In research, a feasibility study is often in the form of a proposal
A feasibility study decides whether or not the proposed system is
worthwhile
A short focused study that checks
• If the system contributes to organisational objectives
• If the system can be engineered using current technology and
within budget
• If the system can be integrated with other systems that are used
Information such as resource availability, cost estimation for software development,
benefits of the software to the organization after it is developed and cost to be incurred
on its maintenance are considered during the feasibility study.
The objective of the feasibility study is to establish the reasons for developing the
software that is acceptable to users, adaptable to change and conformable to established
standards. Various other objectives of feasibility study are listed below.
To analyze whether the software will meet organizational requirements
To determine whether the software can be implemented using the current
technology and within the specified budget and schedule
To determine whether the software can be integrated with other existing
software.
Types of Feasibility
Various types of feasibility that are commonly considered include technical feasibility,
operational feasibility, and economic feasibility.
Technical feasibility assesses the current resources (such as hardware and software)
and technology, which are required to accomplish user requirements in the software
within the allocated time and budget. For this, the software development team
ascertains whether the current resources and technology can be upgraded or added in
the software to accomplish specified user requirements. Technical feasibility also
performs the following tasks.
Analyzes the technical skills and capabilities of the software
development team members
Determines whether the relevant technology is stable and established
Ascertains that the technology chosen for software development has a
large number of users so that they can be consulted when problems arise
or improvements are required.
Operational feasibility assesses the extent to which the required software performs a
series of steps to solve business problems and user requirements. This feasibility is
dependent on human resources (software development team) and involves visualizing
whether the software will operate after it is developed and be operative once it is
installed.
Operational feasibility also performs the following tasks.
Determines whether the problems anticipated in user requirements
are of high priority
Determines whether the solution suggested by the software
development team is acceptable
Analyzes whether users will adapt to a new software
Determines whether the organization is satisfied by the alternative
solutions proposed by the software development team.
Economic feasibility determines whether the required software is capable of
generating financial gains for an organization. It involves the cost incurred on
the software development team, estimated cost of hardware and software, cost of
performing feasibility study, and so on. For this, it is essential to consider expenses
made on purchases (such as hardware purchase) and activities required to carry out
software development. In addition, it is necessary to consider the benefits that can be
achieved by developing the software. Software is said to be economically feasible if
it focuses on the issues listed below.
Cost incurred on software development to produce long-term gains
for an organization
Cost required to conduct full software investigation (such as
requirements elicitation and requirements analysis)
Cost of hardware, software, development team, and training.
Feasibility Study Process
Feasibility study comprises the following steps.
1. Information assessment: Identifies information about whether the system
helps in achieving the objectives of the organization. It also verifies that the system can
be implemented using new technology and within the budget and whether the system
can be integrated with the existing system.
2. Information collection: Specifies the sources from where information about
software can be obtained. Generally, these sources include users (who will operate the
software), organization (where the software will be used), and the software development
team (which understands user requirements and knows how to fulfill them in software).
3. Report writing: Uses a feasibility report, which is the conclusion of the
feasibility study by the software development team. It includes the recommendations
whether the software development should continue. This report may also include
information about changes in the software scope, budget, and schedule and suggestions
of any requirements in the system.
4. General information: Describes the purpose and scope of feasibility study. It
also describes system overview, project references, acronyms and abbreviations, and
points of contact to be used. System overview provides description about the name of
the organization responsible for the software development, system name or title, system
category, operational status, and so on. Project references provide a list of the
references used to prepare this document such as documents relating to the project or
previously developed documents that are related to the project. Acronyms and
abbreviations provide a list of the terms that are used in this document along with
their meanings. Points of contact provide a list of points of organizational contact
with users for information and coordination. For example, users require assistance to
solve problems (such as troubleshooting) and collect information such as contact
number, e-mail address, and so on.
5. Management summary: Provides the following information.
6. Environment: Identifies the individuals responsible for software development.
It provides information about input and output requirements, processing requirements
of the software and the interaction of the software with other software. It also identifies
system security requirements and the system's processing requirements
7. Current functional procedures: Describes the current functional procedures
of the existing system, whether automated or manual. It also includes the data-flow of
the current system and the number of team members required to operate and maintain
the software.
8. Functional objective: Provides information about functions of the system such
as new services, increased capacity, and so on.
9. Performance objective: Provides information about performance objectives
such as reduced staff and equipment costs, increased processing speeds of software, and
improved controls.
10. Assumptions and constraints: Provides information about assumptions and
constraints such as operational life of the proposed software, financial constraints,
changing hardware, software and operating environment, and availability of
information and sources.
11. Methodology: Describes the methods that are applied to evaluate the proposed
software in order to reach a feasible alternative. These methods include survey,
modeling, benchmarking, etc.
12. Evaluation criteria: Identifies criteria such as cost, priority, development
time, and ease of system use, which are applicable for the development process to
determine the most suitable system option.
13. Recommendation: Describes a recommendation for the proposed system. This
includes the delays and acceptable risks.
14. Proposed software: Describes the overall concept of the system as well as the
procedure to be used to meet user requirements. In addition, it provides information
about improvements, time and resource costs, and impacts. Improvements are
performed to enhance the functionality and performance of the existing software. Time
and resource costs include the costs associated with software development from its
requirements to its maintenance and staff training. Impacts describe the possibility of
future happenings and include various types of impacts as listed below.
15. Equipment impacts: Determine new equipment requirements and changes to
be made in the currently available equipment requirements.
16. Software impacts: Specify any additions or modifications required in the
existing software and supporting software to adapt to the proposed software.
17. Organizational impacts: Describe any changes in organization, staff and skills
requirement.
18. Operational impacts: Describe effects on operations such as user-operating
procedures, data processing, data entry procedures, and so on.
19. Developmental impacts: Specify developmental impacts such as resources
required to develop databases, resources required to develop and test the software, and
specific activities to be performed by users during software development.
20. Security impacts: Describe security factors that may influence the
development, design, and continued operation of the proposed software.
21. Alternative systems: Provide description of alternative systems, which are
considered in a feasibility study. This also describes the reasons for choosing a
particular alternative system to develop the proposed software and the reason for
rejecting alternative systems.