SlideShare a Scribd company logo
1 of 42
Download to read offline
Dr. Simon Wright
simon@symtech.ltd.uk
An Agile Functional Size Estimate should be:
precise, accurate and repeatable
 Agile Estimate Precision is a function of User Story completeness
 If a user story is missed, then the estimate is imprecise
 Agile Estimate Accuracy is a function of User Story correctness
 If a user story is incorrectly expressed, then the estimate is inaccurate
 Agile Estimate Repeatability is a function of User Story consistency
 If a user story uses terms inconsistently then different estimators are likely
to use different interpretations and thereby produce different estimates.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis for User Stories
 A Correct user story
 A Complete sets of user stories
 A Consistent set of user stories
Text analysis Syntax analysis Semantic analysis
Incompleteness by
comparison - CRUDL
Incompleteness between
High level -Low level US
Duplicated/
Redundant
User Stories
Inconsistent
Terms/Units
Inconsistent
Properties.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
1. It will implement the same set
of functions as its
predecessor
2. Relevant sets of project data
will be sorted as quickly as
possible
3. Appropriate standards shall
be used when necessary
4. Careful consideration should
be given to using a high-
bandwidth channel
5. Windows 10 shall be installed
on all PCs
 Badly phrased User Needs
often contain key indicators
such as specific words,
constructs or phrases
 It is not difficult to define a set
of terms to avoid.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
We all can spot “poor” statements of user need
1. It will implement the same set
of functions as its
predecessor
2. Relevant sets of project data
will be sorted as quickly as
possible
3. Appropriate standards shall
be used when necessary
4. Careful consideration should
be given to using a high-
bandwidth channel
5. Windows 10 shall be installed
on all PCs
 5 words to change
 6 words to change
 3 words to change
 4 words to change
 1 word to change.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
We all can spot “poor” statements of user need
Text Analysis Metric
 Definition:
 TA Correctness Metric = the number of times a word or phrase occurs in
the “avoid” list
 Definition:
 Quality Level Low = Quality Score more than or equal to 5
 Quality Level Medium = Quality Score more than 1 and less than 5
 Quality Level High = Quality Score more than 0 and less than 1
1. It will implement the same set of functions as
its predecessor
2. Relevant sets of project data will be sorted as
quickly as possible
3. Appropriate standards shall be used when
necessary
4. Careful consideration should be given to using
a high-bandwidth channel
5. Windows 10 shall be installed on all PCs
TA C Metric Q. Level
5 Low
6 Low
3 Medium
4 Medium
1 Medium
Total 19 Av. 3.8
The next
step is
syntax.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
The syntax of effective User Stories
THE ACTOR IMPERATIVE AN ACTION AN OBJECT and/or
CONDITION
As a US Author I want to maintain User Stories
As a Product
Owner
I need to list User Stories alphabetically
<ACTOR> <ACTION> <OBJECT> and
<TARGET> <PERFORMANCE> <TRIGGER> <CONSTRAINT> <RATIONALE>*
*Writing Effective Natural Language Requirements Specifications by William M. Wilson The Journal of Defense Software Engineering
February 1999
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Effective User Stories follow a syntax
 As a [Actor – who/what does the action]
 I want to [Action – what happens e.g. store, update, send data]
 for [Direct Object – what is acted upon]
 the [Indirect Object – what is acted upon]
 on the [Target – where the output is sent]
 with [Performance - frequency and/or quality characteristic]
 when [Trigger – causes of action]
 unless / even if [Constraint – business rule or limiting factor]
 So that [Rationale - description of value or benefit is achieved]
There are other User Story syntaxes but a uniform syntax of user
story expression increases clarity, consistency and completeness.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Example User Story
As a library_user I want to search for books in the library catalogue on
the computer screen with speed and ease-of-use when I provide a
book title even if the book title is incomplete so that I can find all books
with similar titles
<ACTOR><ACTION><OBJECT(s)> //
<TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE>
<TRIGGER><ACTOR><ACTION><OBJECT><TARGET> <CONSTRAINT>
I provide a book title and I begin a search for books in the library
catalogue on the computer screen even if the book title is incomplete.
Example Use Case
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Syntax Analysis of a good User Story
 As a library user I want to search for books
 on the computer screen
 with speed and ease-of-use
 when I provide a book title
 even if the book title is incomplete
 so that I can find all books with similar titles
