Requirement

From CNM Wiki
Revision as of 22:30, 31 March 2020 by Gary (talk | contribs) (IIBA-developed taxonomy)
Jump to: navigation, search

A requirement is an expressed demand, desire, expectation, and/or wish to have or not to have a certain capability, condition, feature, and/or property. The term, requirements, may refer to the aggregate of various requirements that are approved, verified, and/or validated by the product owner or another authority for the requested product. Those requirements that limit the product's or process of the production's capabilities and/or conditions are called constraints.


Definitions

Common-style

The common-style definitions particularly include:

Engineering-style

According to the Rational Unified Process (RUP), which is an iterative software development process framework that IBM markets,
A requirement describes a condition or capability to which a system must conform; either derived directly from user needs, or stated in a contract, standard, specification, or other formally imposed document.
According to the second version of the A Guide to the Business Analysis Body of Knowledge® (BABOK Guide), a requirement is:
  1. A condition or capability needed by a stakeholder to solve a problem or achieve an objective;
  2. A condition or capability that must be met of possessed by a deliverable or its component to satisfy a contract, standard, specification, or other formally imposed documents; AND/OR
  3. A documented representation of a condition or capability as in (1) or (2).
The IEEE Standard Glossary of Software Engineering Terminology defines a requirement similarly to the two definitions above.

Applications

Requirements are widely used in business analysis, process optimization, procurement, product development, project management, systems engineering, and many other areas. Because of variety of applications, several views of what requirements are, how they should be organized and how they should be utilized compete against each other.

Business analysis

Requirements for the solutions to be designed, developed, and delivered are in the core of business analysis.

Procurement

Requirements for the products to be purchased are in the core of procurement. Forms of the procurement requirements range from oral statements such as I would like to buy the cheapest soap you carry and up to procurement statements of work, business cases, etc.

Product development

Requirements for the products to be designed, developed, and delivered are in the core of product development. Hewlett-Packard developed the FURPS system, which is quite popular in the software development, particularly by IBM. The Agile methodologies widely use product requirements in forms of user story, epic story, and so on.

Project management

Requirements for the unique product, service, or result to be designed, created, and delivered are in the core of project management. AXELOS Ltd and the PMI lead the industry research on requirements.

Sales engineering

Requirements for the products to be sold are in the core of sales engineering. Regardless of the fact whether anyone in marketing and sales knows what the term, requirement, means, any good sales representative asks a potential buyer about what he or she wants to buy at least and, probably, on what conditions and at what price.

Systems engineering

Requirements for the systems to be designed, developed, and delivered are in the core of systems engineering. The IEEE and the INCOSE lead the industry research on requirements.

Conventionally-accepted taxonomies

Product vs process

With regard to its nature, a requirement may refer to:
  • Product requirement that indicates specific feature, functionality, and/or qualities of the requested product;
  • Project requirement that indicates specific ways of the requested product's design, development, and/or delivery; OR
  • Operation requirement that indicates specific ways of the requested product's development, delivery, and/or collection of feedback.

Categorized by imposing party

Any requirement can be imposed by one or more of the following three:
  1. Customer;
  2. Contractor;
  3. Third party such as:
Some requirements are originated from the sources such as demographics, economy, and geography that are outside of those three, but they need to be brought to the operations or project by one of those three.

Competing taxonomies

Because of the variety of research frameworks, a few competitive taxonomies exist.

IEEE-developed taxonomy

IIBA-developed taxonomy

The IIBA markets, particularly through their BABOK Guide, the following taxonomy:
  1. Business requirement.
  2. Stakeholder requirement.
  3. Solution requirement,
  4. Transition requirement.

Transition Requirements define characteristics that a solution must have in order to transition from the current state to the desired future state. These are characteristics that will not be needed once the transition is completed. A few key points:

   Transition requirements are temporary
   Transition requirements place an emphasis on change management processes

INCOSE-developed taxonomy

FURPS+ system

Other taxonomies

Architectural

Architectural requirements explain what has to be done by identifying the necessary integration of systems structure and systems behavior, i.e., systems architecture of a system.
In software engineering, they are called architecturally significant requirements, which is defined as those requirements that have a measurable impact on a software system’s architecture.

Business

High-level statements of the goals, objectives, or needs of an organization. They usually describe opportunities that an organization wants to realise or problems that they want to solve. Often stated in a business case.

User (stakeholder)

Mid-level statements of the needs of a particular stakeholder or group of stakeholders. They usually describe how someone wants to interact with the intended solution. Often acting as a mid-point between the high-level business requirements and more detailed solution requirements.

Functional (solution)

Usually detailed statements of capabilities, behavior, and information that the solution will need. Examples include formatting text, calculating a number, modulating a signal. They are also sometimes known as capabilities.

Quality-of-service (non-functional)

Usually detailed statements of the conditions under which the solution must remain effective, qualities that the solution must have, or constraints within which it must operate. Examples include: reliability, testability, maintainability, availability. They are also known as characteristics, constraints or the ilities.

Implementation (transition)

Usually, detailed statements of capabilities or behavior required only to enable the transition from the current state of the enterprise to the desired future state, but that will thereafter no longer be required. Examples include recruitment, role changes, education, migration of data from one system to another.

