SlideShare a Scribd company logo
1 of 56
Version 1.0
EARS: The Easy Approach to
Requirements Syntax
John Terzakis
Intel Corporation
john.terzakis@intel.com
November 12, 2014
Better Software Conference
Orlando, FL
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Legal Disclaimers
2
Intel Trademark Notice:
Intel and the Intel Logo are trademarks of Intel Corporation in the U.S. and other
countries.
Non-Intel Trademark Notice:
*Other names and brands may be claimed as the property of others
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Agenda
3
• Requirements overview
• Issues with requirements
• Overcoming issues with requirements
• Identifying ubiquitous requirements
• EARS and EARS examples
• Using EARS to rewrite requirement examples
• EARS at Intel
• Wrap up
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Requirements Overview
4
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
What is a Requirement?
5
A requirement is a statement of one of the following:
1. What a system must do
2. A known limitation or constraint on resources or
design
3. How well the system must do what it does
The first definition is for Functional Requirements
The second and third definitions are for Non-Functional
Requirements (NFRs)
This session will focus on improving requirements defined by 1 & 2
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Examples of Functional and Non-Functional
Requirements
6
Video over IP
Conference Calling
Functional Requirements
•Add Participant
•Count Participants
•Drop Participant
•Lock Call to New Participants
•Summon Operator
•Mute voice
Non-Functional Requirements
•Voice and Video Quality
•Reliability
•Availability
•Ease of Use
•Cost
•Localization
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Issues with Requirements
7
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Issues with Requirements
8
• Authors often lack formal training on writing requirements
• Authors write requirements using unconstrained natural
language:
• Introduces ambiguity, vagueness and subjectivity
• Not always clear, concise and coherent
• Often not testable
• Some times missing triggers
• Logic is not always complete (“if” but no “else”)
• Authors “copy and paste” poor requirements, which
multiplies the number of requirements with defects
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Examples of Issues with Requirements
9
1. The software shall support a water level sensor.
• What does the word “support” mean?
2. The thesaurus software shall display about five alternatives for the
requested word.
• How many is “about five”? Three? Four? Six? Ten? More?
• Under what conditions are they displayed ?
3. The software shall blink the LED on the adapter using a 50% on, 50%
off duty cycle.
• Does the software blink the LED at all times? Or is there a trigger that
initiates the blinking?
4. If a boot disk is detected in the system, the software shall boot from it.
• What if a boot disk is not present? The logic is incomplete.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Overcoming Issues with Requirements
10
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Tools to Overcome Requirements Issues
11
• Training
• Check requirements against “goodness” criteria
• Use a consistent syntax
• Use a constrained natural language (e.g., Planguage)
See backup for more information
•Express requirements using EARS
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Express Requirements Using EARS
12
EARS: Easy Approach to Requirements Syntax
• Is an effective method of expressing requirements
• Was created by Alistair Mavin and others from Rolls-
Royce PLC and presented at the 2009 Requirements
Engineering (RE 09) conference
• Differentiates between five types (or patterns) of
requirements:
• Ubiquitous (always occurring)
• Event-driven
• Unwanted behaviors
• State-driven
• Optional features
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
EARS Background
13
• Case study involved Rolls-Royce group working on aircraft
engine control systems
• Software was safety critical, contained thousands of components and
involved up to twenty different suppliers
• Rolls-Royce identified 8 major problems with existing natural language
requirements:
• Ambiguity
• Vagueness
• Complexity
• Omission
• Rewriting requirements using EARS “…demonstrated a significant
reduction in all eight problem types…” *
(* From: EARS (Easy Approach to Requirements Syntax), Alistair Mavin et al, 17th IEEE
International Requirements Engineering Conference (RE 09), page 321)
• Duplication
• Wordiness
• Inappropriate implementation
• Untestability
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Identifying Ubiquitous Requirements
14
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Ubiquitous Requirements
15
Ubiquitous Requirements:
• State a fundamental system property
• Do not require a stimulus in order to execute
• Are universal (exist at all times)
Requirements that are not ubiquitous do not occur at all
times. They
• Require an event or trigger in order to execute, or
• Denote a state of the system, or
• Denote an optional feature
Most requirements are not ubiquitous
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
About Ubiquitous Requirements
Question ubiquitous requirements: Things that may seem
universal are often subject to unstated triggers or
preconditions
Most legitimate ubiquitous requirements state a fundamental
property of the software:
• The software shall be distributed on CD-ROM and DVD media.
• The software shall prevent Unauthorized Access to patient data.
Software functions that appear ubiquitous are often not:
• The software shall wake the PC from standby
• The software shall log the date, time and username of failed logins.
16
The last 2 requirements are missing a trigger
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Ubiquitous Requirements or Not?
17
Which requirements are ubiquitous?
The installer SW shall
be available in Greek
The SW shall mute
the microphone
The SW shall download
the book without
charge
The SW shall warn the
user of low battery
The SW shall phone the
Alarm Company
The SW shall display
a count of the number of
participants.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Ubiquitous or Not?
18
1. The installer software shall be available in Greek.
• Yes. This is a fundamental property of the installer software
2. The software shall display a count of the number of participants.
• No. There is likely an event that causes the count to be displayed.
3. The software shall phone the Alarm Company.
• No. We don’t want the software phoning the Alarm Company unless
there is a fault or problem.
4. The software shall mute the microphone.
• No. The muting occurs during some state the system is in
5. The software shall download the book without charge.
• No. There is apt to be an optional condition under which books are
downloaded for free.
6. The software shall warn the user of low battery
• No. There is a state or an event needed for this warning to occur.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
EARS and EARS Examples
19
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
EARS Patterns
20
Pattern Name Pattern
Ubiquitous The <system name> shall <system response>
Event-Driven WHEN <trigger> <optional precondition> the <system
name> shall <system response>
Unwanted
Behavior
IF <unwanted condition or event>, THEN the <system
name> shall <system response>
State-Driven WHILE <system state>, the <system name> shall
<system response>
Optional
Feature
WHERE <feature is included>, the <system name>
shall <system response>
Complex (combinations of the above patterns)
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Ubiquitous Requirements
21
• Define a fundamental property of the system
• Have no preconditions or trigger
• Do not require a pattern keyword
• Have the format:
The <system name> shall <system response>
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Ubiquitous Examples
22
• The software package shall include an installer.
• The software shall be written in Java.
• The software shall be available for purchase on the
company web site and in retail stores.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Event-Driven Requirements
23
• Are initiated when and only when a trigger occurs or is
detected
• Use the “When” keyword
• Have the format:
WHEN <trigger> <optional precondition> the <system
name> shall <system response>
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Event-Driven Examples
24
• When an Unregistered Device is plugged into a USB port,
the OS shall attempt to locate and load the driver for the
device.
• When a DVD is inserted into the DVD player, the OS shall
spin up the optical drive.
• When the water level falls below the Low Water
Threshold, the software shall open the water valve
to fill the tank to the High Water Threshold.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Unwanted Behavior Requirements
25
• Handle unwanted behaviors including error conditions,
failures, faults, disturbances and other undesired events
• Use the “If” and “then” keywords
• Have the format:
IF <unwanted condition or event>, THEN the <system
name> shall <system response>
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Unwanted Behavior Examples
26
• If the measured and calculated speeds vary by more than
10%, then the software shall use the measured speed.
• If the memory checksum is invalid, then the software shall
display an error message.
• If the ATM card inserted is reported lost or stolen, then
software shall confiscate the card.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
State-Driven Requirements
27
• Are triggered while the system is in a specific state
• Use the “While” keyword (or optionally the keyword “During”)
• Have the format:
WHILE <system state>, the <system name> shall
<system response>
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
State-Driven Examples
28
• While in Low Power Mode, the software shall keep the
display brightness at the Minimum Level.
• While the heater is on, the software shall close the water
intake valve.
• While the autopilot is engaged, the software shall display
a visual indication to the pilot.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Optional Feature Requirements
29
• Are invoked only in systems that include the particular
optional feature
• Use the “Where” keyword
• Have the format:
WHERE <feature is included>, the <system name>
shall <system response>
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Optional Feature Examples
30
• Where a thesaurus is part of the software package, the
installer shall prompt the user before installing the thesaurus.
• Where hardware encryption is installed, the software shall
encrypt data using the hardware instead of using a software
algorithm.
• Where a HDMI port is present, the software shall allow the
user to select HD content for viewing.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Complex Requirements
31
• Describe complex conditional events involving multiple
triggers, states and/or optional features
• Use a combination of the keywords When, If/Then, While
and Where
• Have the format:
• <Multiple Conditions>, the <system name> shall
<system response>
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Complex Examples
32
• When the landing gear button is depressed once, if the
software detects that the landing gear does not lock into
position, then the software shall sound an alarm.
• Where a second optical drive is installed, when the user
selects to copy disks, the software shall display an option
to copy directly from one optical drive to the other optical
drive.
• While in start up mode, when the software detects an
external flash card, the software shall use the external
flash card to store photos.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Using EARS to Rewrite Requirement
Examples
33
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Example 1
34
Original:
The installer software shall be available in Greek.
Rewritten using EARS (no change):
The installer software shall be available in Greek.
What type of EARS Pattern? Ubiquitous
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Example 2
35
Original:
The software shall display a count of the number of
participants.
Rewritten using EARS:
When the user selects the caller count from the menu, the
software shall display a count of the number of participants
in the audio call in the UI.
What type of EARS Pattern? Event Driven
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Example 3
36
Original:
The software shall phone the Alarm Company.
Rewritten using EARS:
If the alarm software detects that a sensor has
malfunctioned, then the alarm software shall phone the
Alarm Company to report the malfunction.
What type of EARS Pattern? Unwanted behavior
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Example 4
37
Original:
The software shall mute the microphone.
Rewritten using EARS:
While the mute button is depressed, the software shall mute
the microphone.
What type of EARS Pattern? State-driven
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Example 5
38
Original:
The software shall download the book without charge.
Rewritten using EARS:
Where the book is available in digital format, the software
shall allow the user to download the book without charge for
a trial period of 3 days.
What type of EARS Pattern? Optional feature
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Example 6
39
Original:
The software shall warn the user of low battery.
Rewritten using EARS:
While on battery power, if the battery charge falls below 10%
remaining, then the system shall display a warning message
to switch to AC power.
What type of EARS Pattern? Complex
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
EARS at Intel
40
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
History of EARS at Intel
41
• EARS was introduced at Intel in 2010
• Although originally developed for the aircraft industry, it was
easily adapted to a wide variety of projects at Intel
• Integrated into existing Requirements Engineering training
materials
• Rapidly adopted by requirements authors due to its power
and simplicity
• Praised by developers & validation teams for providing
clarity and removing ambiguity from requirements.
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
EARS Requirements Examples from Intel
42
• The software shall include an online help file.
• Type: Ubiquitous
• When the software detects the J7 jumper is shorted, it shall
clear all stored user names and passwords.
• Type: Event-driven
• If the software detects an invalid DRAM memory
configuration, then it shall abort the test and report the error.
• Type: Unwanted behavior
Note: Requirements slightly modified from original form
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
EARS Requirements Examples from Intel
43
• While in Manufacturing Mode, the software shall boot
without user intervention.
• Type: State-driven
• Where both 3G and Wi-Fi radios are available, the software
shall prioritize Wi-Fi connections above 3G.
• Type: Optional feature
• While on DC power, if the software detects an error, then
the software shall cache the error message instead of
writing the error message to disk.
• Type: Complex
Note: Requirements slightly modified from original form
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Wrap up
44
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Session Summary
45
In this session we have:
• Provided a brief overview of requirements
• Discussed issues with requirements and listed tools to
overcome them
• Taught how to identify ubiquitous requirements vs. those
that are not
• Introduced the concept of EARS
• Reviewed examples using the EARS template
• Rewrote requirements using the EARS template
• Observed practical applications of EARS at Intel
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Final Thoughts
46
• EARS is a structured aid to writing better requirements
Focuses on the different patterns for requirements using keywords
(When, If-Then, While, Where and combinations)
• EARS helps to identify which requirements are truly
ubiquitous
Some requirements, written as if they were ubiquitous, are really not
• EARS is beneficial to both developers and testers in
understanding the intent of requirements
Removes ambiguity, improves clarity and properly identifies underlying
conditions or triggers
EARS is Powerful. Start Using it Today!
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Contact Information
47
Thank You!
For more information, please contact:
John Terzakis
john.terzakis@intel.com
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Backup
48
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Papers on EARS
49
EARS (Easy Approach to Requirements Syntax), Alistair
Mavin et al, 17th IEEE International Requirements
Engineering Conference (RE 09)
Big EARS: The Return of Easy Approach to Requirements
Syntax, Alistair Mavin et al, 18th IEEE International
Requirements Engineering Conference (RE 10)
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Training
50
• Develop internal training
• Attend external training
• Partner requirements authors with requirements subject
matter experts
• Create “communities of practice” to share best known
requirements methods internally
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Requirements Syntax
51
[Trigger] [Precondition] Actor Action [Object]
Here is a generic syntax for functional requirements (optional
items are in square brackets):
Example:
When an Order is shipped and Order Terms are not
“Prepaid”, the system shall create an Invoice.
• Trigger: When an Order is shipped
• Precondition: Order Terms are not “Prepaid”
• Actor: the system
• Action: create
• Object: an Invoice
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Good Requirements Checklist
52
Utilize a checklist that defines the attributes of a
well written requirement. For example, a Good
Requirement is:
 Complete
 Correct
 Concise
 Feasible
 Necessary
 Prioritized
 Unambiguous
 Verifiable
 Consistent
 Traceable
