Elements of Requirements Style

Similar documents
Elements of Requirements Style

Requirements Reuse: Fantasy or Feasible?

Natural Language Specification

CIS 890: Safety Critical Systems

Requirement Analysis

Rules of Writing Software Requirement Specifications

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

Delimited. Interfaced. Readable. Modifiable. Verifiable. Prioritized* Endorsed

Quality Software Requirements By J. Chris Gibson

Software Engineering - I

Lecture 5: Requirements Specifications

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax

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

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

Style Manual and Document Quality

Restricted Use Case Modeling Approach

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Ch 4: Requirements Engineering. What are requirements?

Technical Writing. Professional Communications

Avoiding Run-on Sentences, Comma Splices, and Fragments, ; Getting Your Punctuation Right!

Software design descriptions standard

TE Teacher s Edition PE Pupil Edition Page 1

Mega International Commercial bank (Canada)

Quality Software Requirements By J. Chris Gibson

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

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

Assessment of Informational Materials (AIM) Tool. Funded by Alberta Enterprise and Education

CSc Senior Project Writing Software Documentation Some Guidelines

Requirements Gathering

DOWNLOAD PDF CAN I ADD A PAGE TO MY WORD UMENT

Rapid Software Testing Guide to Making Good Bug Reports

Alphabetical Index referenced by section numbers for PUNCTUATION FOR FICTION WRITERS by Rick Taubold, PhD and Scott Gamboe

Software Specification 2IX20

Business Writing In English

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Requirements engineering

Requirements Analysis. SE 555 Software Requirements & Specification

Defense Logistics Agency INSTRUCTION

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

Lecture 8 Requirements Engineering

WRITING FOR THE WEB. UIUC Web Governance

Proofwriting Checklist

Business Rules Extracted from Code

PowerPoint. presentation

FedRAMP General Document Acceptance Criteria. Version 1.0

Sofware Requirements Engineeing

System Name Software Architecture Description

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

Process Improvement Proposals in System Requirements Management - an Industrial Case Study

Stat 582 Writing Rubric (First six items from Kansas State Dept of Education rubric)

CSc Senior Project Writing Software Documentation Some Guidelines

Enterprise Architect. User Guide Series. Requirement Models

Software Architecture

Programming Logic and Design Sixth Edition

Software Specification and Architecture 2IW80

An Integrated Approach to Documenting Requirements with the Rational Tool Suite

View and Submit an Assignment in Criterion

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

GRADES LANGUAGE! Live, Grades Correlated to the Oklahoma College- and Career-Ready English Language Arts Standards

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

Purpose and Structure of Requirements Specifications (following IEEE 830 Standard)

Requirements Specification with the IEEE 830 Standard

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

Vademecum for the ESS Round 6 (T)VFF (Translation and) Verification Follow-up Form for countries submitting a (T)VFF for verification

These are notes for the third lecture; if statements and loops.

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

Friends, Romans, countrymen use your EARS & Improve your requirements

Student Guide for Usage of Criterion

Correlation to Georgia Quality Core Curriculum

Modeling Issues Modeling Enterprises. Modeling

Adapted from: The Human Factor: Designing Computer Systems for People, Rubinstein & Hersh (1984) Designers make myths. Users make conceptual models.

Enterprise Architect. User Guide Series. Requirement Models. Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH

Midterm I - Solution CS164, Spring 2014

7 Tips for Raising The Quality Bar With Visual Studio 2012

Chapter 9: Documenting the Requirements

How to Collect and Manage Requirements for Successful GIS Projects. Matt Harman Craig Venker

The next several pages summarize some of the best techniques to achieve these three goals.

ADDRESS DATA CLEANSING A BETTER APPROACH

CS3205: Task Analysis and Techniques

Sample Exam. Certified Tester Foundation Level

These are meant to be used as desktop reminders or cheat sheets for using Read&Write Gold. To use. your Print Dialog box as shown

TIPSTER Text Phase II Architecture Requirements

May Read&Write 5 Gold for Mac Beginners Guide

Salesforce ID of the Feature record is stored in the Product Option record to maintain the relationship.

Lecture 7 (3-April-2013)

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

Crash course on Reporting Bugs

Mathematics and Computing: Level 2 M253 Team working in distributed environments

Wikipedia 101: Bryn Mawr Edit-a-thon. Mary Mark Ockerbloom, Wikipedian in Residence, Chemical Heritage Foundation

