Requirements Validation and Negotiation

Similar documents
Requirements Validation and Negotiation (cont d)

Requirements Validation and Negotiation

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Requirement Analysis

Human-Computer Interaction. CA357 Lecture 7 More on Prototyping

Recommended Practice for Software Requirements Specifications (IEEE)

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Software Engineering - I

Part 5. Verification and Validation

Software specification and modelling. Requirements engineering

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

Human Error Taxonomy

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

What is Software Architecture

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV

Prototyping for usability engineering

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Modeling Issues Modeling Enterprises. Modeling

IPM 15/16 T2.1 Prototyping

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture

QA Best Practices: A training that cultivates skills for delivering quality systems

TASKS IN THE SYSTEMS DEVELOPMENT LIFE CYCLE

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Vragen. Use case analysis. Use-Cases: describing how the user will Use cases

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

A Collaborative User-centered Approach to Fine-tune Geospatial

Requirements Engineering. Establishing what the customer requires from a software system. Requirements Engineering. What is a Requirement?

Requirements. CxOne Standard

Lecture 5: Requirements Specifications

Lesson 06. Requirement Engineering Processes

Quality Software Requirements By J. Chris Gibson

Sample Exam Syllabus

USER-CENTERED DESIGN KRANACK / DESIGN 4

Automatic Merging of Specification Documents in a Parallel Development Environment

Lecture 8 Requirements Engineering

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

(c) Addison Wesley Chapter 3. ! Interviewing customers and domain experts. ! Questionnaires. ! Observation. ! Study of documents and software systems

Chapter 4 Objectives

Shree.Datta Polytechnic College,Dattanagar, Shirol. Class Test- I

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

UNIT II Requirements Analysis and Specification & Software Design

Lecture 6: Requirements Engineering

Usability Testing CS 4501 / 6501 Software Testing

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018

Building UAE s cyber security resilience through effective use of technology, processes and the local people.

What is a prototype?

EXAM PREPARATION GUIDE

Rules of Writing Software Requirement Specifications

Administrative Stuff. Examples of project processbooks and link to a project prototype on the website Next Week: Evaluation methods, cultural probes

Verification and Validation

What is a prototype?

User Centered Design And Prototyping

The requirements engineering process

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

REQUIREMENTS. Michael Weintraub Spring, 2016

Signavio Process Manager. Collaborative process design for the entire organization

Design, prototyping and construction

Software Architecture

SE351a: Software Project & Process Management. 11 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

Software Engineering (CSC 4350/6350) Rao Casturi

OE-PM Project Charter Document

ΗΜΥ 317 Τεχνολογία Υπολογισμού

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Advanced Software Engineering: Software Testing

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

3Lesson 3: Web Project Management Fundamentals Objectives

Chapter 8. Achmad Benny Mutiara

dt+ux Design Thinking for User Experience Design, Prototyping & Evaluation Autumn 2016 Prof. James A. Landay Stanford University

Concepts of Usability. Usability Testing. Usability concept ISO/IS What is context? What is context? What is usability? How to measure it?

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Requirements Specifications & Standards

3 Prototyping and Iterative Evaluations

HOW TO PROVE AND ASSESS CONFORMITY OF GUM-SUPPORTING SOFTWARE PRODUCTS

EXAM PREPARATION GUIDE

Requirements Engineering. Version October 2016

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing.

Software Architectures. Lecture 6 (part 1)

Requirements Engineering

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Design Patterns

Interactive (High-fi) Prototype (Group)

Specifying and Prototyping

Enterprise Architecture Views and Viewpoints in ArchiMate - Reference

The IDN Variant TLD Program: Updated Program Plan 23 August 2012

Software Reuse and Component-Based Software Engineering

What is a prototype?

Designing and documenting the behavior of software

Sofware Requirements Engineeing

Requirements Engineering

Transcription:

REQUIREMENTS ENGINEERING LECTURE 2015/2016 Eddy Groen Requirements Validation and Negotiation

AGENDA Fundamentals of Requirements Validation Fundamentals of Requirements Negotiation Quality Aspects of Requirements Principles of Requirements Validation Requirements Validation Techniques Requirements Negotiation 2

Main Activities in Requirements Engineering Management Elicitation Documentation Validation & Negotiation 3

Recommended Validation Practices Validation Support communication and test quality features Check standards compliance Evaluate using prototypes Negotiate requirements Check requirements syntactically Check requirements semantically Basis Enhancement Optimization Context 4

Validation in the Communication Model Person A Person B Perception Representation Interpretation Representation Objective Reality Perceived Reality Expression Personal Reality Documented Expression 5

REQUIREMENTS VALIDATION AND NEGOTIATION Fundamentals of Requirements Validation 6

