SlideShare a Scribd company logo
Behavior-Driven Development
As a Developer
I want clear requirements
So I can build the right stuff

Andreas Enbohm
@enbohm
(screenshot from http://www.thucydides.info/ and http://www.wakaleo.com/ )
Succesful IT-Projects

1. Build the software right

2. Build the right software
Succesful IT-Projects
State of Succesful IT-Projects
The 2011 edition of Standish Group’s annual CHAOS Report
found that 42% of IT projects were either delivered late, ran
over budget, or failed to deliver all of the requested features,
and 21% of projects were cancelled entirely.
State of Succesful IT-Projects
Scott Ambler’s annual survey on IT Project success rates
found a 30%-50% failure rate depending on the
methodologies used.
Used Functionality
The Consequences of Not Building It Right
In December 2007, the Queensland Health department* kicked off work on a new payroll system
for its 85,000 employees. The initial budget for the project was around $6 million, with a delivery
date scheduled for August 2008. When the solution was rolled out in 2010, some 18 months late, it
was a disaster.
Tens of thousands of public servants were underpaid, overpaid, or even not paid at all.
Since the go-live date, over 1000 payroll staff are required to carry out some 200,000
manual processes each fortnight to ensure that staff salaries are paid. In 2012, an
independent review found that the project had cost the state over $416 million since going
into production, and would cost an additional $837 million dollars to fix. This colossal sum
included $220 million just to fix the immediate software issues that were preventing the
system from delivering its core capability of paying Queensland Health staff what they are
owed each month.

* see http://en.wikipedia.org/wiki/Queensland_Health#Payroll_problems
The Consequences of Not Building It Right

Product
nobody
wants, wrong
built.
BDD
Behavior-driven development combines
techniques and principles of TDD with ideas
from domain-driven design and object-oriented
analysis and design, with the aim of delivering
"software that matters".
Benefits
•
•
•
•
•
•

Only build feature that add real value
Less waste (and hence, reduced cost)
Better communication
Higher quality, better tested product
Traceability, ’Live Documentation’
Enables a way to automatic test the
requirements
BDD
• BDD describes TDD done well
- removes word ’test’
- replace it with behaviour, examples,
scenarios etc.
• Good habits;
1. Working outside-in
2. Using examples to clarify requirements
(scenarios)
3. Using a common (ubiquitous) language
BDD – Value Driven
• A good goal should add value to business
- increase revenue
- reduce cost
- avoid future cost
- protect revenue
”Increase revenue by allowing
customers to…”
”Prevent current customers
switching to competing product
by …”
BDD – What Does the Customer Need?
• Good teams push back!
- users tend to express requirements as implementations
- we need to find the business need!
We need caching

So that the page
loads fast

So that the
customer will buy
stuff on our site and
doesn’t leave page

Why?

Why?

Ok, so to increase the chance a customer
will buy [stuff] it need to be ’fast’. Caching
might be one way to achive this, but
compressing images might be more
effective. Or another way might be loaders,
or ..
BDD – Better understanding
• Working outside-in
- if you need to explain to a computer how to check the
requirement, you’ll need to be damn sure understand it
yourself
• Business black-box testing is often done manually!
- BDD enables automated acceptance testing
• Mininum effort /code to fulfull requirement
BDD – Common Language
• Common Language
- communication often the biggest overhead
- even bigger if you allow different dialects of terminology
- takes time but gains significant advantage
BDD
User Stories
“a concise, written description of a piece of
functionality that will be valuable to a user (or
owner) of the software. It captures the 'who',
'what' and 'why' of a requirement in a simple,
concise way.”
User Stories
Story: Returns go to stock

Goal come first

Narrative:
In order to keep track of stock
As a store owner
I want to add items back to stock when they're returned

Stakeholder is
secondary

The feature must be
required to achieve this
goal
Scenarios
• The ’perfect’ bridge between the businessfacing and technology-facing sides of a team
Common language which is
reflected all way down in the
code

Scenario 1: Refunded items should be returned to stock
Given a customer previously bought a black sweater from me
And I currently have three black sweaters left in stock
When he returns the sweater for a refund
Then I should have four black sweaters in stock
Why User Stories?
"Maybe it is easier to get users to write down what
they need on a card in a few paragraphs than it is to get
them to see the difference between uses and extends"
- Anonymous
Implementation
http://www.thucydides.info/
http://www.thucydides.info/
Wrap-up
• Pros
- increases the quality of the product
- change with confidence
- live documention (great for maintenance)
- less waste, building ”software that matters”
• Cons
- high need of business engagemang (clear
requirements)
- BDD works best in Agile context
- easy to write fragile tests (high maintenence
cost)
Thank You!

More Related Content

What's hot

Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
Johannes Brodwall
 
Better Software Keynote The Complete Developer 07
Better Software Keynote  The Complete Developer 07Better Software Keynote  The Complete Developer 07
Better Software Keynote The Complete Developer 07
Enthiosys Inc
 
9 Proven-Strategies
9 Proven-Strategies9 Proven-Strategies
9 Proven-Strategies
Iron Mountain
 
BDD communication bridges - Expedia TED talk
BDD communication bridges - Expedia TED talkBDD communication bridges - Expedia TED talk
BDD communication bridges - Expedia TED talk
Aliaksandr Ikhelis
 
Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)
Drew Jemilo
 