BMIT Capstone Course Business Plan Rubric. Name of Social Enterprise: Type of Business: Owners Name: Evaluator(s):

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

Prototyping. Lecture # 21

Human Error Taxonomy

Lecture 4: Goals and Scenarios. System context. Usage facet. IT system facet. Core activities. Negotiation. Requirements artefacts

"Writing Higher Quality Software Requirements"

Natural Language Requirements

GCSE Computer Science

Software Requirements Specification (SRS) Software Requirements Specification for <Name of Project>

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn

How to Write Word Documents for Easy Import into DOORS

Transcription:

Elements of Requirements Style Sponsored by: Karl Wiegers Principal Consultant, Process Impact www.processimpact.com

Sponsor: Seilevel Published in 2012: Visual Models for Software Requirements Karl and Joy are working on a third edition of Karl s landmark book Software Requirements www.seilevel.com 2

Source Books More About Software Requirements, by Karl E. Wiegers (Microsoft Press, 2006) Software Requirements, 2 nd Edition by Karl E. Wiegers (Microsoft Press, 2003) 3

Featured Speaker Karl Wiegers Principal Consultant, Process Impact www.processimpact.com Phone #: E-mail: Blog: 503-698-9620 karl@processimpact.com Consulting Tips & Tricks Blog: www.karlconsulting.blogspot.com 4

Elements of Requirements Style Objectives At the end of this presentation you will be able to: Describe several characteristics of good requirements. Describe several styles for writing functional requirements. Know some weak words to avoid in requirements. Avoid several types of ambiguity when writing requirements. Detect design constraints embedded in requirements. 5

The Prime Goal of Requirements Writing Know Your Audience! Architects, designers, and programmers Testers and maintainers Users, customers, and other stakeholders Project and program managers 6

Objectives for Functionality Specification Unambiguously describe what developers must implement Let testers know what system behaviors to expect Ensure that specified functionality will enable users to perform their necessary tasks Respect assumptions, constraints, and business rules Be able to trace functionality into design, code, and test elements 7

Characteristics of Quality Requirement Specifications Complete Consistent Correct Feasible Modifiable Necessary Prioritized Traceable Unambiguous Verifiable nothing is missing; no To Be Determined s does not conflict with other requirements accurately states a customer or external need can be implemented within known constraints can be easily changed, with history, when necessary documents something customers really need ranked as to importance of inclusion in product can be linked to system requirements, and to designs, code, and tests has only one possible meaning correct implementation can be determined by testing, inspection, analysis, or demonstration 8

Tips for Writing Clear Requirements - 1 Evaluate from the developer s perspective. Document in hierarchical, structured form. Keep sentences and paragraphs short and simple. avoid long narrative paragraphs use proper grammar, spelling, and punctuation use vocabulary of the business domain Document both expected behaviors and exception conditions. 9

Tips for Writing Clear Requirements - 2 Avoid unnecessary design constraints. Write requirements at fine granularity. decompose requirements until each is discretely testable and and or suggest multiple requirements combined Be precise and specific, not vague and ambiguous. use shall or must, not should, might, may avoid ambiguous and subjective words 10

Some Weak Words to Avoid Minimize, maximize, optimize User-friendly, rapid, easy, simple, intuitive, efficient, flexible, robust Seamless, transparent, graceful Improved, state-of-the-art, superior Sufficient, adequate, at least Reasonable, where appropriate, to the extent possible, if necessary Few, several, some, many Etc., including, including but not limited to, and/or Optionally Support 11

Structure for Functional Requirements - 1 From system s perspective: Conditions: When [some conditions are true] Result: the system shall [do something] Qualifier: [response time or quality statement]. Example: When the Patron indicates that he does not wish to order any more food items, the system shall display the food items ordered, the individual food item prices, and the payment amount within 1 second. 12

Structure for Functional Requirements - 2 From user s perspective: User type: Result type: Object: Qualifier: Example: The [user class name] shall be able to [verb] [to something] [response time or quality statement]. The Patron shall be able to reorder any meal he had ordered within the previous six months, provided that all food items in that order are available on the menu for the meal date. 13

Writing in Active Voice Use the active voice in requirements. shows which entity takes each action communicates more directly than passive voice Example: Passive: When the output state changes, it is logged in the event log. Active: When the output state changes, the system shall record the new state in the event log. 14