Most of these attributes apply equally to a single requirement and the
entire set of requirements
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Planguage: A Constrained Natural Language
53
Many requirements defects can be eliminated by using a
constrained natural language. Planguage is an example:
• Developed by Tom Gilb in 1988 and explained in detail in his
book Competitive Engineering *
• Is a combination of the words Planning and Language
• An informal, but structured, keyword-driven planning language
(e.g., Name, Description, Rationale)
• Can be used to create all types of requirements
* Competitive Engineering, Butterworth-Heinemann, 2005
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Planguage Keywords for Any Requirement
54
Name A short, descriptive name
Requirement Text that defines the requirement, following EARS*
Rationale The reasoning that justifies the requirement
Priority Sets the importance of the requirement relative to others in
the product
Priority Reason A brief justification for the assigned priority level
Status The current state of the requirement
Contact The person to contact with questions about the requirement
Source The original inspiration for the requirement
Copyright © 2012-2014 Intel Corporation. All Rights Reserved.
No part of this presentation may be copied without the written
permission of Intel Corporation.
Planguage Example
55
Name: Create_Invoice
Requirement: When an Order is shipped and Order Terms are not “Prepaid”,
the system shall create an Invoice.
Rationale: Task automation decreases error rate, reduces effort per order.
Meets corporate business principle for accounts receivable.
Priority: High.
Priority Reason: If not implemented, business process reengineering will be
necessary and program ROI will drop by $400K per year.  Finance study
Status: Committed
Contact: Hugh P. Essen
Source: I. Send, Shipping
Created by: Julie English
Version: 1.1, Modified Date: 20 Oct 11
EARS: The Easy Approach to Requirements Syntax