Purpose of Requirements Validation Reviewing requirements in order to discover errors or quality problems Early assurance that (documented) requirements: represent the actual needs and expectations of the stakeholders have the necessary level of quality can be approved for further development activities Design, implementation, test, Especially important in client contractor relationships 7

Project Problems due to (Bad) Requirements Unrealistic planning or expectations (76%) Missing or ill-defined requirements (72.8%) Scope creep (69.6%) Misunderstood customer wishes (46.9%) Problems with communication and collaboration (43.9%) Problems with change management (35.9%) Insufficient testing (33.8%) Lacking support from management (31.2%) [Source: The State of Requirements Management Report 2011] 8

Why Testing Alone Does Not Suffice Tests: require running code identify erratic behavior, not the errors themselves are not able to uncover all errors The later an error is found, the more expensive it is to correct Factor 10 during development Factor 50 upon release / at completion of development But even today, 90% of all companies choose to use testing as their only means of quality assurance 9

REQUIREMENTS VALIDATION AND NEGOTIATION Fundamentals of Requirements Negotiation 10

Purpose of Requirements Negotiation Unresolved conflicts reduce system acceptance E.g., when only one of the contradictory requirements is implemented, the other party is demotivated Overall goal of negotiation Gain a common and agreed-upon understanding of the requirements among all stakeholders Resolving contradictory requirements of different stakeholders Shut down in case of failure vs. Restart in case of failure Negotiation needs to be done throughout the entire requirements engineering process (not as a single step at the end!) 11

12 [Source: Wikivisual / Creative Commons]

REQUIREMENTS VALIDATION AND NEGOTIATION Quality Aspects of Requirements 13

Relevant Quality Aspects for Validation Content Have all relevant requirements been elicited and documented at the appropriate level of detail? Documentation Do all documented requirements respect the predetermined guidelines for documentation and specification? Agreement Do all stakeholders concur with the documented requirements and have all known conflicts been resolved? A requirement should only be approved for further development activities if all three quality aspects are being fulfilled 14

Mapping of Quality Aspects on the Quality Criteria for Requirements Documents and Single Requirements Content Documentation Agreement Unambiguity and consistency Clear structure Modifiability and extendibility (of content and structure) Completeness Traceability Agreed Unambiguous Necessary Consistent Verifiable Realizable Traceable Complete 15 Understandable

Quality Aspect: Content Content errors are present when the quality criteria for requirements are violated Fulfilled if no shortcoming have been detected with regard to: completeness (set of all requirements) completeness (individual requirements) traceability correctness / adequacy consistency no premature design decisions verifiability necessity 16

Quality Aspect: Documentation (1/2) Documentation errors are present when specification guidelines have been violated Risks of documentation errors Impairment of development activities Format not usable for processing Misunderstanding Requirements consumers do not understand the notation properly Incompleteness Used format does not allow representing all information Overlooking requirements Requirements consumers do not find information where expected 17

Quality Aspect: Documentation (2/2) Fulfilled if no shortcoming have been detected with regard to: conformity to documentation format (e.g., template, notation) and structure (e.g., correct section) understandability (e.g., defined terminology) unambiguity (only one possible interpretation) conformity to documentation rules (e.g., correct use of notation syntax) 18

Quality Aspect: Agreement Agreement errors are present when the set of requirements does not or no longer represent the stakeholders actual needs and expectations Fulfilled if no shortcoming have been detected with regard to: agreement (all requirements agreed upon by the stakeholders) agreement after changes conflict resolution 19

REQUIREMENTS VALIDATION AND NEGOTIATION Principles of Requirements Validation 20

Essential Validation Principles 1. Involvement of correct stakeholders 2. Separation of the identification and correction of errors 3. Validation from different views 4. Adequate change of document type 5. Construction of development artifacts 6. Repeated validation These principles are independent of how the validation is performed 21

Principle 1: Involvement of Correct Stakeholders Which stakeholder is correct depends on the goal of the validation Validation should never be carried out by the author of a requirement / requirements document External vs. internal validation External: validators from outside the development team or even the organization (e.g., experts from Fraunhofer) More independent and neutral view Higher effort and costs Internal: validators from inside the development team or the organization More influence from prior knowledge Easy to coordinate 22

Principle 2: Separation of the Identification and Correction of Errors The principle of separating error identification from error correction is well-established in today s software development practice Applied to requirements validation, this separation: enables validators to concentrate on identification enables authors to concentrate on correcting / fixing supports double-checking 23

Principle 3: Validation from Different Views Requirements should always be validated by several people who take the perspectives of different roles, e.g.: the customer (who pays for the system) the user (who uses the system) the tester (who tests the system) the developer (who develops the system) the architect (who designs the system) Taking into account multiple perspectives increases finding more and different errors and reduces finding duplicate errors 24