<ACTOR><ACTION><OBJECT(s)> //
<TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE>
What
When & how
Why
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
The next
step is
semantics.
Semantic Analysis of 3 words
The three words ‘book’, ‘library’
and ‘a’ can be ordered in six ways
Only three are syntactically correct
“A library book”
“A book library”
“Book a library”
An object
A descriptor
An action.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Measure: Book the book from the book library
NLP: Correctness and Consistency
Metric
Phrase Syntactically Correct? Semantically Consistent? Total
“A library book”
“A book library”
“Book a library”
0
0
0
0
1
1
0
1
1
“Library a book”
“Library book a”
“book Library a”
1
1
1
0
0
1
1
1
2
Book the book from the
book library
0 2 2
Reserve the book from
the document library
0 0 0
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
How does this apply to:
“Agile Deliveries; #Estimates or #NoEstimates? That is the question”.
What if Estimation is easy, valid, (precise, accurate
and repeatable), so maybe it’s worth a try?
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
A Strategy for NLP of User Stories
 NLP Analysis to identify Users in the User Stories
 NLP Analysis to identify Entities in the User Stories
 NLP Analysis to identify Transactions in the User Stories
 Correctness analysis to identify incorrectly expressed user stories
 Completeness analysis to identify incomplete epics
 Consistency analysis to identify inconsistent terms in an epic
 Functional size can be estimated as a by product.
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis to identify Users
 Users come in many
shapes and sizes
 Normal Operator
 Maintenance Operator
 Operational Support
 Interfacing System / API
 Clock
 Other Software etc
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis to identify Users
 As a library user I want to search for books
 on the computer screen
 with speed and ease-of-use
 when I provide a book title
 even if the book title is incomplete
 so that I can find all books with similar titles
Subject
<ACTOR><ACTION><OBJECT(s)> //
<TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE>
What
When & how
Why
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis to identify Transactions
Process
User(s)
Humans
Other Systems
Other Software
DATA DATA
Storage
Transactional / Functional
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis to identify Transactions
Catalogue
SEARCH TERM
DATAMATCHING DATA
Search
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis to identify Transactions
 As a library user I want to search for a book
 on the computer screen
 with speed and ease-of-use
 when I provide a book title
 even if the book title is incomplete
 so that I can find all books with similar titles
Verb
<ACTOR><ACTION><OBJECT(s)> //
<TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE>
What
When & how
Why
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis to identify Entities
Book
Catalogue
BOOK SEARCH TERM
BOOK DATAMATCHING BOOK DATA
Search
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis to identify Entities
 As a library user I want to search for a book
 on the computer screen
 with speed and ease-of-use
 when I provide a book title
 even if the book title is incomplete
 so that I can find all books with similar titles
Object
<ACTOR><ACTION><OBJECT(s)> //
<TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE>
What
When & how
Why
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
VerbSubject
An automatable process
 NLP Analysis to identify the Users in the User Stories
 NLP Analysis to identify the Transactions in the User Stories
 NLP Analysis to identify the Entities in the User Stories
 Correctness analysis to identify incorrectly expressed user stories
 Completeness analysis to identify incomplete epics
 Consistency analysis to identify inconsistent terms in user stories
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
An automatable process
 NLP Analysis to identify the Subjects in the User Stories
 NLP Analysis to identify the Verbs in the User Stories
 NLP Analysis to identify the Objects in the User Stories
 Correctness analysis to identify incorrectly expressed user stories?
 Completeness analysis to identify incomplete epics?
 Consistency analysis to identify inconsistent terms in user stories?
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Correctness analysis
 Has every User Story at least
 one User, (subject)?
 one Transaction, (verb)? and
 one Entity, (object)?
Consistency analysis
 Have Users been named consistently?
 Have Transactions been named
consistently?
 Have Entities been named consistently?