More Related Content

What's hot

An introduction to mobile app development and investing
An introduction to mobile app development and investingAn introduction to mobile app development and investing
An introduction to mobile app development and investingBrandon Na
 
Appium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | EdurekaAppium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | EdurekaEdureka!
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15koolkampus
 
Software development slides
Software development slidesSoftware development slides
Software development slidesiarthur
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaEdureka!
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activitiessommerville-videos
 
Find Requirements Defects to Build Better Software
Find Requirements Defects to Build Better SoftwareFind Requirements Defects to Build Better Software
Find Requirements Defects to Build Better SoftwareTechWell
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorialLokesh Agrawal
 
Requirements engineering processes
Requirements engineering processesRequirements engineering processes
Requirements engineering processessommerville-videos
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipCamille Bell
 
Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Internet Security Auditors
 
Appium Presentation
Appium Presentation Appium Presentation
Appium Presentation OmarUsman6
 
Validation testing
Validation testingValidation testing
Validation testingSlideshare
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing PrinciplesKanoah
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented DesignEdison Lascano
 

What's hot (20)

An introduction to mobile app development and investing
An introduction to mobile app development and investingAn introduction to mobile app development and investing
An introduction to mobile app development and investing
 
Appium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | EdurekaAppium Architecture | How Appium Works | Edureka
Appium Architecture | How Appium Works | Edureka
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
 
