SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
AW9	
Concurrent	Session	
11/8/17	2:45	PM	
	
	
	
They	Said,	We	Said:	Bridge	the	
Communication	Gap	with	Behavior-
Driven	Development	
	
Presented	by:	
	
Sheetal	Patel	
The	Vanguard	Group	
	
	
Brought	to	you	by:		
		
	
	
	
	
350	Corporate	Way,	Suite	400,	Orange	Park,	FL	32073		
888---268---8770	··	904---278---0524	-	info@techwell.com	-	https://www.techwell.com/
Sheetal	Patel	
The	Vanguard	Group	
	
A	program	manager	at	the	Vanguard	Group,	Sheetal	Patel	leads	a	
transformational	change	to	modernize	how	they	develop	and	test	software	to	
enable	continuous	delivery.	Sheetal's	team	is	responsible	for	bringing	
contemporary	software	testing	practices	to	a	development	staff	of	more	than	
1,000	IT	professionals.	Her	team's	mission	is	to	be	the	leaders,	experts,	and	
innovators	who	partner	with	IT	teams	to	accelerate	and	enable	teams	to	adopt,	
apply,	and	realize	a	shift	left	testing	process	with	its	benefits.	Sheetal	has	held	
various	IT	roles	of	web	designer,	information	architect,	business	analyst,	
developer,	QA	manager,	ScrumMaster,	and	release	coordinator.
They Said, We Said:
Bridge the Communication Gap with
Behavior-Driven Development
TechWell DevOps East
November 2017
Sheetal Patel
sheetal-patel
@sheetalBAPS
About Vanguard
Vanguard’s core
purpose:
To take a stand for all
investors,
to treat them fairly,
and to give them the best
chance for investment
success.
Vanguard key facts
Founded May 1, 1975
Assets under
management
$4.4 trillion global assets under management
Number of funds 175 funds in the U.S. and 144 funds in markets outside
of the U.S.
Number of clients More than 20 million investors worldwide
Number of crew More than 14,000 crew worldwide
Number of IT crew Over 2,500
About Vanguard
A Virtual Company
– 370K log on per day
– 10 million phone calls
– 1.4 million e-mails
– 30-60K transactions per day
IT Teams
2000+ IT Professionals
200+ IT Agile Teams
About Me
IT Program Manager
“Shift Left”
B.S Computer Science
Held various roles in IT: Designer, Developer,
Scrum Master, Test Manager, Transformational
Program Manager
Leading team of Automation Engineer and
Developer to transform how we develop and
test software.
Advocate of Shift Left and Continuous Testing;
Empower teams to experiment
Software Features
Why 64% of feature
rarely or never used
• Miscommunication
• Late Feedback
Causes of Miscommunications
• Misaligned Vocabularies
• Messy Thinking
• Faulty Definitions
• Government Speak and Legalese
Source: http://www.moneycrashers.com/causes-miscommunication-use-plain-language/
Traditional Method
Business Analyst gathers requirements and
documents it for each agile story
• Developers, testers, and the Business all come up
with different test scenarios
• The developer interprets the requirements
differently than the Business
• Story completion isn't clearly defined
No Common Understanding
Behavior Driven Development (BDD)
A framework to understand each
other “ubiquitous language”
Use English like sentence to express
behavior and outcomes of a system
Outside in Development
Cucumber is a Collaboration Tool
(Not an automation tool)
Business
Business Analyst, Product Owner
Development
Developer, Tech Lead
Testing
Tester, Automation Engineer
Collaboration Session – When?
Depends on the team
• Timebox the session
• Be consistent
• Do not start coding until collaboration session
Every day after scrum for 30 min
2 to 3 times a week for 45 min
Impromptu
• Whenever stories are ready to be picked up
How BDD Fits into Agile
BIG
idea
PO BSA PM
stories rules
FEATURES
EXAMPLE MAPPING
Rule Rule Rule
example example example
example example
?
?
?
StoryQuestions
Feature File
Given
When
Then
SCRUM
BSA
DEV
SAT
3 Amigos
Concrete
Examples
PO
BSA
PM
DEV TEST TL
Prod Ready
25 minutes
Scale it Enterprise Wide
Our Agile Journey
~2015
~2015 - present
~2015 - present
~ 2008
Product
Centered
Waterfall to Agile
Team Org
Changes Shifting Left
CI/CD, Products, LEAN
Traditional Requirements
Practice
Single Source of Truth – Hard pill to swallow
• Pride in documentation
• “This is how we have been doing for years”
• Financial Regulatory Industry
• Skill evolution
• Shift Left is about Testing not requirements
Common Resistance
• Collaboration is painful, takes too long
• Team member want to know why am I here, I just want to code.
- Developers tend to be introvert
• Want to use team members time effectively
• Team needs more desk time
• There are already too many meetings
Bottom Up
Top Down
Agile Teams
Enterprise Support
Single Source of Truth – Key to CD
CI-CD Pipeline
Lessons Learned
Use Cucumber for everything
Feature File are too technical or not able to automate
Given, When, Then created without collaboration
Not re-using step definitions – repeating across feature files
Organization of Feature file
Too much business logic in one Feature file
Not using Tags to drive automation runs
Common Pitfalls
Feature File Tips and Best Practices
• Feature Files should reflect “What” the system does not “How”
• Avoid Inconsistencies with Domain Language
• Use Tags
• Make Scenarios Independent and Deterministic
• Be DRY ( reuse step defs)
• Single When
• Use “Should” in the Then step
• Max 5 steps per scenario
• Write Given in past tense
Business vs Technical Requirements
Cucumber is not a silver bullet
• Conversation is more important than
the tool
Technical tests do not need to be
wrapped in cucumber
Program-level lessons learned
• Help individuals and teams be outcomes driven
• Change is evolution not revolution
• Need to repeat concepts as program - teams are at
different places
• Being “lean” to allow space to respond to needs has
helped us serve teams better
• At the end of the day we’re working with humans
26
References
• The world’s most misunderstood collaboration tool
• ATDD vs BDD … by Liz Keogh
• BDD By Example by Dan North
• Cucumber for Java Book
• The BDD Books Discovery Explore behavior using
examples by Gasper Nagy and Seb Rose
• Best Practice on Cucumber
Appendix: Example of Feature File
@AdHoc
Feature: Rule 100, 105, 1090, 111 Date Rules
Description: As an user, I select the review button and the date rules
run.
Scenario: Case 1 Rule100StartDateGreaterThanStopDate
Given Setup Withdrawal Plan
And current date of “10/16/2017”
And start date of “11/1/2017”
And stop date of “10/30/2017”
When Date rules are executed
Then the rule “100” fires and rule severity is “VALID”
@Business Capability
@IntegrationTest
Feature: Validate Rule 100 Start Date for setting up withdrawal plan.
Description: This feature is validating business rule for start date are
running and validating my entries for the withdrawal plan.
Business Rule: The Start Date cannot be after the Stop date for a
withdrawal plan.
Scenario: User is unable to setup withdrawal plan because start date is
after the stop date
Given User is setting up Withdrawal Plan
And current date is <current date>
And start date is <start date>
And stop date is <stop date>
When User reviews and validates the withdrawal plan setup
Then the rule “100” fires and rule severity is <severity>
Examples:
|current date | start date | stop date | severity |
|10/16/2017 | 11/1/2017| 10/30/2017| “ERROR” |
Appendix: Overall Process

