Requirements Management PDF
Document Details
Uploaded by AstoundedWilliamsite3971
Tags
Summary
This presentation covers the topic of Requirements Management, focusing on its importance in successful projects. It details the processes of introducing, managing, and understanding requirements for different projects, along with the inherent challenges encountered during project development.
Full Transcript
Requirements Management Table of Contents Introduction to Requirements Management Traceability Baselines Change Management Requirements Management Tools A factor present in every successful project and absent in every unsuccessful project is sufficient attention to requiremen...
Requirements Management Table of Contents Introduction to Requirements Management Traceability Baselines Change Management Requirements Management Tools A factor present in every successful project and absent in every unsuccessful project is sufficient attention to requirements.1 2 3 Introduction to Requirements Management Introduction Traceability Baselines Change Management Requirements Management Tools Why Do Requirements Change? Change in software development: as inevitable as difficult to control! Better understanding: new requirements become apparent Everything else is changing… Business Context Technologies Markets … Possible responses to change Add, modify, or remove requirements 5 Introduction Traceability Baselines Change Management Requirements Management Tools Some Problems Due to Changing Requirements Requirements changing towards the end of development without any impact assessment Unmatched/outdated requirements specifications causing confusion and unnecessary rework Time spent coding, writing test cases or documentation for requirements that no longer exist 6 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Management A systematic approach to eliciting, organizing, and documenting the requirement of the system, and a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system. Leffingwell & Widrig 1999, p.16 7 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Management Activities (1) Requirements management includes all activities intended to maintain the integrity and accuracy of expected requirements Manage changes to agreed requirements Manage changes to baseline (increments) Keep project plans synchronized with requirements Control versions of individual requirements and versions of requirements documents Manage relationships between requirements Managing the dependencies between the requirements document and other documents produced in the systems engineering process Track requirements status 8 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Management Activities (2) Requirements Management Change control Version control Requirements Requirements status tracking tracing Proposing Defining a version Defining a Defining links to changes identification possible other scheme requirement requirements Analyzing impact statuses Identifying Defining links to Making decisions requirements Recording the other system Updating document status of each elements requirements versions requirement documents Identifying Reporting the Updates plans individual status distribution requirement of all Measuring versions requirements requirements volatility Source: Wiegers, 1999 9 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Development (RD) and Management (RM) Source: Wiegers, 1999 10 Introduction Traceability Baselines Change Management Requirements Management Tools From Management to Tools Changes lead to a need for management There is no management without: Traceability Baselines enabling comparisons From a practical point of view, there is no traceability or management without appropriate tools In theory, practice and theory are similar… But in practice they are different 11 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Change Factors (1) Requirements errors, conflicts, and inconsistencies May be detected at any phase (when requirements are analyzed, specified, validated, or implemented) Evolving customer/user knowledge of the system When the requirements are developed, customers/users simultaneously develop a better understanding of what they really need Technical, schedule, or cost problems Difficult to plan and know everything in advance We may have to revisit the list of requirements and adapt it to the current situation 12 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Change Factors (2) Changing customer priorities, new needs May be caused by a change in the system environment (technological, business, political...), i.e., the context Business and strategic goals may change May be caused by the arrival of a new competitor Laws and regulations may change Collaborating systems may change May also be caused by technology changes in the enterprise (migration to a new operating system, DBMS…) May be caused by organizational changes (organizational structure, business processes, employees…) 13 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Volatility Requirements continuously change While the requirements are being elicited, analyzed, specified, and validated and after the system has gone into service Some requirements are usually more subject to change than others Stable requirements are concerned with the essence of a system and its application domain Derived from the client’s principal business activities or the domain model They change more slowly than volatile requirements E.g., a hospital will always have doctors, nurses, patients… Volatile requirements are specific to the instantiation of the system in a particular environment for a particular customer at a particular time E.g., in a hospital, we can think of requirements related to the policies of the government health system 14 Introduction Traceability Baselines Change Management Requirements Management Tools Types of Volatile Requirements Mutable requirements These are requirements which change because of changes to the environment in which the system is operating Emergent requirements These are requirements which cannot be completely defined when the system is specified but which emerge as the system is designed and implemented Consequential requirements These are requirements which are based on assumptions about how the system will be used Once the system is in place, some of these assumptions will be wrong Compatibility requirements These are requirements which depend on other equipment, technology, or processes 15 Introduction Traceability Baselines Change Management Requirements Management Tools Expectations of Requirements Management (1) Identification of individual requirements Traceability from highest level requirements to implementation Established via links through a requirements database Links between requirements and design models, tests, code… Coverage and consistency analysis What are the traceability policies? What types of links? From where? To where? Impact assessments of proposed changes Analysis tools let you see which other requirements (and other linked artifacts) will be affected by a change 16 Introduction Traceability Baselines Change Management Requirements Management Tools Expectations of Requirements Management (2) Controlled access to current project information A shared database ensures that all users are working with current data (consistency, parallel access) A central repository allows all users to see the information that they need to see (visibility) Change control Change proposal system implements controlled process for managing change How do we collect, document, and address changes? Deployment of required tool support To help manage requirements change 17 Introduction Traceability Baselines Change Management Requirements Management Tools Identification of Requirements It is essential for requirements management that every requirement has a unique identification The most common approach is requirements numbering based on chapter/section in the requirements document There are several problems with this approach Numbers cannot be unambiguously assigned until the document is complete Assigning chapter/section numbers is an implicit classification of the requirements may mislead readers of the document into thinking that the most important relationships are with requirements in the same section 18 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Identification Techniques Dynamic renumbering Some word processing systems allow for automatic renumbering of paragraphs and the inclusion of cross references As you reorganise your document and add new requirements, the system keeps track of the cross references and automatically renumbers your requirements depending on its chapter, section, and position within the section Database record identification When a requirement is identified, it is entered in a requirements database and a database record identifier is assigned which is then used for all subsequent references to the requirement Symbolic identification Requirements can be identified by giving them a symbolic name which is associated with the requirement itself (e.g., SEC1, SEC2, SEC3… may be used for requirements which relate to system security) 19 Introduction Traceability Baselines Change Management Requirements Management Tools BTW, Requirements Have Attributes! Apart from an identifier, requirements should have attributes that establish context and background, and go beyond the requirement description For filtering, analysis, metrics… Creation date, Last update, Author, Stakeholders (Owners / Source) Version number Status, Priority, Importance, Stability Rationale, Comments Acceptance criteria Subsystem / Product release number … The more complex the project, the richer the attributes… Many attributes are predefined in RM tools, others are defined by requirements engineers as required by the project 20 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Attributes Classes and attributes of a requirements management database SYS_MODELS RE QUIREMENT SOURCE_LIST Model: MODEL Identifier: TEXT People: TEXT Description: TEXT Statement: TEXT | GRAPHIC Documents: TEXT Next: MODEL | NULL Date_entered: DATE Reqs: REQ_LIST Date_changed:DATE Sources: SOURCE_LIST RE Q_LIST Rationale: REQ_RATIONALE RE Q_RATIONALE Status: STATUS Req: REQUIREMENT Dependents: REQ_LIST Rationale: TEXT Description: TEXT Is_dependent_on: REQ_LIST Diagrams: GRAPHIC Next: REQUIREMENT Model_links: SYS_MODELS Photos: PICTURE | NULL Comments: TEXT Select only the necessary attributes! 21 IBM DOORS IBM DOORS is an example of requirements management tool that makes it easy to capture, trace, analyze, and manage changes to information. Control of requirements is key to reducing costs, increasing efficiency, and improving the quality of your products. DOORS is an acronym for Dynamic Object-Oriented Requirements System. 22 Introduction Traceability Baselines Change Management Requirements Management Tools DOORS – Objects and Attributes 23 Introduction Traceability Baselines Change Management Requirements Management Tools Requirements Statuses Help manage the requirement lifecycle Their number and nature depend on the process in place Example of a set of statuses: Proposed: by some stakeholder Approved: part of baseline, committed to implement Rejected: after evaluation Implemented: designed and implemented Verified: Relevant tests have passed Deleted: Removed from list RM includes amongst its tasks the tracking of the status of all requirements during the project 24 Introduction Traceability Baselines Change Management Requirements Management Tools Version Control Another essential aspect of requirements management Every version of a requirement needs to be uniquely identified The last version of a requirement must be available to all team members Changes need to be documented and clearly communicated A version identifier must be updated with every change to the requirement Requirements documents should include A revision history: changes, dates, by whom, why... Standard markers for revisions (e.g., strikethrough or underlined text, coloring, line markers…) Version control tool may be used To store and manage the revision history To store justifications (to add, modify, delete, reject a requirement) 25 Traceability