1 / 106

Requirements Management

SEG3101 (Fall 2018). Requirements Management. Daniel Amyot, University of Ottawa Based on material from: Kotonya & Sommerville , Z. Zhang, IBM, S. Somé 2008, D. Amyot 2008-2017, G. Mussbacher 2009,2017, J. Maxwell 2012. Table of Contents. Introduction to Requirements Management

comstock
Download Presentation

Requirements Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEG3101 (Fall 2018) Requirements Management Daniel Amyot, University of Ottawa Based on material from: Kotonya & Sommerville, Z. Zhang, IBM, S. Somé 2008, D. Amyot 2008-2017, G. Mussbacher 2009,2017, J. Maxwell 2012

  2. Table of Contents • Introduction to Requirements Management • Traceability • Baselines • Change Management • Requirements Management Tools

  3. Introduction to Requirements Management

  4. IntroductionTraceability Baselines Change Management Requirements Management Tools Requirements Change is Inevitable • Better understanding of the domain: new requirements become apparent • Everything else is changing (business, context, technologies, markets…) • Changing customer priorities, new needs, new competitors • Collaborating systems may change • Changing laws, regulations, polices, etc. • Requirements errors, conflicts, and inconsistencies • Technical, schedule, or cost problems • Technical or business opportunities (cloud, IoT, blockchains…) • As difficult to control as it is inevitable! • Possible responses to change • Ignore it… • Add, modify, or remove requirements

  5. IntroductionTraceability Baselines Change Management Requirements Management Tools Feature Survival Chart K. Wnuk, B. Regnell, L. Karlsson: Visualization of Feature Survival in Platform‐Based Embedded Systems Development for Improved Understanding of Scope Dynamics, 3rd International Workshop on Requirements Engineering Visualization REV 08, Barcelona, Spain

  6. IntroductionTraceability Baselines Change Management Requirements Management Tools Quantitative Analysis of Feature Survival Charts Reasons for scope exclusion resources

  7. Increasing U.S. Healthcare Regulation CCHIT MU Stage 1 HIPAA HITECH (ARRA) MU Stage 2 Meta-Standards Rule 2007 2008 1996 2009 2010 2011 2012 NwHIN Governance HIPAA Omnibus Regs DEA EPCS Data Breach Notification Various State Laws … and each of these laws evolves too (multiple versions!) J.C. Maxwell, A.I. Antón, P. Swire, "Managing Changing Compliance Requirements by Predicting Regulatory Evolution", Intl. Conf. on Requirements Engineering, 2012.

  8. IntroductionTraceability Baselines Change Management Requirements Management Tools Some Problems Due to Changing Requirements • Requirements changing towards the end of development without any impact assessment • Also known as requirements/feature creep • Unmatched/outdated requirements specifications causing confusion and avoidable rework • “Which version is the right one already?” • Time spent coding, writing test cases or documentation for requirements that no longer exist

  9. IntroductionTraceability 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.1 [1] Leffingwell & Widrig 1999, p.16

  10. IntroductionTraceability Baselines Change Management Requirements Management Tools Requirements Management Activities • 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 and other documents/artefacts produced in the systems engineering process • Track requirements status

  11. IntroductionTraceability 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 

  12. IntroductionTraceability Baselines Change Management Requirements Management Tools Requirements Volatility • Measure: number of requirements changes (addition, deletion, modification) in a specified time interval • 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 to deal with… • 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, a nurse may want the software system to support the a specific way of inputting and getting information.

  13. IntroductionTraceability 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

  14. IntroductionTraceability 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 All of this requires planning!

  15. IntroductionTraceability 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 (2.1, 3.2.4, …) • 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

  16. IntroductionTraceability 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. But… • 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 security requirements). But… it is difficult to give only one category to a requirement • Conclusion: avoid encoding information in the ID!

  17. IntroductionTraceability Baselines Change Management Requirements Management Tools 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

  18. IntroductionTraceability Baselines Change Management Requirements Management Tools Requirements Attributes • Classes and attributes of a requirements management database • Select only the necessary attributes!

  19. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Objects and Attributes

  20. IntroductionTraceability Baselines Change Management Requirements Management Tools Confidence/Certainty Attribute • One must distinguish requirements that are fully certain from the others • Otherwise: too many constraints, or loss of trust in all requirements • Confidence: Scale sample • Full, High, Average, Low, Very low • Low-confidence requirements: • Might be delayed until more certain • Will provide more freedom to designers for being creative • Creativity at the design level is also important! • See this presentation: How Google Works… • R. Mohanani et al.: “Requirements Fixation” (ICSE 2014 version: http://dl.acm.org/citation.cfm?id=2568235)

  21. IntroductionTraceability 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

  22. IntroductionTraceability 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)

  23. IntroductionTraceability Baselines Change Management Requirements Management Tools Dilbert on Requirements Management

  24. Traceability

  25. IntroductionTraceability Baselines Change Management Requirements Management Tools Traceability? • "Can I ask you some questions?" • "By all means." • "Okay. Well, for starters I'll have who, what, when and where and then wither, whence and wherefore for a follow-up, and then one bit side-order of why." Source: Zaphod Beeblebrox & Zarniwoop, The Hitchhiker's Guide to the Galaxy

  26. IntroductionTraceability Baselines Change Management Requirements Management Tools Traceability Quotes (1) • A link or relationship defined between entities.1 • Requirements traceability refers to the ability to describe and follow the life of a requirement, in both forwards and backwards direction (i.e., from its origins, through its development and specification, to its subsequent deployment and use, and through all periods of ongoing refinement and iteration in any of these phases)”.2 • A software requirements specification is traceable if the origin of each of its requirements is clear and if it facilitates the referencing of each requirement in future development or enhancement documentation.3 [1] Watkins and Neal, 1994; [1] Gotel & Finkelstein, 1994; [3] IEEE Standard 830-1998

  27. IntroductionTraceability Baselines Change Management Requirements Management Tools Traceability Quotes (2) • Traceability is often mandated by contracts and standards.1 • E.g., military and aerospace • One cannot manage what cannot be traced.2 • A requirement is traceable if you can discover who suggested the requirement, why the requirement exists, what requirements are related to it, and how that requirement relates to other information such as systems designs, implementations and user documentation • Traceability information helps assess the impact of changes to requirements, connecting these requirements as well as requirements for other representations of the system.3 [1-2] Watkins and Neal, 1994; [3] Kotonya and Sommerville, 1998;

  28. IntroductionTraceability Baselines Change Management Requirements Management Tools Traceability in the HIPPA Law (USA)

  29. IntroductionTraceability Baselines Change Management Requirements Management Tools Benefits of Traceability • Impact analysis now possible! • Change control • Process monitoring (e.g., missing links indicate completion level) • Improved software quality (make changes correctly and completely) • Reengineering (define traceability links is a way to record reverse engineering knowledge) • Risk reduction (e.g., if a team member with key knowledge leaves) • Supports the verification process (certification, localization of defects and conflicts…)

  30. IntroductionTraceability Baselines Change Management Requirements Management Tools Traceability and Legal Conflicts [Maxwell et al., RE 2011]

  31. IntroductionTraceability Baselines Change Management Requirements Management Tools Typical Project Data Change Requests Regulatory Codes System Requirements Design User Requirements Documentation Sub-System Requirements Sub-System Requirements Component Requirements Component Requirements Project Plans Fault Logs Stakeholders Source Code in packages, components, and versions..

  32. IntroductionTraceability Baselines Change Management Requirements Management Tools Project Intelligence: Challenges Necessary support for Software Analytics Distributed data DataConnectivity SELECT DISTINCT regulatory_code.* FROM ((regulatory_code LEFT OUTER JOIN tm_regulatory_code2software _requirement ON (regulatory_code.id = tm_regulatory_code2software _requirement_id)) LEFT OUTER JOIN software_requirement ON (software_ requirement.it=tm_regulatory_ code2software_requirement.software_requirements_id WHERE regulatory_code.relevant='true' AND software_requirement.id IS NULL; Heterogeneous data Queries

  33. IntroductionTraceability Baselines Change Management Requirements Management Tools Queries: Regulatory Control Regulatory Codes System/sub-system level requirements Satisfies relevant codes Which regulatory codes are relevant to my system? Are all relevant regulatory codes fully addressed in the as-built system? Realizes Validates Code How do changes in the updated codes impact my system? Tests Test cases(unit, integration, acceptance)

  34. IntroductionTraceability Baselines Change Management Requirements Management Tools Queries: Project Test Status What percentage of acceptance tests have passed? Should we invest further time testing? Source Code in packages, components, and versions.. Have any components repeatedly failed acceptance tests? Fault Logs Do any of the reused components have a history of post-release faults? Who is a domain expert for this problematic component? Project Plans

  35. IntroductionTraceability Baselines Change Management Requirements Management Tools Queries: Project Management Are there any bottlenecks in the continuous integration? How well are we performing on the current project? How did the recent process change impact the delivery stream?

  36. IntroductionTraceability Baselines Change Management Requirements Management Tools What questions do you have? Project ROI Safety Architecture Process Triage CodeQuality Compliance Tests Faults Quality

  37. IntroductionTraceability Baselines Change Management Requirements Management Tools What Practitioners Say About Traceability We need traceability for certification! Isn’t it some heavyweight thing? We often construct all of the links after development is over. I think it is a made-up problem. Fast paced agile/ business-oriented projects Slower-paced, carefullyplanned safety-criticalprojects Traceability Techniques Benefits extend to non-safety critical projects Support for safety-critical agile-projects and/or for continual certification

  38. IntroductionTraceability Baselines Change Management Requirements Management Tools Traceability Difficulties • Various stakeholders require different information • Huge amount of requirements traceability information must be tracked and maintained • Manual creation of links is very demanding • Likely the most annoying problem • Specialized tools must be used • Integrating heterogeneous models/information from/to different sources (requirements, design, tests, code, documentation, rationales…) is not trivial • Requires organizational commitment (with an understanding of the potential benefits)

  39. IntroductionTraceability Baselines Change Management Requirements Management Tools Representation – Traceability Matrix • Visualize/define links between pairs of elements • E.g., requirements to requirement, requirement to use case, requirement to test case… • One matrix per defined relationships between pairs • E.g., depends on, refines, prevents, implements, tests.

  40. IntroductionTraceability Baselines Change Management Requirements Management Tools Sample Traceability Matrix

  41. IntroductionTraceability Baselines Change Management Requirements Management Tools Representation – Traceability List • Traceability matrices become more of a problem when there are hundreds or thousands of requirements as the matrices become large and are sparsely populated • A simplified form of a traceability matrix may be used where, along with each requirement description, one or more lists of the identifiers of related requirements are maintained

  42. IntroductionTraceability Baselines Change Management Requirements Management Tools Example – DOORS Links • A relationship between two objects in the DOORS database is established using a link • One source object and one destination object • Links can be followed in either direction • Possible to have many links between the same two objects • Links also have types and attributes!

  43. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Creating and Accessing Links

  44. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Exploring Traceability Links

  45. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Link Matrix View

  46. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Hierarchical Link View

  47. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Filtering View (Query on Attributes)

  48. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Types of Analysis • Impact Analysis • Analyze out-links (which objects in other modules are affected when this module is changed) • Traceability Analysis • Analyze in-links (changes in these objects will affect this module) • May involve multiple levels of objects/documents

  49. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Multi-Module Traceability User Reqts Technical Reqts Design Test Cases

  50. IntroductionTraceability Baselines Change Management Requirements Management Tools DOORS – Analysis with Wizard Orphans indicate missing links

More Related