Software development slides
Software development slidesSoftware development slides
Software development slides
 
Testing banking apps
Testing banking appsTesting banking apps
Testing banking apps
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | Edureka
 
Mobile Application Development Process
Mobile Application Development ProcessMobile Application Development Process
Mobile Application Development Process
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activities
 
Find Requirements Defects to Build Better Software
Find Requirements Defects to Build Better SoftwareFind Requirements Defects to Build Better Software
Find Requirements Defects to Build Better Software
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Requirements engineering processes
Requirements engineering processesRequirements engineering processes
Requirements engineering processes
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW Craftsmanship
 
Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...
 
Appium Presentation
Appium Presentation Appium Presentation
Appium Presentation
 
Validation testing
Validation testingValidation testing
Validation testing
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
 
Mobile development
Mobile developmentMobile development
Mobile development
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented Design
 
GUI Testing
GUI TestingGUI Testing
GUI Testing
 

Viewers also liked

Being Creative: A Visual Testing Workshop
Being Creative: A Visual Testing WorkshopBeing Creative: A Visual Testing Workshop
Being Creative: A Visual Testing WorkshopTechWell
 
Balancing the Crusty and Old with the Shiny and New
Balancing the Crusty and Old with the Shiny and NewBalancing the Crusty and Old with the Shiny and New
Balancing the Crusty and Old with the Shiny and NewTechWell
 
Satisfying Auditors: Plans and Evidence in a Regulated Environment
Satisfying Auditors: Plans and Evidence in a Regulated EnvironmentSatisfying Auditors: Plans and Evidence in a Regulated Environment
Satisfying Auditors: Plans and Evidence in a Regulated EnvironmentTechWell
 
Innovation Thinking: Evolve and Expand Your Capabilities
Innovation Thinking: Evolve and Expand Your CapabilitiesInnovation Thinking: Evolve and Expand Your Capabilities
Innovation Thinking: Evolve and Expand Your CapabilitiesTechWell
 
Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!TechWell
 
The Doctor Is In: Diagnosing Test Automation Diseases
The Doctor Is In: Diagnosing Test Automation DiseasesThe Doctor Is In: Diagnosing Test Automation Diseases
The Doctor Is In: Diagnosing Test Automation DiseasesTechWell
 
Getting Started with Risk-Based Testing
Getting Started with Risk-Based TestingGetting Started with Risk-Based Testing
Getting Started with Risk-Based TestingTechWell
 
Executives’ Influence on Agile: The Good, the Bad, and the Ugly
Executives’ Influence on Agile: The Good, the Bad, and the UglyExecutives’ Influence on Agile: The Good, the Bad, and the Ugly
Executives’ Influence on Agile: The Good, the Bad, and the UglyTechWell
 
Docker Containers in the Enterprise DevOps Journey
Docker Containers in the Enterprise DevOps JourneyDocker Containers in the Enterprise DevOps Journey
Docker Containers in the Enterprise DevOps JourneyTechWell
 
Is Agile the Prescription for the Public Sector’s IT Woes?
Is Agile the Prescription for the Public Sector’s IT Woes?Is Agile the Prescription for the Public Sector’s IT Woes?
Is Agile the Prescription for the Public Sector’s IT Woes?TechWell
 
Getting Your Message Across: Communication Skills for Testers
Getting Your Message Across: Communication Skills for TestersGetting Your Message Across: Communication Skills for Testers
Getting Your Message Across: Communication Skills for TestersTechWell
 
Making Your Test Automation Transparent
Making Your Test Automation TransparentMaking Your Test Automation Transparent
Making Your Test Automation TransparentTechWell
 
Test Automation Strategies for the Agile World
Test Automation Strategies for the Agile WorldTest Automation Strategies for the Agile World
Test Automation Strategies for the Agile WorldTechWell
 
Build Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudBuild Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudTechWell
 
Design for Testability in Practice
Design for Testability in PracticeDesign for Testability in Practice
Design for Testability in PracticeTechWell
 
IoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case StudyIoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case StudyTechWell
 

Viewers also liked (16)

Being Creative: A Visual Testing Workshop
Being Creative: A Visual Testing WorkshopBeing Creative: A Visual Testing Workshop
Being Creative: A Visual Testing Workshop
 
Balancing the Crusty and Old with the Shiny and New
Balancing the Crusty and Old with the Shiny and NewBalancing the Crusty and Old with the Shiny and New
Balancing the Crusty and Old with the Shiny and New
 
Satisfying Auditors: Plans and Evidence in a Regulated Environment
Satisfying Auditors: Plans and Evidence in a Regulated EnvironmentSatisfying Auditors: Plans and Evidence in a Regulated Environment
Satisfying Auditors: Plans and Evidence in a Regulated Environment
 
Innovation Thinking: Evolve and Expand Your Capabilities
Innovation Thinking: Evolve and Expand Your CapabilitiesInnovation Thinking: Evolve and Expand Your Capabilities
Innovation Thinking: Evolve and Expand Your Capabilities
 
Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!Playwriting, Imagination, and Agile Software Development … Oh My!
Playwriting, Imagination, and Agile Software Development … Oh My!
 