Principle 4: Adequate Change of Documentation Type Validation uses the strengths of each documentation type (e.g., natural language, graphical models) in order to compensate for their weaknesses Transcribing a requirements from one documentation format into another allows for easier validation of this requirement E.g., written text on a process flow can be validated easier if a corresponding model is drawn 25

Principle 5: Construction of Development Artifacts Requirements are used as the basis for further development artifacts It makes sense to directly derive these artifacts (e.g., test cases, design sketches) during validation Developing artifacts allows for checking whether a requirement is really a suitable basis for development (beyond the assumption that it is) 26

Principle 6: Repeated Validation Validation should be repeated multiple times, because stakeholders gain additional knowledge during a project A validated requirement may not be valid at a later point in time Typical situations in which validation is crucial (Many) Innovative ideas and technologies Significant gain of knowledge during requirements engineering Long-lasting projects Very early (first) requirements validation Unknown domain Reuse of requirements 27

REQUIREMENTS VALIDATION AND NEGOTIATION Requirements Validation Techniques 28

Techniques Overview Core techniques (review techniques) Commenting Inspections Walkthroughs Supporting techniques Perspective-based reading Validation through Prototyping Validation checklists Each technique requires upfront preparation (e.g., identification and involvement of correct stakeholders) 29

Commenting / Ad Hoc Review (One Reviewer) Receiving opinions on the quality of the requirements Process 1. The author hands out the document to an expert 2. The expert checks for errors and ambiguities 3. The flaws are marked and briefly explained Advantages Easy to apply Low costs Disadvantages Unsystematic; results depend on expert s knowledge No group effects 30

Inspection Systematic error detection Advantages Very effective and efficient Structured process Systematic support through reading techniques Disadvantages Costly Learning effort 31

Inspection Process (1/2) 1. Planning Determining the goal of the inspection, the work results that are to be inspected, and which roles and participants are included Six roles 1. Author explains the requirements, implements corrections 2. Validators (inspectors) search for errors, communicate findings 3. Organizer plans and supervises 4. Moderator leads the session, follows the inspection process 5. Reader guides the inspectors through the requirements 6. Minute-taker reports on the results of the inspection 32

Inspection Process (2/2) 2. Overview The author explains the requirements to the validators 3. Error detection Validators (inspectors) search through the requirements for errors and document their findings Recommendation: alternate between collaborative and individual work 4. Error collection and consolidation (technical review) Discussing the findings, detecting false positives An error list contains the consolidated errors and correcting measures 5. Correction The author corrects the detected errors 33

Walkthrough Gaining a shared understanding and identifying quality flaws Process 1. The author hands out requirements to validators 2. Validators discuss the requirements to be validated one by one Advantages Stakeholders gain a better understanding Active discussions among stakeholders Disadvantages No formal process Risk of the author presenting the requirements too positively 34

Checklists Supporting technique, to be applied in conjunction with review techniques Ideal for complex environments in which no aspect may be omitted Precise questions ease the detection of errors, according to the: three quality aspects (content, documentation, agreement) six principles of validation quality criteria for requirements documents quality criteria for (single) requirements experiences from prior projects error statistics from prior projects The checklist should not be longer than one page The checklist can range from generic to perspective-specific 35

Perspective-Based Reading Supporting technique, to be applied in conjunction with review techniques (especially inspections) Reviewing the document based on perspective-specific checklists from just one perspective, e.g.: user perspective architect perspective tester perspective 36

Benefit of Perspective-Based Reading Document with Errors Non-Perspective-Based Reading Perspective-Based Reading High Overlap, Low Coverage Low Overlap, High Coverage 37

Prototypes Supporting technique for requirements validation Enables stakeholders to experience what they will get Are considered the most effective means for validation Prototypes are useful if: stakeholders do not have any experience regarding the system to be built or do not know in detail what they really need I know it when I see it (IKIWISI) phenomenon a risk for misunderstandings exists, because: stakeholders are not able to describe their requirements properly requirements engineers do not understand the stakeholders correctly a similar product did not exist so far (feasibility unclear) the system is interactive 38

Disadvantages of Prototypes Abstract representation of the system under development can cause misunderstandings Wrong expectations (e.g.: system can be developed just as quickly, feasibility of an innovative new system not proven) If stakeholders cannot abstract or have too little expertise: discussion can easily get lost in the details sketches without visual design may not be understood Limited functionality Design solutions may be taken for granted 39