Taking the Robot Out of the Human
Taking the Robot Out of the HumanTaking the Robot Out of the Human
Taking the Robot Out of the Human
IIBA UK Chapter
 
Job-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 ProcessJob-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 Process
PRADA Hsiung
 
Career Fit 2017
Career Fit 2017Career Fit 2017
Career Fit 2017
Stanford University
 
DDD eXchange
DDD eXchangeDDD eXchange
DDD eXchange
Skills Matter
 
Getting Comfortable with BDD
Getting Comfortable with BDDGetting Comfortable with BDD
Getting Comfortable with BDD
Alex Sharp
 

What's hot (10)

Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
 
Better Software Keynote The Complete Developer 07
Better Software Keynote  The Complete Developer 07Better Software Keynote  The Complete Developer 07
Better Software Keynote The Complete Developer 07
 
9 Proven-Strategies
9 Proven-Strategies9 Proven-Strategies
9 Proven-Strategies
 
BDD communication bridges - Expedia TED talk
BDD communication bridges - Expedia TED talkBDD communication bridges - Expedia TED talk
BDD communication bridges - Expedia TED talk
 
Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)
 
Taking the Robot Out of the Human
Taking the Robot Out of the HumanTaking the Robot Out of the Human
Taking the Robot Out of the Human
 
Job-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 ProcessJob-to-be-done theory to practice : Ch4 Process
Job-to-be-done theory to practice : Ch4 Process
 
Career Fit 2017
Career Fit 2017Career Fit 2017
Career Fit 2017
 
DDD eXchange
DDD eXchangeDDD eXchange
DDD eXchange
 
Getting Comfortable with BDD
Getting Comfortable with BDDGetting Comfortable with BDD
Getting Comfortable with BDD
 

Similar to BDD Short Introduction

ATD MD Healthcare and Public Health Talent Development Community of Practice ...
ATD MD Healthcare and Public Health Talent Development Community of Practice ...ATD MD Healthcare and Public Health Talent Development Community of Practice ...
ATD MD Healthcare and Public Health Talent Development Community of Practice ...
William Brantley, PhD, PMP
 
Targeted documentation
Targeted documentationTargeted documentation
Targeted documentation
Alyssa Fox
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
Bhawani N Prasad
 
Behaviour driven development aka bdd
Behaviour driven development aka bddBehaviour driven development aka bdd
Behaviour driven development aka bdd
Prince Gupta
 
BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...
BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...
BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...
Garth Knudson
 