Completeness analysis
 Has every Users been the subject of a user story?
 Does every Entity have a “create” verb in a user story?
 Does every Entity have a “read” verb in a user story?
 Does every Entity have a “update” verb in a user story?
 Does every Entity have a “delete” verb in a user story?
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
NLP Analysis of our User Story
 As a library user I want to search for a book
 on the computer screen
 with speed and ease-of-use
 when I provide a book title
 even if the book title is incomplete
 so that I can find all books with similar titles
Subject Verb Object
What
When & how
Why
Primary Intent
Essential Details
}
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Automatic NLP Analysis of our User Story
Subject Verb Object
Primary Intent
Essential Details
}
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Automatic NLP Analysis of our User Story
Users and
Objects found
by Scopemaster
Candidate
Users and
Objects found
by NLP
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Automatic NLP Analysis of our User Story
Data Movements
found by NLP
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Automatic NLP Analysis
of our User Story
Potential
Defects
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
But what have we missed?
Correct and Consistent Yes
But incomplete!
But what about an epic?
 Here is an example of an epic from the
internet
 How long would it take to make a precise,
accurate and repeatable functional size
estimate?
 This is how long it took me …
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Scrum Alliance Web Site Profiles v1
 Upload of 14 User Stories – 15 minutes
 NLP analysis of original stories – 5 seconds
 Summary Result
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Scrum Alliance Web Site Profiles v1
 Specific Result – 8th User Story
 Need to separate primary intent from the essential details – v2
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Scrum Alliance Web Site Profiles v2
 Split the PI from ED of 14 User Stories – 10 minutes
 NLP re-analysis of user stories – 5 seconds
 Summary Result
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Scrum Alliance Web Site Profiles
Version 1 Version 2
Primary Intent
Essential Details
}
}
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
But what about the un-estimated ones?
Scrum Alliance Web Site Profiles
Version 2
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Primary Intent
Essential Details
}
}
But what about the un-estimated ones – reword?
Scrum Alliance Web Site Profiles v3
 Reword 6 User Stories – 12 minutes
 NLP re-analysis of user stories – 5 seconds
 Summary Result
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Scrum Alliance Web Site Profiles v3
Primary Intent
Essential Details
}
}
But what have I missed?
But what have I
missed?
 These may be covered in one of the
other epics – but they may not
 There were 5 more pages of User
Stories – probably containing 14 US
per page – 70 US total?
 So how long to do a full analysis?
Results and Summary
 v1 took 15 mins 5 sec
 v2 took 10 mins 5 sec
 v3 took 12 mins 5 sec
 Total 37 mins 15 sec
for 14 User Stories
 So maybe 3.5 hours
for 70 User Stories
 Precise - all User Stories sized ✓
 Accurate - same size for same function ✓
 Repeatable – not tested but probably ✓
 14 Correct and Consistent User Stories in 37 min
 But not Complete.
 About 3.5 hours to estimate
What if Estimation is easy, valid, (precise, accurate and
repeatable), so maybe it’s worth 3.5 hours of your time?
Copyright © 2017-2018 Symtech Ltd, All rights reserved.
Dr. Simon Wright
simon@symtech.ltd.uk

More Related Content

Similar to 4. the use of the ai technique of natural language processing for user story analysis and estimation simon wright

Serverless Text Analytics with Amazon Comprehend
Serverless Text Analytics with Amazon ComprehendServerless Text Analytics with Amazon Comprehend
Serverless Text Analytics with Amazon ComprehendDonnie Prakoso
 
Analytics and Data as a Keystone Technology for Translation Companies, Doron ...
Analytics and Data as a Keystone Technology for Translation Companies, Doron ...Analytics and Data as a Keystone Technology for Translation Companies, Doron ...
Analytics and Data as a Keystone Technology for Translation Companies, Doron ...TAUS - The Language Data Network
 
Build up and tune PC website(prototype)
Build up and tune PC website(prototype)Build up and tune PC website(prototype)
Build up and tune PC website(prototype)Saurabh Sutone
 
Mike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdf
Mike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdfMike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdf
Mike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdfAmazon Web Services
 
Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...
Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...
Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...Amazon Web Services
 
AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018
AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018
AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018Amazon Web Services Korea
 
Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...
Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...
Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...Amazon Web Services
 
One Stop Recommendation
One Stop RecommendationOne Stop Recommendation
One Stop RecommendationIRJET Journal
 
One Stop Recommendation
One Stop RecommendationOne Stop Recommendation
One Stop RecommendationIRJET Journal
 
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET-  	  Hosting NLP based Chatbot on AWS Cloud using DockerIRJET-  	  Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET- Hosting NLP based Chatbot on AWS Cloud using DockerIRJET Journal
 
AI / ML Services - re:Invent Comes to London 2.0
AI / ML Services - re:Invent Comes to London 2.0AI / ML Services - re:Invent Comes to London 2.0
AI / ML Services - re:Invent Comes to London 2.0Amazon Web Services
 
BDA302 Building Intelligent Apps with AWS Machine Learning Language Services
BDA302 Building Intelligent Apps with AWS Machine Learning Language ServicesBDA302 Building Intelligent Apps with AWS Machine Learning Language Services
BDA302 Building Intelligent Apps with AWS Machine Learning Language ServicesAmazon Web Services
 
An Overview of Machine Learning on AWS
An Overview of Machine Learning on AWSAn Overview of Machine Learning on AWS
An Overview of Machine Learning on AWSAmazon Web Services
 
Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...
Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...
Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...Amazon Web Services
 
Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...
Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...
Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...Amazon Web Services
 
Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...
Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...
Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...Amazon Web Services
 
Leveraging Cloud Analytics to Support Data-Driven Decisions
Leveraging Cloud Analytics to Support Data-Driven DecisionsLeveraging Cloud Analytics to Support Data-Driven Decisions
Leveraging Cloud Analytics to Support Data-Driven DecisionsAmazon Web Services
 

Similar to 4. the use of the ai technique of natural language processing for user story analysis and estimation simon wright (20)

Serverless Text Analytics with Amazon Comprehend
Serverless Text Analytics with Amazon ComprehendServerless Text Analytics with Amazon Comprehend
Serverless Text Analytics with Amazon Comprehend
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
 
Analytics and Data as a Keystone Technology for Translation Companies, Doron ...
Analytics and Data as a Keystone Technology for Translation Companies, Doron ...Analytics and Data as a Keystone Technology for Translation Companies, Doron ...
Analytics and Data as a Keystone Technology for Translation Companies, Doron ...
 
Build up and tune PC website(prototype)
Build up and tune PC website(prototype)Build up and tune PC website(prototype)
Build up and tune PC website(prototype)
 
Mike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdf
Mike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdfMike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdf
Mike Gillespie - Build Intelligent Applications with AWS ML Services (200).pdf
 
Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...
Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...
Training Chatbots and Conversational Artificial Intelligence Agents with Amaz...
 
AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018
AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018
AWS의 새로운 언어, 음성, 텍스트 처리 인공지능 서비스::Vikram Anbazhagan::AWS Summit Seoul 2018
 
AI Today
AI TodayAI Today
AI Today
 
Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...
Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...
Searching Your Data with Amazon Elasticsearch Service (ANT384) - AWS re:Inven...
 
One Stop Recommendation
One Stop RecommendationOne Stop Recommendation
One Stop Recommendation
 
One Stop Recommendation
One Stop RecommendationOne Stop Recommendation
One Stop Recommendation
 
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET-  	  Hosting NLP based Chatbot on AWS Cloud using DockerIRJET-  	  Hosting NLP based Chatbot on AWS Cloud using Docker
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
 
AI / ML Services - re:Invent Comes to London 2.0
AI / ML Services - re:Invent Comes to London 2.0AI / ML Services - re:Invent Comes to London 2.0
AI / ML Services - re:Invent Comes to London 2.0
 
BDA302 Building Intelligent Apps with AWS Machine Learning Language Services
BDA302 Building Intelligent Apps with AWS Machine Learning Language ServicesBDA302 Building Intelligent Apps with AWS Machine Learning Language Services
BDA302 Building Intelligent Apps with AWS Machine Learning Language Services
 