Mais conteúdo relacionado

Mais procurados

Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Jon Terry
 
I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014
Andrew Shafer
 

Mais procurados (20)

The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)
 
DOES15 DevOps@TGT (re)building an engineering culture
DOES15 DevOps@TGT (re)building an engineering culture DOES15 DevOps@TGT (re)building an engineering culture
DOES15 DevOps@TGT (re)building an engineering culture
 
DevOps - A mindset change – Rami Farran
DevOps - A mindset change – Rami FarranDevOps - A mindset change – Rami Farran
DevOps - A mindset change – Rami Farran
 
Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...
 
Disciplined agile Delivery
Disciplined agile DeliveryDisciplined agile Delivery
Disciplined agile Delivery
 
DevOps Days Charlotte - The Rise of Culture
DevOps Days Charlotte - The Rise of CultureDevOps Days Charlotte - The Rise of Culture
DevOps Days Charlotte - The Rise of Culture
 
Itsm governance and infrastructure as code
Itsm governance and infrastructure as codeItsm governance and infrastructure as code
Itsm governance and infrastructure as code
 
Intro to Kanban - Heidi Araya
Intro to Kanban - Heidi ArayaIntro to Kanban - Heidi Araya
Intro to Kanban - Heidi Araya
 
Inspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
Inspiring Alignment and Autonomy - The Leaders Role in Scaling AgileInspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
Inspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
 
DevOps Picc12 Management Talk
DevOps Picc12 Management TalkDevOps Picc12 Management Talk
DevOps Picc12 Management Talk
 
Journey toagile published
Journey toagile publishedJourney toagile published
Journey toagile published
 
Intro to Scrum - Heidi Araya
Intro to Scrum  - Heidi ArayaIntro to Scrum  - Heidi Araya
Intro to Scrum - Heidi Araya
 
The Agile Manager Mindshift - Paul Ellarby
The Agile Manager Mindshift - Paul EllarbyThe Agile Manager Mindshift - Paul Ellarby
The Agile Manager Mindshift - Paul Ellarby
 