Choice of Prototype Prototypes can be distinguished by characteristics such as: Offline Online Mock-up Proof of concept Crude Styled Horizontal Vertical Examples: Paper prototype: crude offline mock-up, horizontal Degree of detail (Low- vs. High-fidelity) Interactive concept: crude online mock-up, horizontal/vertical Wizard of Oz prototype: styled online mockup, h/v Evolutionary prototype: styled online proof of concept, vertical Which prototype (or prototypes) to use depends on factors such as budget, time, complexity of the system, ability of persons to abstract, the preference of the designer, and what the customer requests 40

Low-Fidelity Prototypes Usually first sketches on paper Intentionally not similar to the final product Advantages Easy to create Supports communication Change requests can be implemented directly Disadvantages No prototyping of functionality Throw-away prototype No assurance that every concept is technically feasible 41

Example: Lo-Fi Prototype with Changes 42

High-Fidelity Prototype Usually realistic screens developed using software High similarity to the final system Advantages Functionality can be validated as well Users can get a feel what the final system is like Disadvantages Costly development Change requests cannot be incorporated directly Stakeholders may get the impression that the system is already there 43

Example: Hi-Fi Prototype 44

Validation Process with Prototypes 1. Selection of requirements that should be validated through the prototype 2. Selection of a suitable class of prototypes 3. Development of the prototype 4. Preparation of a manual or set of instructions for the users, a prototyping scenario, and a checklist of validation criteria 5. Performing the validation with stakeholders 6. Documentation of the validation results (i.e., own observations and statements of the stakeholders) 7. Analysis of the results and decision about adaptation 8. (Repetition) 45

REQUIREMENTS VALIDATION AND NEGOTIATION Requirements Negotiation 46

Performing Requirements Negotiation Negotiation requires systematic conflict management, which includes: conflict identification conflict analysis conflict resolution documentation of the resolution 47

Conflict Identification Conflicts between requirements are often not obvious at first glance Conflicts need to identified systematically by: directly analyzing elicited requirements analyzing the requirements while documenting them reviewing the requirements explicitly during validation 48

Magic Fingers / Ian Knot Circle Bunny Ears 49 [Source: Wikivisual / Creative Commons]

Conflict Analysis (1/3) To resolve contradicting requirements, the underlying reason for the conflict must be understood Main conflict types 1. Subject conflict 2. Conflict of interest 3. Conflict of value 4. Relationship conflict 5. Structural conflict Note: In practice, most contradictions have multiple underlying reasons (hybrid conflicts). The above classification helps to analyze these reasons. 50

Conflict Analysis (2/3) Subject conflict Stakeholders have different interpretation of the consequences E.g., Is a response time of 1 second fast enough? Conflict of interest Stakeholders have different interests or goals Personal interests are subjective, goals/needs are objective E.g., Should the requirements on integrating the system with the central human resources system be rejected due to its implementation costs? Conflict of value Stakeholders have different cultural and personal preferences E.g., Should the BTB system be developed using open source or commercial components? 51

Conflict Analysis (3/3) Relationship conflict Negative interpersonal behavior between stakeholders of the same organizational rank ( power & politics ) E.g., Should the requirement of the Payroll Director be replaced by the requirement the Human Resources Director? Structural conflict Similar to relationship conflict, but between stakeholders on different levels of the hierarchy E.g., Does the Human Resources Director agrees with the requirements of Tina Travelmanager? 52

Conflict Resolution and Documentation Conflict resolution is a success factor for a project It can motivate or demotivate stakeholders to cooperate further It is essential to involve all relevant stakeholders in conflict resolution Otherwise: some opinions and viewpoints will be neglected Conflicts and their resolution must be documented, otherwise: the same conflicts may arise again and need to be handled anew the rationale for the requirement is lost and one group of stakeholders will complain when the system is in place 53

Conflict Resolution Techniques Agreement one party convinces the other party and both parties agree on a solution Compromise The parties find a compromise between the contradicting, alternative requirements or create a new requirement to which all parties agree Voting all stakeholder vote for one of the contradicting requirement, and the requirement with most votes is selected Variants the conflicting requirements are not resolved, but the system is developed in different variants (or configurations) Overruling a party with a higher organizational rank selects one of the conflicting requirements (only if all other techniques have failed) and some more, e.g., decision matrix, plus-minus-interesting, and consider-all-facts 54

Summary Validation assures the quality of elicited and documented requirements Quality aspects: content, documentation, agreement Validation techniques Main techniques: commenting, inspections, walkthroughs Supporting: perspective-based reading, prototypes, checklists Negotiation of requirement conflicts Identification, analysis, resolution, documentation 55

Recommended Validation Practices Validation Check standards compliance Evaluate using prototypes Negotiate requirements Check requirements syntactically Check requirements semantically Basis Enhancement Optimization Context 56

Questions 57