NetBase API Presentation
NetBase API PresentationNetBase API Presentation
NetBase API Presentation
 
An Overview of Machine Learning on AWS
An Overview of Machine Learning on AWSAn Overview of Machine Learning on AWS
An Overview of Machine Learning on AWS
 
Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...
Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...
Search Your DynamoDB Data with Amazon Elasticsearch Service (ANT302) - AWS re...
 
Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...
Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...
Capture Voice of Customer Insights with NLP & Analytics (AIM415-R1) - AWS re:...
 
Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...
Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...
Build an Intelligent Multi-Modal User Agent with Voice and NLU (AIM340) - AWS...
 
Leveraging Cloud Analytics to Support Data-Driven Decisions
Leveraging Cloud Analytics to Support Data-Driven DecisionsLeveraging Cloud Analytics to Support Data-Driven Decisions
Leveraging Cloud Analytics to Support Data-Driven Decisions
 

More from Nesma

2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdfNesma
 
Agile Team Performance Measurement webinar
Agile Team Performance Measurement webinarAgile Team Performance Measurement webinar
Agile Team Performance Measurement webinarNesma
 
Software Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfSoftware Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfNesma
 
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma
 
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma
 
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma
 
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryAutomotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryNesma
 
The COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinThe COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinNesma
 
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarSuccesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarNesma
 
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos VeefkindNesma
 
CEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesCEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesNesma
 
Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Nesma
 
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Nesma
 
Project Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieProject Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieNesma
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepuntenNesma
 
Agile teams get a grip - martijn groenewegen
Agile teams   get a grip - martijn groenewegenAgile teams   get a grip - martijn groenewegen
Agile teams get a grip - martijn groenewegenNesma
 
The fact that your poject is agile is not (necessarily) a cost driver arlen...
The fact that your poject is agile is not (necessarily) a cost driver   arlen...The fact that your poject is agile is not (necessarily) a cost driver   arlen...
The fact that your poject is agile is not (necessarily) a cost driver arlen...Nesma
 
Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Nesma
 
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...Nesma
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersNesma
 

More from Nesma (20)

2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf2024-04 - Nesma webinar - Benchmarking.pdf
2024-04 - Nesma webinar - Benchmarking.pdf
 
Agile Team Performance Measurement webinar
Agile Team Performance Measurement webinarAgile Team Performance Measurement webinar
Agile Team Performance Measurement webinar
 
Software Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdfSoftware Cost Estimation webinar January 2024.pdf
Software Cost Estimation webinar January 2024.pdf
 
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...Nesma event June '23 - How to use objective metrics as a basis for agile cost...
Nesma event June '23 - How to use objective metrics as a basis for agile cost...
 
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdfNesma event June '23 - NEN Practice Guideline - NPR.pdf
Nesma event June '23 - NEN Practice Guideline - NPR.pdf
 
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdfNesma event June '23 - Easy Function Sizing - Introduction.pdf
Nesma event June '23 - Easy Function Sizing - Introduction.pdf
 
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel MaryAutomotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
Automotive Software Cost Estimation - The UCE Approach - Emmanuel Mary
 
The COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul HusseinThe COSMIC battle between David and Goliath - Paul Hussein
The COSMIC battle between David and Goliath - Paul Hussein
 
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarSuccesful Estimating - It's how you tell the story - Amritpal Singh Agar
Succesful Estimating - It's how you tell the story - Amritpal Singh Agar
 
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
(Increasing) Predictability of large Government ICT Projects - Koos Veefkind
 
CEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan JonesCEBoK for Software Past Present Future - Megan Jones
CEBoK for Software Past Present Future - Megan Jones
 
Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...Agile Development and Agile Cost Estimation - A return to basic principles - ...
Agile Development and Agile Cost Estimation - A return to basic principles - ...
 
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...
 
Project Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop SchefferlieProject Succes is a Choice - Joop Schefferlie
Project Succes is a Choice - Joop Schefferlie
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepunten
 
Agile teams get a grip - martijn groenewegen
Agile teams   get a grip - martijn groenewegenAgile teams   get a grip - martijn groenewegen
Agile teams get a grip - martijn groenewegen
 