Agile Governance Workshop @Agile India 2012
Agile Governance Workshop @Agile India 2012Agile Governance Workshop @Agile India 2012
Agile Governance Workshop @Agile India 2012
 
Why #DevOps Transformation has to start with you
Why #DevOps Transformation has to start with youWhy #DevOps Transformation has to start with you
Why #DevOps Transformation has to start with you
 
Not afraid of the SAFe big bad wolf - Yuval Yeret
Not afraid of the SAFe big bad wolf - Yuval YeretNot afraid of the SAFe big bad wolf - Yuval Yeret
Not afraid of the SAFe big bad wolf - Yuval Yeret
 
Research on Impediments to Product Development Flow
Research on Impediments to Product Development FlowResearch on Impediments to Product Development Flow
Research on Impediments to Product Development Flow
 
Leading enterprise transformation lessons adopting agile in government
Leading enterprise transformation  lessons adopting agile in governmentLeading enterprise transformation  lessons adopting agile in government
Leading enterprise transformation lessons adopting agile in government
 
Today’s Agile Documentation
Today’s Agile DocumentationToday’s Agile Documentation
Today’s Agile Documentation
 
I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014
 

Semelhante a They Said, We Said: Bridge the Communication Gap with Behavior-Driven Development

Agile Implementations - Tim FitzGerald - US Assure
Agile Implementations - Tim FitzGerald - US AssureAgile Implementations - Tim FitzGerald - US Assure
Agile Implementations - Tim FitzGerald - US Assure
JAX Chamber IT Council
 

Semelhante a They Said, We Said: Bridge the Communication Gap with Behavior-Driven Development (20)

Data Governance in an Agile SCRUM Lean MVP World
Data Governance in an Agile SCRUM Lean MVP WorldData Governance in an Agile SCRUM Lean MVP World
Data Governance in an Agile SCRUM Lean MVP World
 
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational Capital
 
Dev ops – what and why - Bristech - July 2016
Dev ops – what and why - Bristech - July 2016Dev ops – what and why - Bristech - July 2016
Dev ops – what and why - Bristech - July 2016
 
Agile Implementations - Tim FitzGerald - US Assure
Agile Implementations - Tim FitzGerald - US AssureAgile Implementations - Tim FitzGerald - US Assure
Agile Implementations - Tim FitzGerald - US Assure
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
Accelerate using DevOps and CI/CD.
Accelerate using DevOps and CI/CD.Accelerate using DevOps and CI/CD.
Accelerate using DevOps and CI/CD.
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
PMI Thailand: DevOps / Roles of Project Manager (20-May-2020)
PMI Thailand:   DevOps / Roles of Project Manager (20-May-2020)PMI Thailand:   DevOps / Roles of Project Manager (20-May-2020)
PMI Thailand: DevOps / Roles of Project Manager (20-May-2020)
 
PMI-ACP Training Deck
PMI-ACP Training DeckPMI-ACP Training Deck
PMI-ACP Training Deck
 
Fundamentals of Agile
Fundamentals of AgileFundamentals of Agile
Fundamentals of Agile
 
Agile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take AwaysAgile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take Aways
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
 
Agile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdfAgile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdf
 
Agile webinar pack (2)
Agile webinar pack (2)Agile webinar pack (2)
Agile webinar pack (2)
 
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
 
The complexity in the simplicity of Agile? by Arie van Bennekum
The complexity in the simplicity of Agile? by Arie van BennekumThe complexity in the simplicity of Agile? by Arie van Bennekum
The complexity in the simplicity of Agile? by Arie van Bennekum
 
How to create awesome customer experiences
How to create awesome customer experiencesHow to create awesome customer experiences
How to create awesome customer experiences
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 

Mais de TechWell

Mais de TechWell (20)

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

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
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
shinachiaurasa2
 

Último (20)

Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
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 kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
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...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
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
 
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
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