IT Application Development - with SDLC.pptx
IT Application Development - with SDLC.pptxIT Application Development - with SDLC.pptx
IT Application Development - with SDLC.pptx
djualaja88
 
Improving Application Development Effectiveness
Improving Application Development Effectiveness Improving Application Development Effectiveness
Improving Application Development Effectiveness
Computer Aid, Inc
 
skEdit-marketing plan for new android app
skEdit-marketing plan for new android appskEdit-marketing plan for new android app
skEdit-marketing plan for new android app
harichandana kolagani
 
project (Salon Management).pptx
project (Salon Management).pptxproject (Salon Management).pptx
project (Salon Management).pptx
ssuserefca8b
 
LPCx Barcelona: How to use the design thinking methodology to revamp your API?
LPCx Barcelona: How to use the design thinking methodology to revamp your API?LPCx Barcelona: How to use the design thinking methodology to revamp your API?
LPCx Barcelona: How to use the design thinking methodology to revamp your API?
Thiga
 
ELEC2017 1.1 r. king - how lean and digital capability can work together
ELEC2017   1.1 r. king - how lean and digital capability can work together ELEC2017   1.1 r. king - how lean and digital capability can work together
ELEC2017 1.1 r. king - how lean and digital capability can work together
HAN Lean-QRM Centrum / HAN Lectoraat Lean
 
Resume _571966_Hrushikesh Deshpande
Resume _571966_Hrushikesh DeshpandeResume _571966_Hrushikesh Deshpande
Resume _571966_Hrushikesh Deshpande
hrushikesh deshpande
 
Agile Projects Estimation and Planning
Agile Projects Estimation and PlanningAgile Projects Estimation and Planning
Agile Projects Estimation and Planning
Return on Intelligence
 
REport Fle.pdf
REport Fle.pdfREport Fle.pdf
REport Fle.pdf
TarunPreet4
 
CHAPTER 3PROJECT MANAGEMENTT.docx
CHAPTER 3PROJECT MANAGEMENTT.docxCHAPTER 3PROJECT MANAGEMENTT.docx
CHAPTER 3PROJECT MANAGEMENTT.docx
walterl4
 
Sasikumar Selvaraj CV- Mainframe
Sasikumar Selvaraj CV- MainframeSasikumar Selvaraj CV- Mainframe
Sasikumar Selvaraj CV- Mainframe
sasikumar s
 
Borys Pratsiuk "How to be NVidia partner"
Borys Pratsiuk "How to be NVidia partner"Borys Pratsiuk "How to be NVidia partner"
Borys Pratsiuk "How to be NVidia partner"
Lviv Startup Club
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
André Agostinho
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Chef
 
Arvind Pal_Resume
Arvind Pal_ResumeArvind Pal_Resume
Arvind Pal_Resume
Arvind Pal
 

Similar to BDD Short Introduction (20)

ATD MD Healthcare and Public Health Talent Development Community of Practice ...
ATD MD Healthcare and Public Health Talent Development Community of Practice ...ATD MD Healthcare and Public Health Talent Development Community of Practice ...
ATD MD Healthcare and Public Health Talent Development Community of Practice ...
 
Targeted documentation
Targeted documentationTargeted documentation
Targeted documentation
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
 
Behaviour driven development aka bdd
Behaviour driven development aka bddBehaviour driven development aka bdd
Behaviour driven development aka bdd
 
BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...
BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...
BizFlow - BPM at Jardine Lloyd Thompson for Sales, Document Handling, Custome...
 
IT Application Development - with SDLC.pptx
IT Application Development - with SDLC.pptxIT Application Development - with SDLC.pptx
IT Application Development - with SDLC.pptx
 
Improving Application Development Effectiveness
Improving Application Development Effectiveness Improving Application Development Effectiveness
Improving Application Development Effectiveness
 
skEdit-marketing plan for new android app
skEdit-marketing plan for new android appskEdit-marketing plan for new android app
skEdit-marketing plan for new android app
 
