Difference between revisions of "Requirement"

From CNM Wiki
Jump to: navigation, search
(Categorized by audiences)
(Categorized by audiences)
Line 55: Line 55:
 
==Natural classifications==
 
==Natural classifications==
 
===Categorized by audiences===
 
===Categorized by audiences===
:''Requirements'' developers develop ''requirements''. There are several pairs of audiences that are their primary consumers:
+
:''Requirements'' developers develop ''requirements''. There two major pairs of audiences that primarily consume those ''requirements'':
 
:#''Customer and contractor'' when the ''requirement'' is needed to understand or confirm what needs to be done and, possibly, how what needs to be done would be done.
 
:#''Customer and contractor'' when the ''requirement'' is needed to understand or confirm what needs to be done and, possibly, how what needs to be done would be done.
 
:#''Contractor's management and implementing team'' when the ''requirement'' needs to be bettered and/or broken-down in order to be managed. This type of ''requirements'' is often called [[technical requirement]]s.
 
:#''Contractor's management and implementing team'' when the ''requirement'' needs to be bettered and/or broken-down in order to be managed. This type of ''requirements'' is often called [[technical requirement]]s.

Revision as of 14:57, 2 April 2020

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


Definitions

Common definitions

The common-style definitions particularly include:

Engineering definitions

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.

Stakeholder definitions

From a stakeholder perspective, a requirement is anything that helps:
  1. Customers to describe what they wish to obtain;
  2. Suppliers to understand what the customer wants;
  3. Requirements specialists to substantively develop requirements blueprints for their own organizations, as well as other requirements documents such as requirements quality checklists, requirements creator's handbooks, etc.

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.

New product development

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

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.

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.

Natural classifications

Categorized by audiences

Requirements developers develop requirements. There two major pairs of audiences that primarily consume those requirements:
  1. Customer and contractor when the requirement is needed to understand or confirm what needs to be done and, possibly, how what needs to be done would be done.
  2. Contractor's management and implementing team when the requirement needs to be bettered and/or broken-down in order to be managed. This type of requirements is often called technical requirements.

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.

Categorized by progress

Requirements can be categorized based on their state in the requirement lifecycle:
  1. 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.
  2. Confirmed requirement.
  3. Prioritized requirement.
  4. Organized requirement.
  5. Modeled requirement.
  6. 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.
  7. Validated requirement. A requirement that has been demonstrated to deliver business value and to support the business goals and objectives.
  8. Reviewed requirement.
  9. Approved requirement.
  10. Implemented requirement.

Product vs process

With regard to its nature, a requirement may refer to:

Modeled classifications

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

IIBA-marketed taxonomy

Particularly through their BABOK Guide, the IIBA markets the following taxonomy:
  1. Business requirement. The highest level of the the IIBA's hierarchy of requirements. Business requirement is a business rationale for one or more changes that, when implemented, will permit the organization to increase revenue, avoid costs, improve service, or meet regulatory requirements. The rationale commonly includes the organizational goals, objectives, and needs; it usually describes opportunities that an organization wants to realize or problems that they want to solve. A business case is the common form of a business requirement.
  2. Stakeholder requirement. 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 higher-level business requirements and more detailed solution requirements.
  3. Solution requirement, including architecturally significant requirements.
  4. Transition requirement. The lowest level of the the IIBA's hierarchy of requirements. Transition requirements are 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.

FURPS+ system

The FURPS+ system for requirements classification has been initially developed by Robert Grady at Hewlett-Packard and is now used widely in the industry, most notably, by IBM. The acronym FURPS represents:
  1. Functionality
  2. Usability
  3. Reliability
  4. Performance
  5. Supportability
The "+" in FURPS+ indicates concerns related to design requirements, implementation requirements, interface requirements, and/or physical requirements.

Forms

Artifacts

Those artifacts that serve as requirements can be divided into two categories:
  1. Concept artifacts such as wireframes, mockups, prototypes, etc.
  2. Existing products, especially competitor's ones.

Breakdown documents

Initial documents

Agreement.
Contract.
Business case.
Procurement statement of work.
Regulatory document.
Statement of work (SOW).
Work order.

Final documents

Main wikipage: Requirements document

Undocumented requests

Prioritization

MoSCoW method

The MoSCoW method (alternatively known as MoSCoW analysis, MoSCoW prioritization) is a prioritization technique used in business analysis, enterprise administration, project management, and new product development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement.
The term, MoSCoW, itself is an acronym derived from the first letter of each of four prioritization categories. Two interstitial Os are added to make the word pronounceable:
  1. Must have. The must-have requirements are critical to the current sprint; missing any of them constitutes a project failure.
  2. Should have. The should-have requirements are important, but not necessary in the current sprint.
  3. Could have. The could-have requirements are desirable but not necessary and can be included if time and other resources permit.
  4. Won't have at this time. The won't-have-this-time requirements are the least-critical, lowest-payback items, or not appropriate in the current sprint.

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. 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.
  3. 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.
  4. 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.

Related lectures

See also