SlideShare a Scribd company logo
1 of 24
Ambiguous Requirements –
Translating the message from C-level
to implementation
IIBA Presentation, 24/04/2014, Salford, Manchester
Llyr Wyn Jones – Senior Programmer / Consultant – Grid-Tools Ltd.
Introduction
• Llyr Wyn Jones
• Senior Programmer, Grid-Tools Ltd.
• Graduated 2010 from the University of St. Andrews – Masters in Mathematics
(First Class)
• Certified Requirements-Based Testing (RBT) Practitioner
• Main roles: Programming; Software Design; Requirements and Test Case
Design Consultancy
• Specialist subjects: Test case design, requirement specifications, cryptography
• Contributor to Professional Tester Magazine, as well as writing white papers
for Grid-Tools Ltd.
Motivation – Why am I here?
• Using Requirement-Based Testing (RBT) methods on software projects,
discovered that, by the time a project gets to the testing phase, realizing
cost/quality/time projections depends on what has gone before (i.e. it’s too late
to do anything about it!)
• The majority of project overruns are caused by poor and/or ambiguous
requirements.
• C-level executives do not speak the same language as a database coder (for
example).
• As a business analyst, it is critical to be able to write requirements that can be
understood by both the user (e.g. CIO) and the person(s) implementing it (e.g.
the programmers and testers).
Cost Projection via Unambigious Requirements
• The white paper “Cost, Complexity and Coverage” was written to address the
problem of calculating project cost by considering the number of testable
requirements in a software project.
• Built on the work of Peter B. Wilson (“Sizing Software With Testable
Requirements”).
• Using a mathematical model of requirements (see Appendix), shown how
ambiguities can increase the variance of cost projections (i.e. the margin of error
increases in proportion with the “quality” of requirements)
• You may ask yourself: What has this got to do with C-level visions?
Clarity of Vision via Unambiguous Requirements
• The same mathematical model can be employed to show how ambiguities
increase the margin of error as it travels through the project lifecycle.
• We focus on software projects, but it applies to ALL projects – for non-software
projects, if we define a “defect” as “an instance where the implementation differs
from the high-level requirement”, then the problem is reduced to that of a
software project.
• Throughout, we use the above definition of a defect (otherwise referred to as a
‘bug’).
Example: A typical development process
Business Analyst Programmer TesterUser
The User Knows what they want
The Analyst specifies what that is
The Programmer writes the code
The Tester tests the program
The further the visions diverge The greater the problems
Clarity and Vision during development
Business Analyst Programmer TesterUser
There are less bugs and the product is delivered faster
The closer the vision means the user gets a quality product
Clarity and Vision during development
Business Analyst Programmer TesterUser
Verify & Clarify Clear Logic Test Cases
Agile-
Designer
Design
Tests
Design Data
• Minimum
• Optimal
• Find it
• Make it The scope for ambiguity is
much less
The product is of higher
quality and is delivered faster
Vision Convergence – Unambiguous Requirements
• The key to ‘converging the vision’ is making sure that the requirements are:
• Unambiguous
• Can be understood by everyone reading them.
• The first can be achieved by putting the requirements through a formal
“ambiguity review” process, which involves analyzing the language used and
making sure that the requirements can be interpreted in one and only one way.
• The second is a bit more difficult to achieve, but can be done by sub-dividing
requirements such that:
• Each sub-division level is more granular than the last.
• Sub-requirements add up to the higher-level requirement.
• Each sub-requirement is unambiguous.
• Each sub-requirement can be understood by the appropriate person.
Examples of Ambiguities
• Dangling Else
• All “If” clauses must have an “else”
• Non-exhaustive case statements must have an “else”
• Ambiguity of Reference
• Consistently use explicit variable names.
• Scope of Action
• Use tables, explicit lists.
• Omissions
• Structure and reviews improve completeness
• Ambiguous Logical Operators
• Use restricted set
• Use brackets
Examples of Ambiguities
• Negation
• Use brackets
• Put negatives last in list
• Ambiguous Statements
• Use explicit variable names
• Use restricted set of qualifiers
• Random Organisation
• Sequence set by “If, then, else” statements.
• Built-In Assumptions
• Use restricted set of terms
• Factor in environmental constraints
• Add a glossary of terms
Examples of Ambiguities
• Ambiguous Precedence Relationships
• Decision making very structured
• Implicit Cases
• Else clauses qualified with description
• Etc.
• All variables explicit
• All processes explicit
• i.e. versus e.g.
• Correct usage defined
• Temporal Ambiguity
• Timing explicit
• Boundary Ambiguity
• Boundaries explicit
Sub-dividing Requirements
• Using the classical model of software requirements, outline the high-level
requirements:
Highest Level Requirements
Account Management
Security
Payments
Integration With Orders System
Sub-dividing Requirements
• For each high-level requirement, sub-divide into lower-level requirements:
Highest Level Requirements Next Level
Account Management Add Account
Delete Account
….
Security Password security
Payment details security
…
Sub-dividing Requirements
• Continue (usually three or four levels of subdivision suffice) until the entire
requirement has been fully specified:
Highest Level Next Level Lowest Level
Account Management Add Account Customer First Name
Customer Last Name
Customer Address
The Importance of Sub-division
• Sub-division allows for the business analyst to write a requirement in many
different ways – so that the requirement can be understood by everyone involved
from conception to implementation.
• Granularity increases along the way – this eases the process of passing the vision
down the hierarchy (not unlike an organizational hierarchy)
• For each requirement, it is critical that it’s constituent parts sum up to the whole:
this ensures that they say the same thing.
• Ambiguity is strongly discouraged at every step: each ambiguity results in a
divergence from the vision.
• Each level of granularity needs to be understood by the appropriate person – else
the whole exercise is a waste.
The Bottom Line – Ambiguities Results in Divergence
• Using the mathematical model used for cost projection, ambiguities result in
increased margins of error.
• Using the same reasoning, it can be shown that ambiguities directly results in
divergence from the high-level vision.
• By the time the implementation is reviewed by the C-Level executive, it is too
late, and correcting the ‘defects’ will take time and money.
• Delivering quality projects, on time and to specification, requires eliminating this
divergence – hence, better and less ambiguous requirements are the order of the
day.
Thank you for listening
Cost Projection Mathematical Model
The User knows what they want
The Analyst specifies what it is
The Programmer writes the code
The Tester tests the solution
Cost Projection Mathematical Model
• For this analysis, we model ‘requirement sets’ simply as sets of requirements as
understood by the particular group (e.g. the user has his set of interpretations,
marked in red, while the analyst has his set of interpretations, marked in violet,
and the intersection is what is understood commonly by the two).
• We will be introducing the Hausdorff metric to measure the differences between
the interpretations of each group (basically, treating the sets as geometric spaces
and then using the Hausdorff metric to measure distance between the spaces, as
we would do a geometric space).
Cost Projection Mathematical Model
Cost Projection Mathematical Model
Cost Projection Mathematical Model
Cost Projection Mathematical Model

