Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Mid term

ASSIGNMENT 2
Requirement gathering and Feasibility study

SUBMITTED TO

Mam Sana Tahira


SUBMITTD BY

M Saqlain
ROLL NO

09
BSIT 4TH(MORNING)

Reg No 2018gu1946

GHAZI UNIVERSITY DERA GHAZI KHAN

Requirements Gathering: 
Requirements elicitation (also known as Requirements Gathering or Capture) is the

process of generating a list of requirements (functional, system, technical, etc.) from

the various stakeholders (customers, users, vendors, IT staff, etc.) that will be used as

the basis for the formal Requirements Definition.

The following are some of the well-known requirements gathering techniques:

Brainstorming:

Brainstorming is used in requirement gathering to get as many ideas as possible from

group of people. Generally used to identify possible solutions to problems, and clarify

details of opportunities.

Document Analysis:

Reviewing the documentation of an existing system can help when creating AS–IS

process document, as well as driving gap analysis for scoping of migration projects. In

an ideal world, we would even be reviewing the requirements that drove creation of the

existing system – a starting point for documenting current requirements.

Focus Group:

A focus group is a gathering of people who are representative of the users or customers

of a product to get feedback. The feedback can be gathered about needs/opportunities/

problems to identify requirements, or can be gathered to validate and refine already

elicited requirements.

Interface analysis:
Interfaces for a software product can be human or machine. Integration with external

systems and devices is just another interface. User centric design approaches are very

effective at making sure that we create usable software. Interface analysis – reviewing

the touch points with other external systems is important to make sure we don’t

overlook requirements that aren’t immediately visible to users.

Interview:

Interviews of stakeholders and users are critical to creating the great software. Without

understanding the goals and expectations of the users and stakeholders, we are very

unlikely to satisfy them. We also have to recognize the perspective of each interviewee,

so that, we can properly weigh and address their inputs.

Observation:

By observing users, an analyst can identify a process flow, steps, pain points and

opportunities for improvement. Observations can be passive or active (asking questions

while observing). Passive observation is better for getting feedback on a prototype (to

refine requirements), where active observation is more effective at getting an

understanding of an existing business process. Either approach can be used.

Prototyping:

Prototyping is a relatively modern technique for gathering requirements. In this

approach, you gather preliminary requirements that you use to build an initial version of

the solution - a prototype. You show this to the client, who then gives you additional

requirements. You change the application and cycle around with the client again. This
repetitive process continues until the product meets the critical mass of business needs

or for an agreed number of iterations.

Requirement Workshops:

Workshops can be very effective for gathering requirements. More structured than a

brainstorming session, involved parties collaborate to document requirements. One way

to capture the collaboration is with creation of domain-model artifacts (like static

diagrams, activity diagrams). A workshop will be more effective with two analysts than

with one.

Reverse Engineering:

When a migration project does not have access to sufficient documentation of the

existing system, reverse engineering will identify what the system does. It will not

identify what the system should do, and will not identify when the system does the

wrong thing.

Survey/Questionnaire:

When collecting information from many people – too many to interview with budget and

time constraints – a survey or questionnaire can be used. The survey can force users to

select from choices, rate something (“Agree Strongly, agree…”).

Feasibility study:

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.


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.

Feasibility Study Process:

The below steps are carried out during entire feasibility analysis.

 Information assessment

 Information collection

 Report writing

 General information

Types of Feasibility:

Various types of feasibility that are commonly considered include technical feasibility,

operational feasibility, and economic feasibility.

Technical 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:

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:

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.

Need of Feasibility Study:

Feasibility study is so important stage of Software Project Management Process as after

completion of feasibility study it gives a conclusion of whether to go ahead with proposed

project as it is practically feasible or to stop proposed project here as it is not right/feasible to

develop or to think/analyze about proposed project again.

You might also like