| Hrvatski       | Srpski       | English    
Follow us on twitter

Requirements Management

What is Requirements Management?

Requirements management is a systematic approach to:

  • analysis and understanding of problems a new system is going to solve
  • gathering, organizing and documenting requirements
  • requirements change management

Why Do We Use Requirements Management?

Requirements management makes creation of transparent system specification possible in a systematic way, allowing one to achieve and continuously maintain agreement with the customers on what precisely the system to-be is supposed to do.
The purpose of Requirements Management is:

  • To establish and maintain agreement with the customers and other interested parties on what the system should do
  • To provide development team with a better understanding of the system requirements.
  • To define clear boundaries of the system
  • To provide a basis for planning the technical contents of individual system development iterations
  • To provide a basis for estimating cost and time needed to develop the system
  • Enabling foundations for defining customer interface system that is focused on customers’ needs and goals
  • To provide a basis for defining a user-interface for the system, focusing on the needs and goals of the users

How to Manage Requirements?

Our approach to requirements management is predominately based on Rational Unified Process (RUP), IBM’s world famous process 'framework' for software development, and popular Use Case methodology for software requirements specification.

Important trait of RUP as a process 'framework' is its iterative and incremental approach to software development, which in simple terms implies that the system development is carried out though a predefined number of time -limited iterations. What’s characteristic of each iteration is its passing through all the disciplines including requirements management, analysis and design, implementation, testing etc. As opposed to the 'big bang' and 'waterfall' approach where the disciplines are implemented sequentially and system integration occurs only at the end of the development project, in iterative and incremental approach each iteration includes integration of all system elements implemented in that iteration with the elements implemented in previous iterations. In other words, each iteration results with an executable code, and given that with actual added value to customers as well.

In the context of iterative approach, the requirements management discipline needs to ensure the distribution of total system development work into discrete business units (Use Cases) that are to be allocated to individual iterations. Furthermore, Use Case prioritization creates the preconditions for iteration planning, enabling systematic and targeted attacks on the risks recognized, thus continuously improving the quality of the system by multiple upgrades of customers’ most important functionalities.

The description of requirements management activities could be summarized as follows. Stakeholder requests, reflecting their respective needs, are gathered from various sources. In collaboration with customers and other stakeholders, requests are analyzed in order to identify and clarify the root causes of the real problems. On the basis of this analysis, actual software requirements are specified. Software requirements are classified according to type (functional, nonfunctional) and are documented in appropriate artifacts – e.g. most functional requirements are specified using Use Cases.

Use Case methodology represents the main handle of efficient requirements management. As opposed to classical functional decomposition and declarative specification of functional requirements from the system position, Use Cases makes it possible to understand and document the system functionalities from the perspective of end user goals.

This kind of approach focuses its system development efforts on delivering substantial values to its customers. In short, a Use Case presents the interaction of a system with its actors resulting with some value to the actor. 'Actor' can be defined as someone or something outside the system, but is in interaction with the system. Basic elements of a Use Case model are Use Case diagram and Use Case specifications.

A Use Case diagram shows all the actors and their goals (Use Cases) whereby defining the boundaries of the system.

Textual Use Case specifications serve to describe, in more detail, the interactions between the system and the actors, or rather the actual way a Use Case primary actor accomplishes its goal as defined by the Use Case name.

Important aspect of requirements management is in its traceability links between the software requirements of different levels and types as well as links to the elements of different disciplines. For example, software requirements specifications serve as the basis for creating analysis and design artifacts, testing and creation of user documentation. Such traceability links are the basis for both impact analysis and coverage analysis. Specialized tools for requirements management provide great assistance when applying traceability of large amounts of requirements and numerous links between them (e.g. Rational RequisitePro).

Why Confide Requirements Management to CROZ?

CROZ’s business analysis team is comprised of certified experts for requirements management with abundant practical experience in requirements specifications of different information system categories (document management (DMS), record management (RMS), customer relationship management (CRM), system workflow, portal, data warehouse system etc.) developed to support different business domains (banking, insurance, archiving, justice, pension insurance, tax system, customs system etc.).

Basic characteristic of our approach to requirements management lies in the aspiration for efficient transformation of modern theoretical knowledge into meaningful and useful artifacts that will ultimately enable system development of high value to their customers.