You are on page 1of 6

The Requirement

A requirement is a need of some person, group or even some process which is capable of being fulfilled.
If a requirement cannot be fulfilled, it becomes a desire that can perhaps be fulfilled later with a better
technology or better set of circumstances.

Business Requirement
A statement that identifies a product or process’s operational, functional, design characteristic, its
constraint, and its other qualities is called a business requirement Which is unambiguous, testable or
measurable, and necessary for product or process acceptability (by consumers and the internal quality
assurance parameters).

Requirements are the driving force to initiate any development process, planning, analysis, designing or
building Requirements are the basis for every project by defining that what the stakeholders needs once
the requirements agreed, they drive and track all the activities of the project.

Impacts of Business Requirements


Thus business requirements form the basis of:

1. Notion of New Products & Projects


2. Project Planning Theories
3. Project Management Theories like: Time, Quality, Risk, Change or Cost ,etc
4. Product Testing Theories
5. All other Engineering Theories, etc..

Classification of Requirements
We can classify requirements on three basis:

1. Functionality Consideration
2. Product Constructions Consideration
3. Source Consideration
1. Functionality Considerations
When we classify the software requirements based on the functionality. These can be divided into two
main categories:

I. Functional Requirements (Primary or Core Functionality)


II. Non Functional Requirements (Secondary or Ancillary)

I. Functional Requirements (Primary or Core Functionality)


The Functional Requirements) are those functionalities of the product without which, the product is not
useful for the users or stakeholders, or it will not perform its assigned tasks. These functionalities must be
fulfilled and exceptions to these cannot be granted during development of the product. Core functionality
is achieved by implementing IPP.

Core functionality addresses the demand and of a set of business requirements or software business
processes. The main purpose of any software development is to build its core functionality. In almost in
all software developments, the core functionality is addressed completely and it is defined / established
by the project team or domain experts of the organizations.

II. Non Functional Requirements (Secondary or Ancillary)


Ancillary or the Secondary functionality requirements are the supplements or the support to the core
functionality. Even if the ancillary functionality is not completely fulfilled, the product is still usable and
useful but it may cause inconvenience in the form of loss of performance, productivity, safety, efficiency
or security, etc. One point to be noted here is that the customer, may not specify this functionality. And
he / she expects the development team themselves to take care of this ancillary functionality.

Some ancillary functionality are given below:

 Statutory Functionality
o International standards that are applied to the product
 Safety Functionality
o The product shouldn't be harmful in any way
 Security Functionality
o The product should meet the all kind of authorizations
 Usability Functionality
o The product should be easy to use
 Data Integrity Functionality
o The interface of the software product must confirm to protect the incorrect inputs
 Data Protection Functionality
o The interface should be design to protect fluky deletes, warning messages should be
displayed in the matter
 Response Time Functionality
o The product should process the functions in suitable amount of time, too much delays are
not acceptable
 Memory Constraint Functionality
o The product shouldn’t have the memory overhead
 Software Footprint Functionality
o Software may has to function on very small chips, in the handheld devices, so it should
work on these chips
 Fault Tolerance Functionality
o The products should have ability to handle errors or shocks
 Reliability Functionality
o The software product should be reliable in terms of results and processing
 Feel-good Functionality
o The product’s interface should appear good and comfortable to use
 Esteem Functionality
o The product should give the pride to the client organization and they claim it with honor
 One-upmanship Functionality
o The developed product should be distinguishable among its competitor colleague
products.
2. Product Construction Considerations
Another software requirements is the product perspective. It means that when a product is being
developed then what kind of considerations should be taken? Some these are the requirements that are
necessary to build the product on quality standards as well as to make it maintainable.

Following are some product perspectives:

 Maintainability
o Any kind of maintenance should be easy
 Flexibility
o Should be generic and accommodate new features easily
 Efficiency
o w.r.t. CPU, RAM, disks, network, or other resources
 Reusability
o Construct it components based, i.e. they may be reused
 Portability
o From one host to other, or platform, or cloud, etc.
 Operation Ease
o Build as that it should be easily usable worldwide
 Testability
o Cost of testability is critical, so build it as more testable
 Interface Functional
o Today’s application are to be interfaced around multiple software, like internet browsers,
IPS, or protocols, so construct it to keep these aspects in mind.
3. Source Considerations
In this Classification, Software requirements for the development are collected from different sources. To
collect complete requirements we should also know about the different possible sources.

Following are some source perspectives:

 End users

o These people are those that use the end product to perform their individual business
processes. The software product is basically build to support their aspects of inputs,
process and outputs at working level.

 Management of Customer Organization

o These people provide the MIS (Management Information System) portion of the core
functionality. They provide what information they need to extract from the software
(Reports, Analysis, Trends) so that they can manage the business/organization effectively.

 Domain Experts

o These individuals are those (end users that become incharge or the supervisors) that have
worked for long years in the business domain/firm. These people may or may not be IT
(Information Technology) experts but they would have the knowledge of systems and
procedures or the domain. They would know the detailed procedures, formats,
templates, guidelines, standards and checklists used by the end users in the domain.
Domain experts can provide end-to-end core functionality or clarify any issues.

 Project Team

o Project team comprises of the project managers, project leaders, software designers,
business analysts, programmers, testers, User Interface (UI) developers, and Database
Administrators (DBAs). These people are also a source of providing some software
requirements which are essential for the client company.

 Statutes

o Statutes include governmental regulations that the software will not be misused in
anyway. Some of the examples of prohibited activities include stealing of personal data
through IPs, spam emails or the bank account accesses, etc.
 Industry Standards

o These ensure the quality standards (such as ISO, CMMI, IEEE, SPINs, SPMNs). These
standards address various aspects of processes, guidelines, formats, templates and other
quality checklists.

 Software Designers

o Software designers can provide ancillary requirements like efficiency, fault tolerance,
operations ease, installation ease, usability, structural stability and so on. Software
designers are also part of the project team but are treated separately because software
designers play a key role in the final product. Finally they also indicate for any missing /
defective functionality in the software product.

 Software Programmers

o Software programmers are at the end chain for implementing the software requirements.
They are the people who need to implement all the requirements just given to them using
software design documents. However, coding guidelines, some UI guidelines, fields
checks are usually not the part of design documents and programmers are expected to
implement these standards by their own. Software programmers can also specify ancillary
functionality aspects like maintainability, testability, reusability of the code and so on.

 Software Quality Assurance Team

o A Software quality assurance team includes reviewers, testers, and process specialists.
These people can provide testability, and quality perspectives of the proposed software
product.

 Management of Software Development Team

o These individuals include project manager, project leader and other senior management
personnel including program managers. These have a bird’s eye view of the overall project
and they ensure that the software product is able to interface with other
applications/software packages in the organization.

 Marketing Department

o Market surveys are a very popular vehicle to collect user requirements and freeze product
specifications, especially in product development organizations, marketing is a source of
product requirements/specifications. This department collects requirements from the
market and fields.

You might also like