Common Types of Requirements Ambiguity Ambiguity of reference Scope of action Omissions causes without effects effects without causes complete omissions implicit cases Ambiguous Logic nested ands, ors, nots missing else implicit logical connectors compound operators Negation unnecessary negation double or triple negation Ambiguous Statements synonyms ambiguous precedent ambiguous timing Poor Organization mixed causes and effects random sequence fragmented requirements Boundary Ambiguity 15 Sponsored By

Examples of Avoiding Ambiguity - 1 Negation Before: All users with three or more accounts should not be migrated. After: The system shall migrate only users having fewer than three accounts. Omissions Before: The system shall display the user s defined bookmarks in a collapsible hierarchical tree structure. After: The system shall display the user s defined bookmarks in a collapsible and expandable hierarchical tree structure. 16

Examples of Avoiding Ambiguity - 2 Boundary Values Before: 1. If the amount of the cash refund is less than $50, the system shall open the cash register drawer. 2. If the amount of the cash refund is more than $50 and the user is not a supervisor, the system shall display a message: Call a supervisor for this transaction. After: 1. If the amount of the cash refund is less than or equal to $50, the system shall open the cash register drawer. 2. If the amount of the cash refund is more than $50 and the user is not a supervisor, the system shall display a message: Call a supervisor for this transaction. 17

Examples of Avoiding Ambiguity - 3 Synonyms and Near Synonyms use terms consistently define terms in a glossary Similar Sounding Words Special Day caller tunes (default) will take priority over all configured individual caller settings that a customer has selected. However, if an individual has been assigned a Special Day caller tune for the same date, this will overwrite the Special Day caller tune. Pronouns make the antecedents crystal clear 18

Examples of Avoiding Ambiguity - 4 Adverbs Provide a reasonably predictable end-user experience. Offer significantly better download times. Optimize upload and download to perform quickly. Exposing information appropriately Generally incurs a per unit cost as expediently as possible Occasionally (not very frequently) there will be an error condition others: easily, ideally, instantaneously, normally, optionally, periodically, rapidly, typically, usually 19

Poll Are you absolutely certain that you know the difference between the abbreviations i.e. and e.g.? 20

Examples of Avoiding Ambiguity - 5 i.e. and e.g. i.e. = that is ; e.g. = for example better to use English Avoid the A/B construct Prior to operator intervention, a snapshot of this data should be recorded in an audit/history table. A is the same as B? A and B? A or B? A is the opposite of B? A divided by B? Or let the reader decide what it means? 21

Watch Out for Solution Ideas Solution ideas impose design constraints. could be legitimate and necessary or not Ask why? to tell if the constraint is needed. Listen for technology or user interface specifics. The user selects the state from a drop-down list. The Defect Calculator should be written in Excel. The Background Task Manager shall display error messages in the status bar. Use a rationale attribute to store explanation. 22

Why Is the Solution Idea Included? Is this just an option the speaker thought of? Is this the only possible solution? Is the speaker more interested in exploring solutions than in understanding the problem? Is this a poor solution because the problem isn t properly defined or the solution addresses the wrong problem? Does this seem like a good solution for the wrong reason (erroneous assumption, obsolete historical reason)? Is the solution worth passing along to developers as a suggestion but not as a mandate? 23

Common Specification Mistakes Making incorrect or obsolete assumptions Writing implementation instead of requirements Describing business operations instead of writing requirements Writing unverifiable requirements Missing requirements Overspecifying requirements Using incorrect terms or sentence structure 24

Elements of Requirements Style NO SURPRISES! 25

Sponsor: Seilevel Visit us online for resources: www.seilevel.com/ba-resources Learn more about our IIBA endorsed courses: Requirements 101: Best Practices Requirements Visualization Elicitation and Facilitation Training Or review our scheduled dates and locations: www.seilevel.com/training Requirements models templates (22 of them!) BA checklists (questions to ask) Cheat sheets (models summary, business objectives model) Requirements estimation worksheet Project assessment template Requirements tool evaluation Practical tips www.seilevel.com/blog Help from Joy (joy.beatty@seilevel.com) 26

Q & A Speaker Karl Wiegers Process Impact karl@processimpact.com www.processimpact.com Sponsor Joy Beatty Seilevel joy.beatty@seilevel.com www.seilevel.com 27