Related concepts

  1. Business need. A type of high-level business requirement that is a statement of a business objective, or an impact the solution should have on its environment.
  2. Requirement. (1) A condition or capability needed by a stakeholder to solve a problem or achieve an objective; (2) A condition or capability that must be met of possessed by a deliverable or its component to satisfy a contract, standard, specification, or other formally imposed documents; (3) A documented representation of a condition or capability as in 1) or 2).
    • Stated requirement. A requirement articulated by a stakeholder that has not been analyzed, verified, or validated. Stated requirements frequently reflect the desires of a stakeholder rather than the actual need.
  3. Business requirement. A higher level business rationale that, when addressed, will permit the organization to increase revenue, avoid costs, improve service, or meet regulatory requirements.
    • Stakeholder requirement. Stakeholder requirements are statements of the needs of a particular stakeholder or class of stakeholders. They describe the needs that a given stakeholder has and how that stakeholder will interact with a solution. Stakeholder requirements serve as a bridge between business requirements and the various categories of solution requirements.
    • Business requirements document. A requirements package that describes business requirements and stakeholder requirements (it documents requirements of interest to the business, rather than documenting business requirements).
  4. Solution requirement. A characteristic of a solution that meets the business and stakeholder requirements. May be subdivided into functional and non-functional requirements.
  5. Constraint. Any global requirement that limits the effort administration and/or effort result. The constraint is usually defined in order to restrict negative affects on business needs and those stakeholder needs that applicable to the particular project or operations.
    • Design constraint. A solution requirement that limit the options available to the system designer.
    • Technical constraint(s). Technical constraints are limitations on the design of a solution that derive from the technology used in its implementation. See also business constraint.
    • Business constraint(s). Business constraints are limitations placed on the solution design by the organization that needs the solution. Business constraints describe limitations on available solutions, or an aspect of the current state that cannot be changed by the deployment of the new solution. See also technical constraint.
  6. Requirements model. A representation of requirements using text and diagrams. Requirements models can also be called user requirements models or analysis models and can supplement textual requirements specifications.
    • Requirement attribute. Metadata related to a requirement used to assist with requirements development and management.
    • Requirement defect. An error in requirements caused by incorrect, incomplete, missing, or conflicting requirements.
    • Requirements allocation. The process of apportioning requirements to subsystems and components (i.e., people, hardware, and software).
    • Requirements traceability. The ability to identify and document the lineage of each requirement, including its derivation (backward traceability), its allocation (forward traceability), and its relationship to other requirements.
  7. User requirements document. A requirements document written for a user audience, describing user requirements and the impact of the anticipated changes on the users.
    • Requirements package. A requirements package is a set of requirements grouped together in a document or presentation for communication to stakeholders.
    • Specification. The exact customer needs that must be satisfied by a product in order for that product to be considered a success.
  8. User story. A high-level, informal, brief, non-technical description of a solution capability that provides value to a stakeholder. In other words, a user story is description of a system requirement written from the customer's or end-user's point of view. A user story is typically one or two sentences long and provides the minimum information necessary to allow a developer to estimate the work required to implement it. Either the product owner or the team writes user stories according to the following structure: as a [type of user], I want to [perform some task (or execute some function)], so I can [achieve some goal].
    • Product epic. A large user story that, in its current state, would be difficult to estimate or to complete in a single iteration. Epic stories are typically lower priority and are waiting be broken down into smaller components.
    • Story mapping. refers to a top-down visualization, or roadmap, of product backlog. The story map starts with a goal or specific functionality, which is then broken down into user stories. A story map is created in tree format either physically, using post-its on a wall, or digitally.
    • Story point. A measurement used by Scrum teams to determine how much effort is required to achieve a goal. In other words, a story point is a non-unit measure used to determine the complexity of a user story. Story points are relative, not absolute, and do not relate to actual hours. They can be anything from Agile T-shirt sizes to the Fibonacci sequence.
    • Storyboard. A tool inspired by the filmmaking industry, where a visual sequence of events is used to capture a user's interactions with a product. Depending on the audience, it may be an extremely rough sketch, purely for crystallising your own ideas.
    • User persona. (1) A fictitious identity that reflects one of the user groups for whom the product is being designed; (2) A detailed hypothetical description or biography of a typical end-user who will be using the product. User personas usually take the form of a written document, complete with stock photo, name, profession, style of living, and other details pertinent to their being categorized as an end-user.
    • Spike. A short, time-boxed piece of research, usually technical, on a single story that is intended to provide just enough information that the team can estimate the size of the user story.
  9. Use case. An analysis model that describes the tasks that the system will perform for actors and the goals that the system achieves for those actors along the way.
    • Included use case. A use case composed of a common set of steps used by multiple use cases.
    • Use case diagram. A type of diagram defined by UML that captures all actors and use cases involved with a system or product.
    • Work product. A document or collection of notes or diagrams used by the business analyst during the requirements development process.
  10. Verified requirement. Requirements that have been shown to demonstrate the characteristics of requirements quality and as such are cohesive, complete, consistent, correct, feasible, modifiable, unambiguous, and testable.
    • Requirements verification. The work done to evaluate requirements to ensure they are defined correctly and are at an acceptable level of quality. It ensures the requirements are sufficiently defined and structured so that the solution development team can use them in the design, development and implementation of the solution.
  11. Validated requirement. A requirement that has been demonstrated to deliver business value and to support the business goals and objectives.
    • Requirements validation. The work done to ensure that the stated requirements support and are aligned with the goals and objectives of the business.

Related lectures

See also