More Related Content

What's hot

Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurancegopal10scs185
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesAbdul Basit
 
Various types of software testing by kostcare | London | Waterloo
Various types of software testing by kostcare | London | WaterlooVarious types of software testing by kostcare | London | Waterloo
Various types of software testing by kostcare | London | WaterlooKostCare
 
Types of program testings and errors
Types of program testings and errorsTypes of program testings and errors
Types of program testings and errorsAmiirah Camall Saib
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testingHimanshu
 
White box testing
White box testingWhite box testing
White box testingAbdul Basit
 
White Box Testing
White Box TestingWhite Box Testing
White Box TestingAlisha Roy
 
Data Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification ToolData Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification ToolIvan Ruchkin
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07uShubham Sharma
 
Black box testing
Black box testingBlack box testing
Black box testingAbdul Basit
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and TechniqueSachin-QA
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsAman Adhikari
 
Can F# make us better as .NET developers?
Can F# make us better as .NET developers?Can F# make us better as .NET developers?
Can F# make us better as .NET developers?Kevin Avignon
 

What's hot (20)

Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development Methodologies
 
Various types of software testing by kostcare | London | Waterloo
Various types of software testing by kostcare | London | WaterlooVarious types of software testing by kostcare | London | Waterloo
Various types of software testing by kostcare | London | Waterloo
 
Types of program testings and errors
Types of program testings and errorsTypes of program testings and errors
Types of program testings and errors
 
Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
 
White box testing
White box testingWhite box testing
White box testing
 
UNIT testing
UNIT testingUNIT testing
UNIT testing
 
White Box Testing
White Box TestingWhite Box Testing
White Box Testing
 
Data Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification ToolData Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification Tool
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07u
 
Solid principles
Solid principlesSolid principles
Solid principles
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Black box testing
Black box testingBlack box testing
Black box testing
 
White box testing
White box testingWhite box testing
White box testing
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methods
 
Lecture 21
Lecture 21Lecture 21
Lecture 21
 
Can F# make us better as .NET developers?
Can F# make us better as .NET developers?Can F# make us better as .NET developers?
Can F# make us better as .NET developers?
 
DISE - Programming Concepts
DISE - Programming ConceptsDISE - Programming Concepts
DISE - Programming Concepts
 