project (Salon Management).pptx
project (Salon Management).pptxproject (Salon Management).pptx
project (Salon Management).pptx
 
LPCx Barcelona: How to use the design thinking methodology to revamp your API?
LPCx Barcelona: How to use the design thinking methodology to revamp your API?LPCx Barcelona: How to use the design thinking methodology to revamp your API?
LPCx Barcelona: How to use the design thinking methodology to revamp your API?
 
ELEC2017 1.1 r. king - how lean and digital capability can work together
ELEC2017   1.1 r. king - how lean and digital capability can work together ELEC2017   1.1 r. king - how lean and digital capability can work together
ELEC2017 1.1 r. king - how lean and digital capability can work together
 
Resume _571966_Hrushikesh Deshpande
Resume _571966_Hrushikesh DeshpandeResume _571966_Hrushikesh Deshpande
Resume _571966_Hrushikesh Deshpande
 
Agile Projects Estimation and Planning
Agile Projects Estimation and PlanningAgile Projects Estimation and Planning
Agile Projects Estimation and Planning
 
REport Fle.pdf
REport Fle.pdfREport Fle.pdf
REport Fle.pdf
 
CHAPTER 3PROJECT MANAGEMENTT.docx
CHAPTER 3PROJECT MANAGEMENTT.docxCHAPTER 3PROJECT MANAGEMENTT.docx
CHAPTER 3PROJECT MANAGEMENTT.docx
 
Sasikumar Selvaraj CV- Mainframe
Sasikumar Selvaraj CV- MainframeSasikumar Selvaraj CV- Mainframe
Sasikumar Selvaraj CV- Mainframe
 
Borys Pratsiuk "How to be NVidia partner"
Borys Pratsiuk "How to be NVidia partner"Borys Pratsiuk "How to be NVidia partner"
Borys Pratsiuk "How to be NVidia partner"
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
 
Arvind Pal_Resume
Arvind Pal_ResumeArvind Pal_Resume
Arvind Pal_Resume
 

More from Andreas Enbohm

Hybrid Applications
Hybrid ApplicationsHybrid Applications
Hybrid Applications
Andreas Enbohm
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanship
Andreas Enbohm
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design Principles
Andreas Enbohm
 
Java7 - Top 10 Features
Java7 - Top 10 FeaturesJava7 - Top 10 Features
Java7 - Top 10 Features
Andreas Enbohm
 
Java Extension Methods
Java Extension MethodsJava Extension Methods
Java Extension Methods
Andreas Enbohm
 
Scala
ScalaScala
Project Lambda - Closures after all?
Project Lambda - Closures after all?Project Lambda - Closures after all?
Project Lambda - Closures after all?
Andreas Enbohm
 
Fest
FestFest

More from Andreas Enbohm (8)

Hybrid Applications
Hybrid ApplicationsHybrid Applications
Hybrid Applications
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanship
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design Principles
 
Java7 - Top 10 Features
Java7 - Top 10 FeaturesJava7 - Top 10 Features
Java7 - Top 10 Features
 
Java Extension Methods
Java Extension MethodsJava Extension Methods
Java Extension Methods
 
Scala
ScalaScala
Scala
 
Project Lambda - Closures after all?
Project Lambda - Closures after all?Project Lambda - Closures after all?
Project Lambda - Closures after all?
 
Fest
FestFest
Fest
 

Recently uploaded

Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 

Recently uploaded (20)

Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 

