STAREAST 2019 Pre-conference Training : Hands-On with Behavior Driven Development

SEE PRICING & PACKAGES

Sunday, April 28, 2019 - 8:30am to Monday, April 29, 2019 - 5:00pm

Hands-On with Behavior Driven Development

Add to calendar
  • Learn and understand the concepts of Behavior Driven Development (BDD)
  • Build the right thing through collaboration and shared understanding
  • Increase innovation, lower stress, lower risk, and lower bug count
  • Explore the relationships between BDD and its surrounding ideal environment – DevOps, Agile
  • Solidify your understanding with hands-on exercises
 

No one said software development was going to be easy – but most companies are making things much harder than they need to be.  In doing so, they are increasing stress on their developers and missing the needs of customers.  Behavior Driven Development (BDD) provides organizations a framework for organizing the conversation between developers, testers and domain experts.  Many that have adopted these practices are seeing improvements with faster cycle times, lower bug counts, happier staff and customers.  To quote Dan North, one of its early proponents:

"BDD is a mechanism for fostering collaboration and discovery through examples."
 
In this two-day, hands-on course, you will learn they key concepts of BDD (Behavior Driven Development), including business and team effects, participant roles, difficulties and traps, and more. Leave being able to practice and promote BDD at your company with primary and supporting technologies, transitions to using BDD, and more. 
 
Who Should Attend
This course is appropriate for anyone who is involved in the definition, development and quality assurance of software related products including customers, product owners, business analysts, SMEs, developers and testers.  It is recommended that you are familiar with concepts of  the Agile methodology, as taught in our Fundamentals of Agile class, before taking this course.
 
Hands-on Exercises
In this workshop you will learn about testing application behavior through hands-on activities, exercises, discussions, and demos. 
  • Demonstrations and exercises using BDD
  • Simulation of sprint planning incorporating BDD
  • Presentations, discussions, and debate of BDD culture and mindset
  • Discussion of transitioning into using BDD
  • Convincing your team and management of its value
 
Laptop Required
Because this is a hands-on course, attendees are required to bring their own laptop to be able to complete the exercises. This class will have pre-class instructions that will be provided to you after your registration is completed. If you have any concerns about the specific programs involved, please feel free to reach out to our Client Support team.
 
Course Outline
Introduction to BDD
General introduction to BDD concept
Show demo of running in Jenkins pipeline
Terminology
What problems this solve
Building the right thing
A word about communication
 
Benefits of usage
For testers
For developers
For business
For teams
Contrast of output and outcome
 
Case studies
 
Origins
Extreme Programming and TDD
Dan North extending TDD
 
Participation Roles
Business stakeholder
Developer
Tester
Special advisers
End users
 
Mindset and Culture
Communication isn’t easy
Collaboration
Sustainability
Maintainability and testability
Planning versus iterative experimentation
Colocation versus remote
Trust and empowerment
Marshmallow challenge
Zen Mindset
Psychological safety
Quality
Theory versus practice
Scenario collaboration
 
Difficulties and Traps
Misconceptions
Company culture preventing collaboration and trust
Changing existing precedent and culture is hard
Transitioning to a new technique will cause productivity drop
Poorly written scenarios can increase maintenance and derail progress
Not following Agile tenets
Practical Use
Showing the outside-in illustration
Discovering user stories
Difference between user story and feature / terminology difficulty
Expounding on user stories
Final user story with acceptance criteria
Well-written specifications
Poorly-written specifications
Starting the implementation cycle
More detail on outside-in development
Common anti-patterns while writing scenarios
Avoid fragile scenarios
Developer or tester implements automation
Regex can be a pain
Reduce redundancy, but don’t be pedantic
Follow TDD first before completing feature steps
Clarity of the feature is paramount
The IDE and framework won’t always set up the best stub code
The IDE can be a very powerful tool
 
Primary and supporting technology
Primary technologies - Cucumber, Fitnesse, Concordion, Hiptest, etc.
Secondary technologies - Jenkins, Jira, Maven, Gradle
 
Cultural Context
Understanding your cultural context
Westrum’s organizational types
  • Pathological
  • Bureaucratic
  • Generative
 
Transitioning to BDD
Small incremental changes
Team and management buy-in
Fresh start -  leaving behind the baggage
Simple and small
 
Comparable techniques
Waterfall
V-Model
 

 

Class Daily Schedule
Sign-In/Registration 7:30 - 8:30 a.m.
Morning Session 8:30 a.m. - 12:00 p.m.
Lunch 12:00 - 1:00 p.m.
Afternoon Session 1:00 - 5:00 p.m.
Times represent the typical daily schedule. Please confirm your schedule at registration.
Training Course Fee Includes
• Tuition
• Course notebook
• Letter of completion
Byron_Katz
Coveros

Byron Katz has been in love with computers since his father bought the family a Commodore 64. A degreed architect, he found his way back to software development in 2010, and his career has included roles as a quality assurance lead, a full-stack developer, consultant, and sales engineer. Byron has experience at software firms ranging from start-ups to large enterprises to government projects. His primary project experience has been as a full-stack developer of multi-tier web projects in Java and .Net, but most recently Byron has had the opportunity to practice DevOps. He enjoys making seemingly-difficult concepts accessible to a larger audience, and his agenda is to persuade others that the costs of quality, simplicity, and beauty pay for themselves in the long run.