Viewers also liked

Viewers also liked (10)

Lecture 2: From Semantics To Semantic-Oriented Applications
Lecture 2: From Semantics To Semantic-Oriented ApplicationsLecture 2: From Semantics To Semantic-Oriented Applications
Lecture 2: From Semantics To Semantic-Oriented Applications
 
Ambiguous Sentences and Headlines
Ambiguous Sentences and HeadlinesAmbiguous Sentences and Headlines
Ambiguous Sentences and Headlines
 
Linguistics5
Linguistics5         Linguistics5
Linguistics5
 
anaphora and deixis
anaphora and deixisanaphora and deixis
anaphora and deixis
 
Ambiguity
AmbiguityAmbiguity
Ambiguity
 
AMBIGUITY IN A LANGUAGE
AMBIGUITY IN A LANGUAGEAMBIGUITY IN A LANGUAGE
AMBIGUITY IN A LANGUAGE
 
Ambiguity
AmbiguityAmbiguity
Ambiguity
 
Ambiguity
AmbiguityAmbiguity
Ambiguity
 
Structural ambiguity
Structural ambiguityStructural ambiguity
Structural ambiguity
 
Ppt semantic
Ppt semanticPpt semantic
Ppt semantic
 

Similar to Ambiguous Requirements – Translating the message from C-level to implementation

Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfavishekpradhan24
 
Introduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process ModelsIntroduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process Modelssantoshkawade5
 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process ModelsEducation Front
 
Software process models shaukat wasi
Software process models shaukat wasiSoftware process models shaukat wasi
Software process models shaukat wasiDr. Shaukat Wasi
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3Azhar Shaik
 
Extreme Programming (XP).pptx
Extreme Programming (XP).pptxExtreme Programming (XP).pptx
Extreme Programming (XP).pptxAnkitKumar891632
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques2PiRTechnologies
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniquesAshutosh Garg
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applicationsnadeembtech
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 

Similar to Ambiguous Requirements – Translating the message from C-level to implementation (20)

Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdf
 
Introduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process ModelsIntroduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process Models
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
 
Software process models shaukat wasi
Software process models shaukat wasiSoftware process models shaukat wasi
Software process models shaukat wasi
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
Extreme Programming (XP).pptx
Extreme Programming (XP).pptxExtreme Programming (XP).pptx
Extreme Programming (XP).pptx
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
 
Software process models
Software process modelsSoftware process models
Software process models
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applications
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 

Recently uploaded

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 