The Doctor Is In: Diagnosing Test Automation Diseases
The Doctor Is In: Diagnosing Test Automation DiseasesThe Doctor Is In: Diagnosing Test Automation Diseases
The Doctor Is In: Diagnosing Test Automation Diseases
 
Getting Started with Risk-Based Testing
Getting Started with Risk-Based TestingGetting Started with Risk-Based Testing
Getting Started with Risk-Based Testing
 
Executives’ Influence on Agile: The Good, the Bad, and the Ugly
Executives’ Influence on Agile: The Good, the Bad, and the UglyExecutives’ Influence on Agile: The Good, the Bad, and the Ugly
Executives’ Influence on Agile: The Good, the Bad, and the Ugly
 
Docker Containers in the Enterprise DevOps Journey
Docker Containers in the Enterprise DevOps JourneyDocker Containers in the Enterprise DevOps Journey
Docker Containers in the Enterprise DevOps Journey
 
Is Agile the Prescription for the Public Sector’s IT Woes?
Is Agile the Prescription for the Public Sector’s IT Woes?Is Agile the Prescription for the Public Sector’s IT Woes?
Is Agile the Prescription for the Public Sector’s IT Woes?
 
Getting Your Message Across: Communication Skills for Testers
Getting Your Message Across: Communication Skills for TestersGetting Your Message Across: Communication Skills for Testers
Getting Your Message Across: Communication Skills for Testers
 
Making Your Test Automation Transparent
Making Your Test Automation TransparentMaking Your Test Automation Transparent
Making Your Test Automation Transparent
 
Test Automation Strategies for the Agile World
Test Automation Strategies for the Agile WorldTest Automation Strategies for the Agile World
Test Automation Strategies for the Agile World
 
Build Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudBuild Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the Cloud
 
Design for Testability in Practice
Design for Testability in PracticeDesign for Testability in Practice
Design for Testability in Practice
 
IoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case StudyIoT and Embedded Testing: A Roku Case Study
IoT and Embedded Testing: A Roku Case Study
 

Similar to EARS: The Easy Approach to Requirements Syntax

Threat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsThreat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsEric Vétillard
 
Explore, design and implement threading parallelism with Intel® Advisor XE
Explore, design and implement threading parallelism with Intel® Advisor XEExplore, design and implement threading parallelism with Intel® Advisor XE
Explore, design and implement threading parallelism with Intel® Advisor XEIntel IT Center
 
BGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack SurfaceBGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack SurfaceGeorgi Kodinov
 
Quieting noisy neighbor with Intel® Resource Director Technology
Quieting noisy neighbor with Intel® Resource Director TechnologyQuieting noisy neighbor with Intel® Resource Director Technology
Quieting noisy neighbor with Intel® Resource Director TechnologyMichelle Holley
 
real simple reliable software
real simple reliable software real simple reliable software
real simple reliable software AnnMarieNeufelder1
 
Software Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis OverviewSoftware Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis OverviewAnn Marie Neufelder
 
Intel NFVi Enabling Kit Demo/Lab
Intel NFVi Enabling Kit Demo/LabIntel NFVi Enabling Kit Demo/Lab
Intel NFVi Enabling Kit Demo/LabMichelle Holley
 
Top Ten things that have been proven to effect software reliability
Top Ten things that have been proven to effect software reliabilityTop Ten things that have been proven to effect software reliability
Top Ten things that have been proven to effect software reliabilityAnn Marie Neufelder
 
The Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityThe Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityAnn Marie Neufelder
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for ChangeEric Wyles
 
Softwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific TechniquesSoftwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific Techniquesmaharajdey
 
Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013
Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013
Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013Intel Software Brasil
 
the-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdf
the-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdfthe-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdf
the-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdfmattcs901
 
Java Card Platform Security and Performance
Java Card Platform Security and PerformanceJava Card Platform Security and Performance
Java Card Platform Security and PerformanceEric Vétillard
 
Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Intel® Software
 
Intel® VTune™ Amplifier - Intel Software Conference 2013
Intel® VTune™ Amplifier - Intel Software Conference 2013Intel® VTune™ Amplifier - Intel Software Conference 2013
Intel® VTune™ Amplifier - Intel Software Conference 2013Intel Software Brasil
 
Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8Intel Developer Zone Community
 
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoO uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoIntel Software Brasil
 

Similar to EARS: The Easy Approach to Requirements Syntax (20)

Threat Modeling for the Internet of Things
Threat Modeling for the Internet of ThingsThreat Modeling for the Internet of Things
Threat Modeling for the Internet of Things
 
Explore, design and implement threading parallelism with Intel® Advisor XE
Explore, design and implement threading parallelism with Intel® Advisor XEExplore, design and implement threading parallelism with Intel® Advisor XE
Explore, design and implement threading parallelism with Intel® Advisor XE
 
BGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack SurfaceBGOUG 2014 Decrease Your MySQL Attack Surface
BGOUG 2014 Decrease Your MySQL Attack Surface
 
Quieting noisy neighbor with Intel® Resource Director Technology
Quieting noisy neighbor with Intel® Resource Director TechnologyQuieting noisy neighbor with Intel® Resource Director Technology
Quieting noisy neighbor with Intel® Resource Director Technology
 
Introduction to software FMEA
Introduction to software FMEAIntroduction to software FMEA
Introduction to software FMEA
 
real simple reliable software
real simple reliable software real simple reliable software
real simple reliable software
 
Software Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis OverviewSoftware Failure Modes Effects Analysis Overview
Software Failure Modes Effects Analysis Overview
 
Intel NFVi Enabling Kit Demo/Lab
Intel NFVi Enabling Kit Demo/LabIntel NFVi Enabling Kit Demo/Lab
Intel NFVi Enabling Kit Demo/Lab
 
