Piecing Together the Requirements Jigsaw-Puzzle Ian Alexander www.scenarioplus.org.uk REFSQ Essen, July 2010.

Slides:



Advertisements
Similar presentations
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
Advertisements

Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.
INFORMATION TECHNOLOGY
Requirements Specification and Management
Team Skill 5: Refining the Use Cases Lecture 11. Advantages of Use Cases They are easy to write Written in users language Provide cohesive, related threads.
0 Tactics and Technologies for Stakeholder Engagement With Keith Ellis CEO, Enfocus Solutions.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
CS 411W - Notes Product Development Documentation.
(c) Andy Berry ( SOA – Benefits and Risks Presentation to ESUG 2005 Conference Andy Berry –
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Use Case Analysis Chapter 6.
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.
User studies. Why user studies? How do we know security and privacy solutions are really usable? Have to observe users! –you may be surprised by what.
Principles and Methods
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
Systems Analysis I Data Flow Diagrams
This work is licensed under a Creative Commons Attribution 3.0 Unported LicenseCreative Commons Attribution 3.0 Unported License (CC-BY). Project Management.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
USE Case Model.
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
The Software Development Life Cycle: An Overview
Project Analysis Course ( ) Week 2 Activities.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Storytelling Your Way to a Better User Experience Whitney Quesenbery Kevin Brooks UPA Boston June 2010.
ITEC224 Database Programming
Business Analysis and Essential Competencies
Does RE Apply to Open Source Development? A requirements person's view Ian Alexander
Discussion Panelists: Justin C. Klein Keane Sr. Information Security Specialist University of Pennsylvania Jonathan Hanny Application Security Specialist.
Feasibility Study.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
Educational Offer VSL EXAMPLE with Outline (webinar) In this document, I’m including slides from a successful VSL along with the insertion of section markers.
Project X Group Y Presenters: (indicate roles). Part I: Project Overview System provides functionality X Motivation for project –Address problem with…
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Object-Oriented Analysis and Design with the Unified Process by Şensev Alicik.
Systems Development Life Cycle
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Essentials of OVID Using UML based notation to capture system requirements and design.
Project 1 (CGNB 413) Briefing
Smart Home Technologies
Evaluating Requirements
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Discover Document Validate Develop Stakeholders. businesses (processes) departments (activities) individuals (tasks) Soft Systems work (social) Requirements.
Requirements in the product life cycle Chapter 7.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Project Management Enabling Quality Marien de Wilde, PMP April 2007.
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
Software Engineering Developing Requirements. © Lethbridge/Laganière 2001 Chapter 4: Developing requirements2 4.1 Domain Analysis The process by which.
Pepper modifying Sommerville's Book slides
Use Case Analysis Chapter 6.
Session 1: Construction Opportunities; Problem Solving
Scope Planning.
CMPE 280 Web UI Design and Development August 29 Class Meeting
CS 641 – Requirements Engineering
CS 641 – Requirements Engineering
EKT 421 SOFTWARE ENGINEERING
Systems Analysis and Design in a Changing World, 6th Edition
Incepting Enterprise Applications
PPT4: Requirement analysis
Use Case Modeling Part of the unified modeling language (U M L)
LECTURE 3: Requirements Engineering
Presentation transcript:

Piecing Together the Requirements Jigsaw-Puzzle Ian Alexander REFSQ Essen, July 2010

3 About Keynote Talks Novelty (for Researchers) –impossible Specific Advice (for Practitioners) –unwise Interest (for Everyone) –required © Ian Alexander 2010

4 Propositions 1. Requirements are not put together well. 2. Researchers, Authors, Trainers behave (and write) as if all projects are alike. 3. Projects are NOT all alike. 4. But certain patterns constantly recur. 5. Quite enough solutions have been suggested already. pieces of the puzzle © Ian Alexander 2010

5 Questions 1.What are these basic pieces? 2.How do the pieces fit together, typically? 3.How can different projects re-assemble the pieces of their puzzles? © Ian Alexander 2010

6 An Industry Observation © Ian Alexander 2010 You mean there are PIECES?!! Let's just get on and write REQUIREMENTS! What would we DO with them all?

7 A Research Observation © Ian Alexander 2010 There AREN'T ENOUGH pieces … Why don't we just create SOME MORE formal meta-systolic quasi-temporal logics?

8 A Fashion Observation Requirements are so p a s s é ( … so 1990s) Now we're all agile New Agile Requirements Old Maladroit Requirements © Ian Alexander 2010

9 Challenges I've got to… * Software Requirements Specification Mmhmm. Let's see if we can help a little……….. © Ian Alexander 2010 model my Requirements in UML create Use Cases do Agile instead of requirements use my company's Standard SRS* Template upgrade a highly-constrained existing system research aspect-oriented cultural hermeneutics as commonly used in practical industrial applications Brown-field RE

10 The Requirements Jigsaw-Puzzle 1.What are the basic pieces? 2.How do the pieces fit together, typically? 3.How can different projects re-assemble the pieces of their puzzles? © Ian Alexander 2010 We'll take a look at the Challenges here 1.What are the basic pieces? 2.How do the pieces fit together, typically? 3.How can different projects re-assemble the pieces of their puzzles?

11 © Ian Alexander Pieces of the Puzzle 1. Vision Given Elements to be Discovered Not talking much about Discovery Contexts today

12 1. Vision What is this project for?

13 © Ian Alexander 2010 Business Vision “To become market leader in small-household burglar alarms” “To make steadily growing annual income from alarm sales, maintenance, and monitoring”

2. Stakeholders Who has a valid interest in this product?

15 © Ian Alexander 2010 Space Telescope Stakeholders (From Writing Better Requirements, by Ian Alexander & Richard Stevens, Addison-Wesley 2002)

16 © Ian Alexander 2010 Typical Stakeholder Roles

3. Goals What do different stakeholders want? What conflicts exist?

18 © Ian Alexander 2010 Goals Annual Income Competitive Price Few Breakdowns Monitoring Service Householders Subscribe Maintenance Service Good Reputation Goal Key supports Something a Stakeholder wants, even if not fully possible

19 © Ian Alexander 2010 Threats, Obstacles Annual Income Competitive Price Few Breakdowns Monitoring Service Householders Subscribe Maintenance Service Undercut by cheap DIY products Goal Key Something that threatens desired Goals (Threat if active, Obstacle if passive) supports weakens (conflicts with, etc) Threat/ Obstacle Something a Stakeholder wants, even if not fully possible Threat endangers Goal Goal mitigates Threat Conflict => Trade-off Good Reputation Notations include GSN, KAOS, i* / GRL / Tropos / …

4. Context Where is the boundary of this system?

21 © Ian Alexander 2010 Rich Picture Protected Household main door Householders Intruder Guard Installation/ Maintenance Technician Control Centre messages rrrr $ Neighbours

22 © Ian Alexander 2010 Context, Events, Scope maintenance appointment guard callout burglary report disconfirmation notified intrusion repair 1 Householder Maintenance Technician Police Guard Work of Control Centre Event Household Alarm Event Scope Notified Intrusion In scope Guard Callout In scope Maintenance Appointment Repair Disconfirmation Burglary Report Subscription Change Details subscription Bank/ Payment Agency subscription payment change details

5. Scenarios How will people use this product?

24 © Ian Alexander 2010 Scenarios RoleAction HouseholderArms the alarm AlarmIndicates 'arming' (e.g. buzzer, lamp), starts countdown timer for arming_period HouseholderLeaves house by main_door, closes main_door (and probably locks it) AlarmStops countdown timer, stops indicting 'arming', begins watching BurglarBreaks into protected house Alarm … Notations include Role/Action, Swimlanes, Use Cases, Storyboards, …

6. Qualities & Constraints How do people want this product to be? What limits exist?

26 Qualities and Constraints set the alarm Local: One Function complying with EU Low Voltage Directive (LVD) for 'CE' marking Constraint Quality quickly Quality reliably Global: Whole Product © Ian Alexander 2010

27 © Ian Alexander 2010 Qualities and Constraints

7. Rationale Why is this requirement here?

29 © Ian Alexander 2010 Rationale e.g. as Assumptions Goal: Alarm sounds locally –Examples: bell, siren –Assumption (Warrant): Customers expect audible alarm Audible alarm acts as deterrent –Assumption (Rebuttal): Silent alarm gives more chance to arrest intruders

30 Requirement Justification Text (field) Definition in Project Dictionary traces from other elements traces to parent requirements Requirement Rationale Model (the most contentious requirements only) Goal traces to goals Assumptions (list) documents or data structures Test Results Argumentation e.g. GSN, CAE for Safety Case Risk Model Ways to Document Rationale Satisfaction Argument © Ian Alexander 2010 Notations include Toulmin, GSN, CAE, IBIS, DRed, QOC, DRCS, DRL, … What do practitioners think when they find there are (at least) 8 ways to achieve a task and (at least) 8 graphical notations to choose from?

8. Definitions What does this term mean?

32 © Ian Alexander 2010 Definitions TermDefinition Suspected Intrusion Message from Household Alarm to Control Centre, indicating a possible Intrusion for Confirmation ……

9. Measurements How to know we have what we asked for?

34 © Ian Alexander 2010 Measurements Goal: Alarm sounds locally (e.g. bell, siren) –Acceptance Criteria: audible at 100 metres stops after alarm_sound_period minutes Approaches include: Acceptance / Test / Fit Criteria Postconditions Success/Minimal Guarantees MoP MoE QoS … … not to mention "traditional Shall-Statement requirements" …

10. Priorities Input: What do people want? Output: What should be done (first)?

36 © Ian Alexander 2010 Priorities Goal: Alarm sounds locally (e.g. bell, siren) –Priority: Very Desirable Rationale: Alarm can work without it, but customers want it Goal: Alarm notifies Control Centre –Priority: Essential Rationale: Our monitoring business depends on it (see Business Case)

The Requirements Jigsaw-Puzzle 1.What are the basic pieces? 2.How do the pieces fit together, typically? 3.How can different projects re-assemble the pieces of their puzzles?

38 How do the pieces fit together? 1.Embryology: as sequences in development life-cycle 2.Traceability: by a rich web of connections 3.Validation: making use of connections to cross-check 4.Teamwork: having all specialists pulling together 5.Trade-offs: choosing "least-worst" option(s) 6.Dialogue: translating back to stakeholder language © Ian Alexander 2010 … no doubt you can think of more …

39 1. Embryology Undefined Fully Defined Requirements Completeness Project Stage EarlyLate Stakeholder -directed search Goal -directed search Context -directed search Event -directed search Scenario -directed search Prototyping -directed search Archaeology -directed search Exception -directed search Threat -directed search Negative Stakeholder-directed search NFR -directed search Definition -directed search © Ian Alexander 2010

40 2. Traceability Functional Goal Use Case Quality Goal N Measurable Quality 1 N Functional Requirement 1 N A rich web of interconnections everywhere … etc … © Ian Alexander 2010 This looks like software design modelling… Maybe, but we're modelling what is REQUIRED – many design decisions can wait till later

41 3. Validation Named StateStatechart contains Dictionary defines Named Value Action contains Functional Requirement implements Makes use of rich web of interconnections … etc … refers to This action isn't implemented anywhere… This state isn't defined yet This value isn't in use © Ian Alexander 2010

42 4. Teamwork Sales Planning Documentation Software Systems Security Usability Testing I met a guy from Testing the other week Bet he didn't know anything about what's going on © Ian Alexander 2010

43 5. Trade-offs Here are "The Definitive... … Requirements" That will be too slow That one is very risky This would be much cheaper With this solution we can get 85% That way isn't as safe Not much on this in RE books Too dirty ? Not "proper RE" ? Goals* Requirements © Ian Alexander 2010 * or "draft requirements" if you prefer

6a. A traditional dialogue Discover Document Validate Develop Stakeholders Act Think © Ian Alexander 2010

6b. A more 'agile' dialogue Listen Prototype Demonstrate Stakeholders © Ian Alexander 2010 Develop

46 The Requirements Jigsaw-Puzzle 1.What are the basic pieces? 2.How do the pieces fit together, typically? 3.How can different projects re- assemble the pieces of their puzzles?

47 Example: Meta-Model for a Retail Project

48 Example: Matrix for a Retail Project

49 Example: Matrix for a Transport Planning Project © Ian Alexander 2010

50 Example Situations: "I've got to…" model my requirements in UML create Use Cases do Agile instead of requirements use my company's standard SRS template upgrade a highly-constrained existing system research … Challenges, as promised at start of this talk Projects work under many different constraints

51 I've got to model my requirements in UML Goals: –add informal diagrams (abuse the Use Case notation…) –or just make a list Rationale: –annotate with notes for assumptions, etc –add informal diagrams

52 I've got to create Use Cases Annotate your Use Cases - add subsections for Stakeholders Rationale Qualities & Constraints Priority Add Misuse Cases - to identify & justify Safety, Security, Reliability Requirements Trade-offs

53 I've got to do Agile instead of Requirements make use of User Stories to define both Functions (scenarios) and product Qualities write Usability tests, Performance tests, Security tests list Issues, Risks when all else fails, draw an Architecture This is letting me define my requirements quite well

54 I've got to use my company's standard SRS template well, fill it in then! –as briefly as possible then add sections for "Goals", "Scenarios", "Qualities" *,... –until you can say what you need to, clearly * why not borrow the NFR template from ?

55 I've got to upgrade a highly- constrained existing system 0.Throw away your "green-field" requirements textbooks Brown-field isn't like classical RE Who here is working on Brown-field RE? 1. Model your goals for the upgrade 2. Define context of existing and new systems 3. Identify interfaces that cannot be changed 4. Explore options where scope can be changed 5. Identify stakeholders, esp. where scope has changed 6. Discover stakeholder goals, conflicts, input priorities 7. Trade-off alternative solutions against goals 8. Set project's output priorities

56 I've got to research … remember only specially tame industrialists are allowed into research conferences go and visit an industrial project –see what they are doing –find out what they need –prototype a simple front end that everyone can use Whatever you do, please keep it simple

57 Managers, Analysts know to do Stakeholders, Goals, NFRs … Industry-wide notations for Goals, Rationale Challenges for the Future Harmonisation Education Dissemination Incorporated into UML? Standardisatio n Researchers, Teachers, Authors understand diversity of projects in industry … Case Studies Action Research

Thank you for Listening