The fact that your poject is agile is not (necessarily) a cost driver arlen...
The fact that your poject is agile is not (necessarily) a cost driver   arlen...The fact that your poject is agile is not (necessarily) a cost driver   arlen...
The fact that your poject is agile is not (necessarily) a cost driver arlen...
 
Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...Software sizing as an essential measure past present and future - Dan Galorat...
Software sizing as an essential measure past present and future - Dan Galorat...
 
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
A benchmark based approach to determine language verbosity - Hans Kuijpers - ...
 
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol DekkersSoftware sizing the cornerstone for iceaa's scebok - Carol Dekkers
Software sizing the cornerstone for iceaa's scebok - Carol Dekkers
 

Recently uploaded

dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 

Recently uploaded (20)

dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 

4. the use of the ai technique of natural language processing for user story analysis and estimation simon wright

  • 2. An Agile Functional Size Estimate should be: precise, accurate and repeatable  Agile Estimate Precision is a function of User Story completeness  If a user story is missed, then the estimate is imprecise  Agile Estimate Accuracy is a function of User Story correctness  If a user story is incorrectly expressed, then the estimate is inaccurate  Agile Estimate Repeatability is a function of User Story consistency  If a user story uses terms inconsistently then different estimators are likely to use different interpretations and thereby produce different estimates. Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 3. NLP Analysis for User Stories  A Correct user story  A Complete sets of user stories  A Consistent set of user stories Text analysis Syntax analysis Semantic analysis Incompleteness by comparison - CRUDL Incompleteness between High level -Low level US Duplicated/ Redundant User Stories Inconsistent Terms/Units Inconsistent Properties. Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 4. 1. It will implement the same set of functions as its predecessor 2. Relevant sets of project data will be sorted as quickly as possible 3. Appropriate standards shall be used when necessary 4. Careful consideration should be given to using a high- bandwidth channel 5. Windows 10 shall be installed on all PCs  Badly phrased User Needs often contain key indicators such as specific words, constructs or phrases  It is not difficult to define a set of terms to avoid. Copyright © 2017-2018 Symtech Ltd, All rights reserved. We all can spot “poor” statements of user need
  • 5. 1. It will implement the same set of functions as its predecessor 2. Relevant sets of project data will be sorted as quickly as possible 3. Appropriate standards shall be used when necessary 4. Careful consideration should be given to using a high- bandwidth channel 5. Windows 10 shall be installed on all PCs  5 words to change  6 words to change  3 words to change  4 words to change  1 word to change. Copyright © 2017-2018 Symtech Ltd, All rights reserved. We all can spot “poor” statements of user need
  • 6. Text Analysis Metric  Definition:  TA Correctness Metric = the number of times a word or phrase occurs in the “avoid” list  Definition:  Quality Level Low = Quality Score more than or equal to 5  Quality Level Medium = Quality Score more than 1 and less than 5  Quality Level High = Quality Score more than 0 and less than 1 1. It will implement the same set of functions as its predecessor 2. Relevant sets of project data will be sorted as quickly as possible 3. Appropriate standards shall be used when necessary 4. Careful consideration should be given to using a high-bandwidth channel 5. Windows 10 shall be installed on all PCs TA C Metric Q. Level 5 Low 6 Low 3 Medium 4 Medium 1 Medium Total 19 Av. 3.8 The next step is syntax. Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 7. The syntax of effective User Stories THE ACTOR IMPERATIVE AN ACTION AN OBJECT and/or CONDITION As a US Author I want to maintain User Stories As a Product Owner I need to list User Stories alphabetically <ACTOR> <ACTION> <OBJECT> and <TARGET> <PERFORMANCE> <TRIGGER> <CONSTRAINT> <RATIONALE>* *Writing Effective Natural Language Requirements Specifications by William M. Wilson The Journal of Defense Software Engineering February 1999 Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 8. Effective User Stories follow a syntax  As a [Actor – who/what does the action]  I want to [Action – what happens e.g. store, update, send data]  for [Direct Object – what is acted upon]  the [Indirect Object – what is acted upon]  on the [Target – where the output is sent]  with [Performance - frequency and/or quality characteristic]  when [Trigger – causes of action]  unless / even if [Constraint – business rule or limiting factor]  So that [Rationale - description of value or benefit is achieved] There are other User Story syntaxes but a uniform syntax of user story expression increases clarity, consistency and completeness. Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 9. Example User Story As a library_user I want to search for books in the library catalogue on the computer screen with speed and ease-of-use when I provide a book title even if the book title is incomplete so that I can find all books with similar titles <ACTOR><ACTION><OBJECT(s)> // <TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE> <TRIGGER><ACTOR><ACTION><OBJECT><TARGET> <CONSTRAINT> I provide a book title and I begin a search for books in the library catalogue on the computer screen even if the book title is incomplete. Example Use Case Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 10. Syntax Analysis of a good User Story  As a library user I want to search for books  on the computer screen  with speed and ease-of-use  when I provide a book title  even if the book title is incomplete  so that I can find all books with similar titles <ACTOR><ACTION><OBJECT(s)> // <TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE> What When & how Why Copyright © 2017-2018 Symtech Ltd, All rights reserved. The next step is semantics.
  • 11. Semantic Analysis of 3 words The three words ‘book’, ‘library’ and ‘a’ can be ordered in six ways Only three are syntactically correct “A library book” “A book library” “Book a library” An object A descriptor An action. Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 12. Measure: Book the book from the book library NLP: Correctness and Consistency Metric Phrase Syntactically Correct? Semantically Consistent? Total “A library book” “A book library” “Book a library” 0 0 0 0 1 1 0 1 1 “Library a book” “Library book a” “book Library a” 1 1 1 0 0 1 1 1 2 Book the book from the book library 0 2 2 Reserve the book from the document library 0 0 0 Copyright © 2017-2018 Symtech Ltd, All rights reserved. How does this apply to: “Agile Deliveries; #Estimates or #NoEstimates? That is the question”.
  • 13. What if Estimation is easy, valid, (precise, accurate and repeatable), so maybe it’s worth a try? Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 14. A Strategy for NLP of User Stories  NLP Analysis to identify Users in the User Stories  NLP Analysis to identify Entities in the User Stories  NLP Analysis to identify Transactions in the User Stories  Correctness analysis to identify incorrectly expressed user stories  Completeness analysis to identify incomplete epics  Consistency analysis to identify inconsistent terms in an epic  Functional size can be estimated as a by product. Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 15. NLP Analysis to identify Users  Users come in many shapes and sizes  Normal Operator  Maintenance Operator  Operational Support  Interfacing System / API  Clock  Other Software etc Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 16. NLP Analysis to identify Users  As a library user I want to search for books  on the computer screen  with speed and ease-of-use  when I provide a book title  even if the book title is incomplete  so that I can find all books with similar titles Subject <ACTOR><ACTION><OBJECT(s)> // <TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE> What When & how Why Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 17. NLP Analysis to identify Transactions Process User(s) Humans Other Systems Other Software DATA DATA Storage Transactional / Functional Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 18. NLP Analysis to identify Transactions Catalogue SEARCH TERM DATAMATCHING DATA Search Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 19. NLP Analysis to identify Transactions  As a library user I want to search for a book  on the computer screen  with speed and ease-of-use  when I provide a book title  even if the book title is incomplete  so that I can find all books with similar titles Verb <ACTOR><ACTION><OBJECT(s)> // <TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE> What When & how Why Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 20. NLP Analysis to identify Entities Book Catalogue BOOK SEARCH TERM BOOK DATAMATCHING BOOK DATA Search Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 21. NLP Analysis to identify Entities  As a library user I want to search for a book  on the computer screen  with speed and ease-of-use  when I provide a book title  even if the book title is incomplete  so that I can find all books with similar titles Object <ACTOR><ACTION><OBJECT(s)> // <TARGET><PERFORMANCE><TRIGGER><CONSTRAINT><RATIONALE> What When & how Why Copyright © 2017-2018 Symtech Ltd, All rights reserved. VerbSubject
  • 22. An automatable process  NLP Analysis to identify the Users in the User Stories  NLP Analysis to identify the Transactions in the User Stories  NLP Analysis to identify the Entities in the User Stories  Correctness analysis to identify incorrectly expressed user stories  Completeness analysis to identify incomplete epics  Consistency analysis to identify inconsistent terms in user stories Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 23. An automatable process  NLP Analysis to identify the Subjects in the User Stories  NLP Analysis to identify the Verbs in the User Stories  NLP Analysis to identify the Objects in the User Stories  Correctness analysis to identify incorrectly expressed user stories?  Completeness analysis to identify incomplete epics?  Consistency analysis to identify inconsistent terms in user stories? Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 24. Correctness analysis  Has every User Story at least  one User, (subject)?  one Transaction, (verb)? and  one Entity, (object)? Consistency analysis  Have Users been named consistently?  Have Transactions been named consistently?  Have Entities been named consistently? Completeness analysis  Has every Users been the subject of a user story?  Does every Entity have a “create” verb in a user story?  Does every Entity have a “read” verb in a user story?  Does every Entity have a “update” verb in a user story?  Does every Entity have a “delete” verb in a user story? Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 25. NLP Analysis of our User Story  As a library user I want to search for a book  on the computer screen  with speed and ease-of-use  when I provide a book title  even if the book title is incomplete  so that I can find all books with similar titles Subject Verb Object What When & how Why Primary Intent Essential Details } Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 26. Automatic NLP Analysis of our User Story Subject Verb Object Primary Intent Essential Details } Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 27. Automatic NLP Analysis of our User Story Users and Objects found by Scopemaster Candidate Users and Objects found by NLP Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 28. Automatic NLP Analysis of our User Story Data Movements found by NLP Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 29. Automatic NLP Analysis of our User Story Potential Defects Copyright © 2017-2018 Symtech Ltd, All rights reserved. But what have we missed? Correct and Consistent Yes But incomplete!
  • 30. But what about an epic?  Here is an example of an epic from the internet  How long would it take to make a precise, accurate and repeatable functional size estimate?  This is how long it took me … Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 31. Scrum Alliance Web Site Profiles v1  Upload of 14 User Stories – 15 minutes  NLP analysis of original stories – 5 seconds  Summary Result Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 32. Scrum Alliance Web Site Profiles v1  Specific Result – 8th User Story  Need to separate primary intent from the essential details – v2 Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 33. Scrum Alliance Web Site Profiles v2  Split the PI from ED of 14 User Stories – 10 minutes  NLP re-analysis of user stories – 5 seconds  Summary Result Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 34. Scrum Alliance Web Site Profiles Version 1 Version 2 Primary Intent Essential Details } } Copyright © 2017-2018 Symtech Ltd, All rights reserved. But what about the un-estimated ones?
  • 35. Scrum Alliance Web Site Profiles Version 2 Copyright © 2017-2018 Symtech Ltd, All rights reserved. Primary Intent Essential Details } } But what about the un-estimated ones – reword?
  • 36. Scrum Alliance Web Site Profiles v3  Reword 6 User Stories – 12 minutes  NLP re-analysis of user stories – 5 seconds  Summary Result Copyright © 2017-2018 Symtech Ltd, All rights reserved.
  • 37. Scrum Alliance Web Site Profiles v3 Primary Intent Essential Details } }
  • 38. But what have I missed?
  • 39. But what have I missed?  These may be covered in one of the other epics – but they may not  There were 5 more pages of User Stories – probably containing 14 US per page – 70 US total?  So how long to do a full analysis?
  • 40. Results and Summary  v1 took 15 mins 5 sec  v2 took 10 mins 5 sec  v3 took 12 mins 5 sec  Total 37 mins 15 sec for 14 User Stories  So maybe 3.5 hours for 70 User Stories  Precise - all User Stories sized ✓  Accurate - same size for same function ✓  Repeatable – not tested but probably ✓  14 Correct and Consistent User Stories in 37 min  But not Complete.  About 3.5 hours to estimate
  • 41. What if Estimation is easy, valid, (precise, accurate and repeatable), so maybe it’s worth 3.5 hours of your time? Copyright © 2017-2018 Symtech Ltd, All rights reserved.