BDD Short Introduction

  • 1. Behavior-Driven Development As a Developer I want clear requirements So I can build the right stuff Andreas Enbohm @enbohm (screenshot from http://www.thucydides.info/ and http://www.wakaleo.com/ )
  • 2. Succesful IT-Projects 1. Build the software right 2. Build the right software
  • 4. State of Succesful IT-Projects The 2011 edition of Standish Group’s annual CHAOS Report found that 42% of IT projects were either delivered late, ran over budget, or failed to deliver all of the requested features, and 21% of projects were cancelled entirely.
  • 5. State of Succesful IT-Projects Scott Ambler’s annual survey on IT Project success rates found a 30%-50% failure rate depending on the methodologies used.
  • 7. The Consequences of Not Building It Right In December 2007, the Queensland Health department* kicked off work on a new payroll system for its 85,000 employees. The initial budget for the project was around $6 million, with a delivery date scheduled for August 2008. When the solution was rolled out in 2010, some 18 months late, it was a disaster. Tens of thousands of public servants were underpaid, overpaid, or even not paid at all. Since the go-live date, over 1000 payroll staff are required to carry out some 200,000 manual processes each fortnight to ensure that staff salaries are paid. In 2012, an independent review found that the project had cost the state over $416 million since going into production, and would cost an additional $837 million dollars to fix. This colossal sum included $220 million just to fix the immediate software issues that were preventing the system from delivering its core capability of paying Queensland Health staff what they are owed each month. * see http://en.wikipedia.org/wiki/Queensland_Health#Payroll_problems
  • 8. The Consequences of Not Building It Right Product nobody wants, wrong built.
  • 9. BDD Behavior-driven development combines techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design, with the aim of delivering "software that matters".
  • 10. Benefits • • • • • • Only build feature that add real value Less waste (and hence, reduced cost) Better communication Higher quality, better tested product Traceability, ’Live Documentation’ Enables a way to automatic test the requirements
  • 11. BDD • BDD describes TDD done well - removes word ’test’ - replace it with behaviour, examples, scenarios etc. • Good habits; 1. Working outside-in 2. Using examples to clarify requirements (scenarios) 3. Using a common (ubiquitous) language
  • 12. BDD – Value Driven • A good goal should add value to business - increase revenue - reduce cost - avoid future cost - protect revenue ”Increase revenue by allowing customers to…” ”Prevent current customers switching to competing product by …”
  • 13. BDD – What Does the Customer Need? • Good teams push back! - users tend to express requirements as implementations - we need to find the business need! We need caching So that the page loads fast So that the customer will buy stuff on our site and doesn’t leave page Why? Why? Ok, so to increase the chance a customer will buy [stuff] it need to be ’fast’. Caching might be one way to achive this, but compressing images might be more effective. Or another way might be loaders, or ..
  • 14. BDD – Better understanding • Working outside-in - if you need to explain to a computer how to check the requirement, you’ll need to be damn sure understand it yourself • Business black-box testing is often done manually! - BDD enables automated acceptance testing • Mininum effort /code to fulfull requirement
  • 15. BDD – Common Language • Common Language - communication often the biggest overhead - even bigger if you allow different dialects of terminology - takes time but gains significant advantage
  • 16. BDD
  • 17. User Stories “a concise, written description of a piece of functionality that will be valuable to a user (or owner) of the software. It captures the 'who', 'what' and 'why' of a requirement in a simple, concise way.”
  • 18. User Stories Story: Returns go to stock Goal come first Narrative: In order to keep track of stock As a store owner I want to add items back to stock when they're returned Stakeholder is secondary The feature must be required to achieve this goal
  • 19. Scenarios • The ’perfect’ bridge between the businessfacing and technology-facing sides of a team Common language which is reflected all way down in the code Scenario 1: Refunded items should be returned to stock Given a customer previously bought a black sweater from me And I currently have three black sweaters left in stock When he returns the sweater for a refund Then I should have four black sweaters in stock
  • 20. Why User Stories? "Maybe it is easier to get users to write down what they need on a card in a few paragraphs than it is to get them to see the difference between uses and extends" - Anonymous
  • 24. Wrap-up • Pros - increases the quality of the product - change with confidence - live documention (great for maintenance) - less waste, building ”software that matters” • Cons - high need of business engagemang (clear requirements) - BDD works best in Agile context - easy to write fragile tests (high maintenence cost)