They Said, We Said: Bridge the Communication Gap with Behavior-Driven Development

  • 3. They Said, We Said: Bridge the Communication Gap with Behavior-Driven Development TechWell DevOps East November 2017 Sheetal Patel sheetal-patel @sheetalBAPS About Vanguard Vanguard’s core purpose: To take a stand for all investors, to treat them fairly, and to give them the best chance for investment success. Vanguard key facts Founded May 1, 1975 Assets under management $4.4 trillion global assets under management Number of funds 175 funds in the U.S. and 144 funds in markets outside of the U.S. Number of clients More than 20 million investors worldwide Number of crew More than 14,000 crew worldwide Number of IT crew Over 2,500
  • 4. About Vanguard A Virtual Company – 370K log on per day – 10 million phone calls – 1.4 million e-mails – 30-60K transactions per day IT Teams 2000+ IT Professionals 200+ IT Agile Teams About Me IT Program Manager “Shift Left” B.S Computer Science Held various roles in IT: Designer, Developer, Scrum Master, Test Manager, Transformational Program Manager Leading team of Automation Engineer and Developer to transform how we develop and test software. Advocate of Shift Left and Continuous Testing; Empower teams to experiment
  • 5. Software Features Why 64% of feature rarely or never used • Miscommunication • Late Feedback
  • 6. Causes of Miscommunications • Misaligned Vocabularies • Messy Thinking • Faulty Definitions • Government Speak and Legalese Source: http://www.moneycrashers.com/causes-miscommunication-use-plain-language/ Traditional Method Business Analyst gathers requirements and documents it for each agile story • Developers, testers, and the Business all come up with different test scenarios • The developer interprets the requirements differently than the Business • Story completion isn't clearly defined No Common Understanding
  • 7. Behavior Driven Development (BDD) A framework to understand each other “ubiquitous language” Use English like sentence to express behavior and outcomes of a system Outside in Development Cucumber is a Collaboration Tool (Not an automation tool) Business Business Analyst, Product Owner Development Developer, Tech Lead Testing Tester, Automation Engineer
  • 8. Collaboration Session – When? Depends on the team • Timebox the session • Be consistent • Do not start coding until collaboration session Every day after scrum for 30 min 2 to 3 times a week for 45 min Impromptu • Whenever stories are ready to be picked up How BDD Fits into Agile BIG idea PO BSA PM stories rules FEATURES EXAMPLE MAPPING Rule Rule Rule example example example example example ? ? ? StoryQuestions Feature File Given When Then SCRUM BSA DEV SAT 3 Amigos Concrete Examples PO BSA PM DEV TEST TL Prod Ready 25 minutes
  • 9. Scale it Enterprise Wide Our Agile Journey ~2015 ~2015 - present ~2015 - present ~ 2008 Product Centered Waterfall to Agile Team Org Changes Shifting Left CI/CD, Products, LEAN
  • 10. Traditional Requirements Practice Single Source of Truth – Hard pill to swallow • Pride in documentation • “This is how we have been doing for years” • Financial Regulatory Industry • Skill evolution • Shift Left is about Testing not requirements
  • 11. Common Resistance • Collaboration is painful, takes too long • Team member want to know why am I here, I just want to code. - Developers tend to be introvert • Want to use team members time effectively • Team needs more desk time • There are already too many meetings Bottom Up Top Down Agile Teams
  • 12. Enterprise Support Single Source of Truth – Key to CD
  • 14. Use Cucumber for everything Feature File are too technical or not able to automate Given, When, Then created without collaboration Not re-using step definitions – repeating across feature files Organization of Feature file Too much business logic in one Feature file Not using Tags to drive automation runs Common Pitfalls Feature File Tips and Best Practices • Feature Files should reflect “What” the system does not “How” • Avoid Inconsistencies with Domain Language • Use Tags • Make Scenarios Independent and Deterministic • Be DRY ( reuse step defs) • Single When • Use “Should” in the Then step • Max 5 steps per scenario • Write Given in past tense
  • 15. Business vs Technical Requirements Cucumber is not a silver bullet • Conversation is more important than the tool Technical tests do not need to be wrapped in cucumber Program-level lessons learned • Help individuals and teams be outcomes driven • Change is evolution not revolution • Need to repeat concepts as program - teams are at different places • Being “lean” to allow space to respond to needs has helped us serve teams better • At the end of the day we’re working with humans 26
  • 16. References • The world’s most misunderstood collaboration tool • ATDD vs BDD … by Liz Keogh • BDD By Example by Dan North • Cucumber for Java Book • The BDD Books Discovery Explore behavior using examples by Gasper Nagy and Seb Rose • Best Practice on Cucumber Appendix: Example of Feature File @AdHoc Feature: Rule 100, 105, 1090, 111 Date Rules Description: As an user, I select the review button and the date rules run. Scenario: Case 1 Rule100StartDateGreaterThanStopDate Given Setup Withdrawal Plan And current date of “10/16/2017” And start date of “11/1/2017” And stop date of “10/30/2017” When Date rules are executed Then the rule “100” fires and rule severity is “VALID” @Business Capability @IntegrationTest Feature: Validate Rule 100 Start Date for setting up withdrawal plan. Description: This feature is validating business rule for start date are running and validating my entries for the withdrawal plan. Business Rule: The Start Date cannot be after the Stop date for a withdrawal plan. Scenario: User is unable to setup withdrawal plan because start date is after the stop date Given User is setting up Withdrawal Plan And current date is <current date> And start date is <start date> And stop date is <stop date> When User reviews and validates the withdrawal plan setup Then the rule “100” fires and rule severity is <severity> Examples: |current date | start date | stop date | severity | |10/16/2017 | 11/1/2017| 10/30/2017| “ERROR” |