Top Ten things that have been proven to effect software reliability
Top Ten things that have been proven to effect software reliabilityTop Ten things that have been proven to effect software reliability
Top Ten things that have been proven to effect software reliability
 
The Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityThe Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliability
 
MeeGo Overview DeveloperDay Munich
MeeGo Overview DeveloperDay MunichMeeGo Overview DeveloperDay Munich
MeeGo Overview DeveloperDay Munich
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
 
Softwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific TechniquesSoftwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific Techniques
 
Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013
Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013
Intel® Trace Analyzer e Collector (ITAC) - Intel Software Conference 2013
 
the-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdf
the-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdfthe-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdf
the-top-ten-things-that-have-been-proven-to-effect-software-reliability-1.pdf
 
Java Card Platform Security and Performance
Java Card Platform Security and PerformanceJava Card Platform Security and Performance
Java Card Platform Security and Performance
 
Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop
 
Intel® VTune™ Amplifier - Intel Software Conference 2013
Intel® VTune™ Amplifier - Intel Software Conference 2013Intel® VTune™ Amplifier - Intel Software Conference 2013
Intel® VTune™ Amplifier - Intel Software Conference 2013
 
Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8
 
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoO uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

EARS: The Easy Approach to Requirements Syntax

  • 1. Version 1.0 EARS: The Easy Approach to Requirements Syntax John Terzakis Intel Corporation john.terzakis@intel.com November 12, 2014 Better Software Conference Orlando, FL
  • 2. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Legal Disclaimers 2 Intel Trademark Notice: Intel and the Intel Logo are trademarks of Intel Corporation in the U.S. and other countries. Non-Intel Trademark Notice: *Other names and brands may be claimed as the property of others
  • 3. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Agenda 3 • Requirements overview • Issues with requirements • Overcoming issues with requirements • Identifying ubiquitous requirements • EARS and EARS examples • Using EARS to rewrite requirement examples • EARS at Intel • Wrap up
  • 4. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Requirements Overview 4
  • 5. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. What is a Requirement? 5 A requirement is a statement of one of the following: 1. What a system must do 2. A known limitation or constraint on resources or design 3. How well the system must do what it does The first definition is for Functional Requirements The second and third definitions are for Non-Functional Requirements (NFRs) This session will focus on improving requirements defined by 1 & 2
  • 6. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Examples of Functional and Non-Functional Requirements 6 Video over IP Conference Calling Functional Requirements •Add Participant •Count Participants •Drop Participant •Lock Call to New Participants •Summon Operator •Mute voice Non-Functional Requirements •Voice and Video Quality •Reliability •Availability •Ease of Use •Cost •Localization
  • 7. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Issues with Requirements 7
  • 8. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Issues with Requirements 8 • Authors often lack formal training on writing requirements • Authors write requirements using unconstrained natural language: • Introduces ambiguity, vagueness and subjectivity • Not always clear, concise and coherent • Often not testable • Some times missing triggers • Logic is not always complete (“if” but no “else”) • Authors “copy and paste” poor requirements, which multiplies the number of requirements with defects
  • 9. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Examples of Issues with Requirements 9 1. The software shall support a water level sensor. • What does the word “support” mean? 2. The thesaurus software shall display about five alternatives for the requested word. • How many is “about five”? Three? Four? Six? Ten? More? • Under what conditions are they displayed ? 3. The software shall blink the LED on the adapter using a 50% on, 50% off duty cycle. • Does the software blink the LED at all times? Or is there a trigger that initiates the blinking? 4. If a boot disk is detected in the system, the software shall boot from it. • What if a boot disk is not present? The logic is incomplete.
  • 10. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Overcoming Issues with Requirements 10
  • 11. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Tools to Overcome Requirements Issues 11 • Training • Check requirements against “goodness” criteria • Use a consistent syntax • Use a constrained natural language (e.g., Planguage) See backup for more information •Express requirements using EARS
  • 12. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Express Requirements Using EARS 12 EARS: Easy Approach to Requirements Syntax • Is an effective method of expressing requirements • Was created by Alistair Mavin and others from Rolls- Royce PLC and presented at the 2009 Requirements Engineering (RE 09) conference • Differentiates between five types (or patterns) of requirements: • Ubiquitous (always occurring) • Event-driven • Unwanted behaviors • State-driven • Optional features
  • 13. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. EARS Background 13 • Case study involved Rolls-Royce group working on aircraft engine control systems • Software was safety critical, contained thousands of components and involved up to twenty different suppliers • Rolls-Royce identified 8 major problems with existing natural language requirements: • Ambiguity • Vagueness • Complexity • Omission • Rewriting requirements using EARS “…demonstrated a significant reduction in all eight problem types…” * (* From: EARS (Easy Approach to Requirements Syntax), Alistair Mavin et al, 17th IEEE International Requirements Engineering Conference (RE 09), page 321) • Duplication • Wordiness • Inappropriate implementation • Untestability
  • 14. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Identifying Ubiquitous Requirements 14
  • 15. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Ubiquitous Requirements 15 Ubiquitous Requirements: • State a fundamental system property • Do not require a stimulus in order to execute • Are universal (exist at all times) Requirements that are not ubiquitous do not occur at all times. They • Require an event or trigger in order to execute, or • Denote a state of the system, or • Denote an optional feature Most requirements are not ubiquitous
  • 16. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. About Ubiquitous Requirements Question ubiquitous requirements: Things that may seem universal are often subject to unstated triggers or preconditions Most legitimate ubiquitous requirements state a fundamental property of the software: • The software shall be distributed on CD-ROM and DVD media. • The software shall prevent Unauthorized Access to patient data. Software functions that appear ubiquitous are often not: • The software shall wake the PC from standby • The software shall log the date, time and username of failed logins. 16 The last 2 requirements are missing a trigger
  • 17. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Ubiquitous Requirements or Not? 17 Which requirements are ubiquitous? The installer SW shall be available in Greek The SW shall mute the microphone The SW shall download the book without charge The SW shall warn the user of low battery The SW shall phone the Alarm Company The SW shall display a count of the number of participants.
  • 18. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Ubiquitous or Not? 18 1. The installer software shall be available in Greek. • Yes. This is a fundamental property of the installer software 2. The software shall display a count of the number of participants. • No. There is likely an event that causes the count to be displayed. 3. The software shall phone the Alarm Company. • No. We don’t want the software phoning the Alarm Company unless there is a fault or problem. 4. The software shall mute the microphone. • No. The muting occurs during some state the system is in 5. The software shall download the book without charge. • No. There is apt to be an optional condition under which books are downloaded for free. 6. The software shall warn the user of low battery • No. There is a state or an event needed for this warning to occur.
  • 19. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. EARS and EARS Examples 19
  • 20. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. EARS Patterns 20 Pattern Name Pattern Ubiquitous The <system name> shall <system response> Event-Driven WHEN <trigger> <optional precondition> the <system name> shall <system response> Unwanted Behavior IF <unwanted condition or event>, THEN the <system name> shall <system response> State-Driven WHILE <system state>, the <system name> shall <system response> Optional Feature WHERE <feature is included>, the <system name> shall <system response> Complex (combinations of the above patterns)
  • 21. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Ubiquitous Requirements 21 • Define a fundamental property of the system • Have no preconditions or trigger • Do not require a pattern keyword • Have the format: The <system name> shall <system response>
  • 22. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Ubiquitous Examples 22 • The software package shall include an installer. • The software shall be written in Java. • The software shall be available for purchase on the company web site and in retail stores.
  • 23. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Event-Driven Requirements 23 • Are initiated when and only when a trigger occurs or is detected • Use the “When” keyword • Have the format: WHEN <trigger> <optional precondition> the <system name> shall <system response>
  • 24. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Event-Driven Examples 24 • When an Unregistered Device is plugged into a USB port, the OS shall attempt to locate and load the driver for the device. • When a DVD is inserted into the DVD player, the OS shall spin up the optical drive. • When the water level falls below the Low Water Threshold, the software shall open the water valve to fill the tank to the High Water Threshold.
  • 25. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Unwanted Behavior Requirements 25 • Handle unwanted behaviors including error conditions, failures, faults, disturbances and other undesired events • Use the “If” and “then” keywords • Have the format: IF <unwanted condition or event>, THEN the <system name> shall <system response>
  • 26. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Unwanted Behavior Examples 26 • If the measured and calculated speeds vary by more than 10%, then the software shall use the measured speed. • If the memory checksum is invalid, then the software shall display an error message. • If the ATM card inserted is reported lost or stolen, then software shall confiscate the card.
  • 27. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. State-Driven Requirements 27 • Are triggered while the system is in a specific state • Use the “While” keyword (or optionally the keyword “During”) • Have the format: WHILE <system state>, the <system name> shall <system response>
  • 28. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. State-Driven Examples 28 • While in Low Power Mode, the software shall keep the display brightness at the Minimum Level. • While the heater is on, the software shall close the water intake valve. • While the autopilot is engaged, the software shall display a visual indication to the pilot.
  • 29. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Optional Feature Requirements 29 • Are invoked only in systems that include the particular optional feature • Use the “Where” keyword • Have the format: WHERE <feature is included>, the <system name> shall <system response>
  • 30. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Optional Feature Examples 30 • Where a thesaurus is part of the software package, the installer shall prompt the user before installing the thesaurus. • Where hardware encryption is installed, the software shall encrypt data using the hardware instead of using a software algorithm. • Where a HDMI port is present, the software shall allow the user to select HD content for viewing.
  • 31. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Complex Requirements 31 • Describe complex conditional events involving multiple triggers, states and/or optional features • Use a combination of the keywords When, If/Then, While and Where • Have the format: • <Multiple Conditions>, the <system name> shall <system response>
  • 32. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Complex Examples 32 • When the landing gear button is depressed once, if the software detects that the landing gear does not lock into position, then the software shall sound an alarm. • Where a second optical drive is installed, when the user selects to copy disks, the software shall display an option to copy directly from one optical drive to the other optical drive. • While in start up mode, when the software detects an external flash card, the software shall use the external flash card to store photos.
  • 33. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Using EARS to Rewrite Requirement Examples 33
  • 34. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Example 1 34 Original: The installer software shall be available in Greek. Rewritten using EARS (no change): The installer software shall be available in Greek. What type of EARS Pattern? Ubiquitous
  • 35. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Example 2 35 Original: The software shall display a count of the number of participants. Rewritten using EARS: When the user selects the caller count from the menu, the software shall display a count of the number of participants in the audio call in the UI. What type of EARS Pattern? Event Driven
  • 36. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Example 3 36 Original: The software shall phone the Alarm Company. Rewritten using EARS: If the alarm software detects that a sensor has malfunctioned, then the alarm software shall phone the Alarm Company to report the malfunction. What type of EARS Pattern? Unwanted behavior
  • 37. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Example 4 37 Original: The software shall mute the microphone. Rewritten using EARS: While the mute button is depressed, the software shall mute the microphone. What type of EARS Pattern? State-driven
  • 38. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Example 5 38 Original: The software shall download the book without charge. Rewritten using EARS: Where the book is available in digital format, the software shall allow the user to download the book without charge for a trial period of 3 days. What type of EARS Pattern? Optional feature
  • 39. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Example 6 39 Original: The software shall warn the user of low battery. Rewritten using EARS: While on battery power, if the battery charge falls below 10% remaining, then the system shall display a warning message to switch to AC power. What type of EARS Pattern? Complex
  • 40. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. EARS at Intel 40
  • 41. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. History of EARS at Intel 41 • EARS was introduced at Intel in 2010 • Although originally developed for the aircraft industry, it was easily adapted to a wide variety of projects at Intel • Integrated into existing Requirements Engineering training materials • Rapidly adopted by requirements authors due to its power and simplicity • Praised by developers & validation teams for providing clarity and removing ambiguity from requirements.
  • 42. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. EARS Requirements Examples from Intel 42 • The software shall include an online help file. • Type: Ubiquitous • When the software detects the J7 jumper is shorted, it shall clear all stored user names and passwords. • Type: Event-driven • If the software detects an invalid DRAM memory configuration, then it shall abort the test and report the error. • Type: Unwanted behavior Note: Requirements slightly modified from original form
  • 43. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. EARS Requirements Examples from Intel 43 • While in Manufacturing Mode, the software shall boot without user intervention. • Type: State-driven • Where both 3G and Wi-Fi radios are available, the software shall prioritize Wi-Fi connections above 3G. • Type: Optional feature • While on DC power, if the software detects an error, then the software shall cache the error message instead of writing the error message to disk. • Type: Complex Note: Requirements slightly modified from original form
  • 44. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Wrap up 44
  • 45. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Session Summary 45 In this session we have: • Provided a brief overview of requirements • Discussed issues with requirements and listed tools to overcome them • Taught how to identify ubiquitous requirements vs. those that are not • Introduced the concept of EARS • Reviewed examples using the EARS template • Rewrote requirements using the EARS template • Observed practical applications of EARS at Intel
  • 46. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Final Thoughts 46 • EARS is a structured aid to writing better requirements Focuses on the different patterns for requirements using keywords (When, If-Then, While, Where and combinations) • EARS helps to identify which requirements are truly ubiquitous Some requirements, written as if they were ubiquitous, are really not • EARS is beneficial to both developers and testers in understanding the intent of requirements Removes ambiguity, improves clarity and properly identifies underlying conditions or triggers EARS is Powerful. Start Using it Today!
  • 47. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Contact Information 47 Thank You! For more information, please contact: John Terzakis john.terzakis@intel.com
  • 48. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Backup 48
  • 49. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Papers on EARS 49 EARS (Easy Approach to Requirements Syntax), Alistair Mavin et al, 17th IEEE International Requirements Engineering Conference (RE 09) Big EARS: The Return of Easy Approach to Requirements Syntax, Alistair Mavin et al, 18th IEEE International Requirements Engineering Conference (RE 10)
  • 50. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Training 50 • Develop internal training • Attend external training • Partner requirements authors with requirements subject matter experts • Create “communities of practice” to share best known requirements methods internally
  • 51. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Requirements Syntax 51 [Trigger] [Precondition] Actor Action [Object] Here is a generic syntax for functional requirements (optional items are in square brackets): Example: When an Order is shipped and Order Terms are not “Prepaid”, the system shall create an Invoice. • Trigger: When an Order is shipped • Precondition: Order Terms are not “Prepaid” • Actor: the system • Action: create • Object: an Invoice
  • 52. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Good Requirements Checklist 52 Utilize a checklist that defines the attributes of a well written requirement. For example, a Good Requirement is:  Complete  Correct  Concise  Feasible  Necessary  Prioritized  Unambiguous  Verifiable  Consistent  Traceable Most of these attributes apply equally to a single requirement and the entire set of requirements
  • 53. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Planguage: A Constrained Natural Language 53 Many requirements defects can be eliminated by using a constrained natural language. Planguage is an example: • Developed by Tom Gilb in 1988 and explained in detail in his book Competitive Engineering * • Is a combination of the words Planning and Language • An informal, but structured, keyword-driven planning language (e.g., Name, Description, Rationale) • Can be used to create all types of requirements * Competitive Engineering, Butterworth-Heinemann, 2005
  • 54. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Planguage Keywords for Any Requirement 54 Name A short, descriptive name Requirement Text that defines the requirement, following EARS* Rationale The reasoning that justifies the requirement Priority Sets the importance of the requirement relative to others in the product Priority Reason A brief justification for the assigned priority level Status The current state of the requirement Contact The person to contact with questions about the requirement Source The original inspiration for the requirement
  • 55. Copyright © 2012-2014 Intel Corporation. All Rights Reserved. No part of this presentation may be copied without the written permission of Intel Corporation. Planguage Example 55 Name: Create_Invoice Requirement: When an Order is shipped and Order Terms are not “Prepaid”, the system shall create an Invoice. Rationale: Task automation decreases error rate, reduces effort per order. Meets corporate business principle for accounts receivable. Priority: High. Priority Reason: If not implemented, business process reengineering will be necessary and program ROI will drop by $400K per year.  Finance study Status: Committed Contact: Hugh P. Essen Source: I. Send, Shipping Created by: Julie English Version: 1.1, Modified Date: 20 Oct 11