Ambiguous Requirements – Translating the message from C-level to implementation

  • 1. Ambiguous Requirements – Translating the message from C-level to implementation IIBA Presentation, 24/04/2014, Salford, Manchester Llyr Wyn Jones – Senior Programmer / Consultant – Grid-Tools Ltd.
  • 2. Introduction • Llyr Wyn Jones • Senior Programmer, Grid-Tools Ltd. • Graduated 2010 from the University of St. Andrews – Masters in Mathematics (First Class) • Certified Requirements-Based Testing (RBT) Practitioner • Main roles: Programming; Software Design; Requirements and Test Case Design Consultancy • Specialist subjects: Test case design, requirement specifications, cryptography • Contributor to Professional Tester Magazine, as well as writing white papers for Grid-Tools Ltd.
  • 3. Motivation – Why am I here? • Using Requirement-Based Testing (RBT) methods on software projects, discovered that, by the time a project gets to the testing phase, realizing cost/quality/time projections depends on what has gone before (i.e. it’s too late to do anything about it!) • The majority of project overruns are caused by poor and/or ambiguous requirements. • C-level executives do not speak the same language as a database coder (for example). • As a business analyst, it is critical to be able to write requirements that can be understood by both the user (e.g. CIO) and the person(s) implementing it (e.g. the programmers and testers).
  • 4. Cost Projection via Unambigious Requirements • The white paper “Cost, Complexity and Coverage” was written to address the problem of calculating project cost by considering the number of testable requirements in a software project. • Built on the work of Peter B. Wilson (“Sizing Software With Testable Requirements”). • Using a mathematical model of requirements (see Appendix), shown how ambiguities can increase the variance of cost projections (i.e. the margin of error increases in proportion with the “quality” of requirements) • You may ask yourself: What has this got to do with C-level visions?
  • 5. Clarity of Vision via Unambiguous Requirements • The same mathematical model can be employed to show how ambiguities increase the margin of error as it travels through the project lifecycle. • We focus on software projects, but it applies to ALL projects – for non-software projects, if we define a “defect” as “an instance where the implementation differs from the high-level requirement”, then the problem is reduced to that of a software project. • Throughout, we use the above definition of a defect (otherwise referred to as a ‘bug’).
  • 6. Example: A typical development process Business Analyst Programmer TesterUser The User Knows what they want The Analyst specifies what that is The Programmer writes the code The Tester tests the program The further the visions diverge The greater the problems
  • 7. Clarity and Vision during development Business Analyst Programmer TesterUser There are less bugs and the product is delivered faster The closer the vision means the user gets a quality product
  • 8. Clarity and Vision during development Business Analyst Programmer TesterUser Verify & Clarify Clear Logic Test Cases Agile- Designer Design Tests Design Data • Minimum • Optimal • Find it • Make it The scope for ambiguity is much less The product is of higher quality and is delivered faster
  • 9. Vision Convergence – Unambiguous Requirements • The key to ‘converging the vision’ is making sure that the requirements are: • Unambiguous • Can be understood by everyone reading them. • The first can be achieved by putting the requirements through a formal “ambiguity review” process, which involves analyzing the language used and making sure that the requirements can be interpreted in one and only one way. • The second is a bit more difficult to achieve, but can be done by sub-dividing requirements such that: • Each sub-division level is more granular than the last. • Sub-requirements add up to the higher-level requirement. • Each sub-requirement is unambiguous. • Each sub-requirement can be understood by the appropriate person.
  • 10. Examples of Ambiguities • Dangling Else • All “If” clauses must have an “else” • Non-exhaustive case statements must have an “else” • Ambiguity of Reference • Consistently use explicit variable names. • Scope of Action • Use tables, explicit lists. • Omissions • Structure and reviews improve completeness • Ambiguous Logical Operators • Use restricted set • Use brackets
  • 11. Examples of Ambiguities • Negation • Use brackets • Put negatives last in list • Ambiguous Statements • Use explicit variable names • Use restricted set of qualifiers • Random Organisation • Sequence set by “If, then, else” statements. • Built-In Assumptions • Use restricted set of terms • Factor in environmental constraints • Add a glossary of terms
  • 12. Examples of Ambiguities • Ambiguous Precedence Relationships • Decision making very structured • Implicit Cases • Else clauses qualified with description • Etc. • All variables explicit • All processes explicit • i.e. versus e.g. • Correct usage defined • Temporal Ambiguity • Timing explicit • Boundary Ambiguity • Boundaries explicit
  • 13. Sub-dividing Requirements • Using the classical model of software requirements, outline the high-level requirements: Highest Level Requirements Account Management Security Payments Integration With Orders System
  • 14. Sub-dividing Requirements • For each high-level requirement, sub-divide into lower-level requirements: Highest Level Requirements Next Level Account Management Add Account Delete Account …. Security Password security Payment details security …
  • 15. Sub-dividing Requirements • Continue (usually three or four levels of subdivision suffice) until the entire requirement has been fully specified: Highest Level Next Level Lowest Level Account Management Add Account Customer First Name Customer Last Name Customer Address
  • 16. The Importance of Sub-division • Sub-division allows for the business analyst to write a requirement in many different ways – so that the requirement can be understood by everyone involved from conception to implementation. • Granularity increases along the way – this eases the process of passing the vision down the hierarchy (not unlike an organizational hierarchy) • For each requirement, it is critical that it’s constituent parts sum up to the whole: this ensures that they say the same thing. • Ambiguity is strongly discouraged at every step: each ambiguity results in a divergence from the vision. • Each level of granularity needs to be understood by the appropriate person – else the whole exercise is a waste.
  • 17. The Bottom Line – Ambiguities Results in Divergence • Using the mathematical model used for cost projection, ambiguities result in increased margins of error. • Using the same reasoning, it can be shown that ambiguities directly results in divergence from the high-level vision. • By the time the implementation is reviewed by the C-Level executive, it is too late, and correcting the ‘defects’ will take time and money. • Delivering quality projects, on time and to specification, requires eliminating this divergence – hence, better and less ambiguous requirements are the order of the day.
  • 18. Thank you for listening
  • 19. Cost Projection Mathematical Model The User knows what they want The Analyst specifies what it is The Programmer writes the code The Tester tests the solution
  • 20. Cost Projection Mathematical Model • For this analysis, we model ‘requirement sets’ simply as sets of requirements as understood by the particular group (e.g. the user has his set of interpretations, marked in red, while the analyst has his set of interpretations, marked in violet, and the intersection is what is understood commonly by the two). • We will be introducing the Hausdorff metric to measure the differences between the interpretations of each group (basically, treating the sets as geometric spaces and then using the Hausdorff metric to measure distance between the spaces, as we would do a geometric space).