Behavior Driven Development / Acceptance Test Driven Development (BDD/ATDD) is a new, exciting approach to developing software that has been shown to reduce rework and increase customer satisfaction. While other testing tools focus primarily on “are we building the thing right?”, BDD tools such as Cucumber and SpecFlow attack the problem of software directly at its source: “are we building the right thing?” By retaining all the benefits of automated unit testing, while extending them upstream to cover requirements, we cut the Gordian knot of risk and complexity to unleash hyper-productivity. 

Why is BDD so effective?

  • As a form of Test driven design, BDD helps produce frugal, effective and testable software.
  • As a development tool, BDD frameworks like SpecFlow provide many convenience functions and are pre-integrated with powerful libraries like Nunit and selenium to make writing tests a snap.
  • As a collaboration tool, BDD helps ensure the “three amigos” (tester, analyst and developer) sync up – ahead of time.
  • As a facilitation technique, BDD enables product owners to efficiently provide the team with concrete examples that clarify the true intent of a user story and define the boundaries.
  • As a reporting tool, BDD captures functional coverage, mapping features to their acceptance criteria to their test results, in an attractive hierarchical presentation.

Want functional documentation? How about documentation that is guaranteed to be correct, because every feature maps to its test results? Witness the holy grail of traceability – executable specifications.

We will spend a few minutes talking about the context and pre-requisites, so attendees have an idea of where BDD fits in, and what type of investment they are signing their teams up for. We will see that in return for a modest amount of investment in tools and training, very significant benefits can be realized, and the benefits compound over time.

This workshop then dives right in to Gherkin, the structured English language technique used to capture BDD specifications. We will spend the better part of the session learning the tricks and techniques that make for robust and maintainable gherkin specifications. We will review and critique lots of examples, both good and bad.

We will review several examples of reports generated from BDD tools, to provide context and to immediately highlight the bottom line business value that makes an investment in BDD so worthwhile.

 

 

Come and learn why Behavior driven design is taking the software world by storm!

 
18 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

We will spend a few minutes talking about the context and pre-requisites, so attendees have an idea of where BDD fits in and what type of investment they are signing their teams up for. We will see that in return for a modest amount of investment in tools and training, very significant benefits can be realized, and the benefits compound over time.

This workshop then dives right in to Gherkin, the structured English language technique used to capture BDD specifications. We will spend the better part of the session learning the tricks and techniques that make for robust and maintainable gherkin specifications. We will review and critique lots of examples, both good and bad.

We will show some examples of reports generated from BDD tools, to provide context and to immediately highlight the bottom line business value that makes an investment in BDD so worthwhile.

Learning Outcome

  • Understand BDD, how and why it works, and how to do it
  • Learn how to write good Gherkin specifications
  • Understand how BDD can be used across programming languages and platforms in mobile, web, desktop, and server.
  • See how BDD reports can provide functional coverage and full traceability from requirements to tests
  • Understand how BDD involves the whole team, and work through a sample process showing who does what when and how

Target Audience

Managers, Directors, Product Owners, Developers, Testers, Analysts

schedule Submitted 10 months ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked David Horowitz
    keyboard_arrow_down

    The 7 Secrets of Highly Effective Retrospectives

    David Horowitz
    David Horowitz
    schedule 11 months ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Retrospectives are the core of agility. And yet they are the scrum ceremony that is most frequently skipped. Many teams like the idea of the retrospective but find them boring, or worse ineffective.

    This talk aims to re-energize retrospective facilitators and participants. Starting with the basics: "what's a retrospective and how do you run one?", this talk reveals 7 secrets that lead to more engaging, more effective retrospectives.

    You'll learn:

    * The best way to ensure your retrospectives lead to real change

    * The "pledge" everyone on your team should take before participating

    * How to know who to include in each retrospective

    * The single most important thing you can do to keep your team engaged during the retro

    * And much, much more!

  • Liked Shawn Faunce
    keyboard_arrow_down

    The Awkward Teenager of Testing: Exploratory Testing

    Shawn Faunce
    Shawn Faunce
    schedule 11 months ago
    Sold Out!
    45 mins
    Talk
    Beginner

    We think we understand that awkward teenager.

    Many experienced testers will claim exploratory testing expertise, but too few have ever written an exploratory testing charter, and even fewer have applied a heuristic in that charter. We think we understand exploratory testing just as we think we understand teenagers, because “we have been there”. However the reality is that many of the words currently used in exploratory testing are foreign to us and we feel awkward about our lack of knowledge. The goal of this talk is to give people experience writing and executing exploratory testing charters, creating mind maps, and applying exploratory testing heuristics.

    The talk is intended to introduce people to the exploratory testing techniques described by Elisabeth Hendrickson in her book Explore It! with some added material from the work of Cem Kaner and James Bach.

     

  • Camille Bell
    Camille Bell
    schedule 10 months ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    You're a Certified Scrum Master. Perhaps you are an Agile Manger, Agile Coach or Facilitator.

    Maybe you are newly minted or maybe you've been doing it a while, but either way you've noticed that not everything seems to work according the way the training or certification class implied it should.

    In this session, Camille Bell will explore what you weren't told in training, but need to know. Such as:

    • What assumptions Scrum makes that may not apply to your company or organization
    • Why some types of teams should not use Scrum and what they should use instead
    • How soon Scrum of Scrum stops scaling and what to use when it doesn't scale
    • Why some teams don't improve despite holding retrospectives
    • How to recognize the hockey stick burn down and what to do about it
    • What's a WIP limit and when it can be helpful
    • When estimation most helpful, when it's a complete waste and what to do instead
    • Why simple prioritization of a Product Backlog won't generate a Minimal Viable Product
    • Why the As a.., I want.. So that.. user story isn't enough and what you need to add
    • What are the critical missing practices your development team needs

     

  • Liked David Kane
    keyboard_arrow_down

    "Hitting the Target" - Business Value in Mission-Focused Organizations

    David Kane
    David Kane
    Deepak Srinivasan
    Deepak Srinivasan
    schedule 10 months ago
    Sold Out!
    45 mins
    Workshop
    Beginner

    In the simplest of terms, software development decisions for commercial organizations can be reduced to a calculation of whether the cost of developing the software will be outweighed by the estimated revenue generated or costs saved by the software.  However, as Mark Schwartz points out in his book, “The Art of Business Value Paperback” this simple explanation is insufficient for commercial organizations, and not applicable for government and other non-commercial organizations for whom the impact of software isn’t primarily measured in terms of revenue.  

    In this session participants will experience a simulation that has been created to explore these question of how to make decisions about investments to deliver mission and business value by examining the impact of these decisions on the performance of organizations in changing environments.

  • Liked Mathias Eifert
    keyboard_arrow_down

    Don’t assume you’re creating value – prove it!

    Mathias Eifert
    Mathias Eifert
    schedule 11 months ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Does your organization find it hard to determine “the right thing” to build? You are not alone – studies show that even in very high performing organizations only 10-35% of initial ideas actually generate business value. Agile development should make it easier to obtain early customer feedback, but in most organizations Agile approaches are limited to software development teams with little connection to the rest of the business. In addition, Agile methods by themselves offer few guidelines on how to translate organizational goals and customer needs into the backlog’s content and relative priorities in the first place. As a result, there is a significant, but often underappreciated risk that Agile teams end up very efficiently building “the wrong thing right.”

    In this session, we explore how Lean Discovery and experimentation can expand the scope of Agile’s “inspect and adapt” feedback loops to systematically identify and validate critical assumptions about our product’s value proposition. Based on the Lean Startup and Lean UX approach to product development as a series of hypotheses about customers’ behaviors and value perceptions, we discuss ways to derive testable assumptions from organizational goals to enable validated learning. Finally, we explore the implications of this approach on project planning and budgeting to support increased business agility.

  • Liked Paul Boos
    keyboard_arrow_down

    Mind Meld: Why Pair Programming Works

    Paul Boos
    Paul Boos
    schedule 11 months ago
    Sold Out!
    45 mins
    Workshop
    Beginner

    So why does pair programming (or any form of pairing really) work? Well rather than tell you why, let's experience it! 

    This is a simple 3 round exercise that you can do with your teams and managers to demonstrate the benefits of pairing. It will show the linkage between having a shared mental model through collaboration and ease of integrating the resulting work.

  • Liked Tim Gifford
    keyboard_arrow_down

    "DevOps" on Day 1 with Operations First Delivery

    Tim Gifford
    Tim Gifford
    schedule 10 months ago
    Sold Out!
    45 mins
    Talk
    Beginner

    DevOps lore tell legendary tales of “Unicorn” companies. We’re told these mythical companies continuously deliver software to production with nary a blemished aura or mussed mane. Can it be so? Is this but a fairytale?

    In this talk, we will dispel the fantasy and show you how to get similar results. Spawning the first unicorn is the most difficult, so I will show you the specific steps, tools, techniques and architectural patterns of Operations First Delivery to create your first “Unicorn” project.

  • Liked M. Scott Ford
    keyboard_arrow_down

    Embracing the Red Bar: A Technique for Safely Refactoring Your Test Code

    M. Scott Ford
    M. Scott Ford
    schedule 11 months ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Does your team treat test code differently than production code? Do you let your test code accumulate duplication and complexity that you'd normally attempt to squash in your production code? Have your tests become brittle? Are you worried that they aren't providing you the same value they used to? Have you strongly considered dumping your test suite and starting over? Are you afraid that if you refactor your test code, you'll introduce false positives?

    If you said yes to any of those questions, then this talk is for you.

    We'll explore the technique of "refactoring against the red bar" (http://butunclebob.com/ArticleS.MichaelFeathers.RefactoringAgainstTheRedBar), and how you can employ this technique to confidently refactor your test code. No longer do you need to let your test code have a lower standard of quality than your production code.

  • Liked Ken Furlong
    keyboard_arrow_down

    Upgrade Your Metrics – Cumulative Flow Diagrams and Beyond

    Ken Furlong
    Ken Furlong
    schedule 11 months ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    When dealing with metrics, most Agile or Lean teams begin with a Burndown Chart.  Unfortunately, that is also where most of them stop.  While a Burndown Chart is a great first step, it only provides a small sliver of the information the team has access to.

     

    In this talk, we’ll be starting at the beginning with what a Cumulative Flow Diagram is, how it relates to a Burndown Chart, its advantages, and where it too ultimately stops.  We’ll then look at additional information radiators that the team can easily use based on existing data to provide transparency to stakeholders and the raw material for continuous improvement.

  • Liked Atif Salam
    keyboard_arrow_down

    Cracking the Code... Implementing SCRUM at Scale within Enterprise Data at Fannie Mae

    Atif Salam
    Atif Salam
    PHILLIP MANKETO
    PHILLIP MANKETO
    Dave McMunn
    Dave McMunn
    schedule 11 months ago
    Sold Out!
    45 mins
    Case Study
    Intermediate

    Fannie Mae, a leading source of residential mortgage credit in the U.S. secondary market, provides reliable, large­scale access to affordable mortgage credit across the country so people can buy, refinance, or rent homes. In November 2014, Fannie Mae’s Enterprise Data Warehouse completed a multi­year project to implement several thousand data attributes across numerous interfaces which were then integrated with various development organizations working in parallel; the results were sub­optimal. In January 2015, Fannie Mae undertook a brownfield initiative to transform Fannie Mae’s Enterprise Data Warehouse, responsible for sourcing, vending and provisioning data attributes, which informed numerous interfaces, as part of a larger Federal compliance mandate, to SCRUM. Initially, starting with two teams using SCRUM, the initiative progressed to six-teams implementing SCRUM­OF­SCRUMS, within 6 months. Thereafter, the SAFe framework was adopted encompassing twelve­teams (130+ team members) on a single Agile Release Train. As a result of transforming from Waterfall to Agile, Fannie Mae experienced a significant boost in productivity and reduction in delivery risks through the relentless focus on innovation and automation to ship "production ready" code with high and higher frequency. The transformation to Agile has revolutionized how the firm plans for the delivery of large scale ($100 million plus investment/year) programs, has significantly mitigated risk inherent in complex in integration between legacy and new architectures/applications, as well as between internal and external systems. Within the larger context of the transformation to Enterprise Agility, this Experience Report will focus on the changes to the organization, architecture, and technical practices required to implement data attributes every two­-weeks and the corresponding benefits realized.

  • Dave Nicolette
    Dave Nicolette
    schedule 1 year ago
    Sold Out!
    45 mins
    Others
    Beginner

    Ideas similar to test-infected development or test-driven development have been around quite a while - at least since Alan Perlis wrote about interleaving small amounts of design with small amounts of testing in the 1968 Proceedings of the NATO Software Engineering Conference. Yet, even today, there are endless debates about whether such an approach is useful. Some consider it a baseline practice for any professional developer. Others consider it extra work that adds no value. 

    There's certainly more than one way to achieve a goal. What are the goals, when we write and deliver software professionally? Let's identify the various stakeholders of a software system and enumerate the needs of each. Then, let's walk through several popular ways of building software - TDD and others - and see how we can meet those needs using each approach. 

  • Liked Shawn Faunce
    keyboard_arrow_down

    What You are Doing Wrong with Automated Testing

    Shawn Faunce
    Shawn Faunce
    Martin Folkoff
    Martin Folkoff
    schedule 11 months ago
    Sold Out!
    45 mins
    Talk
    Beginner

    We firmly believe that automated testing puts the "A" in "Agile". Without an effective suite of automated tests your ability to be truly agile (that is embrace change) can only be based on the hope that your latest change doesn't have unintended consequences. Additionally, without automated tests, you are missing a vital component in getting feedback into the development team's hands. In our travels, we have encountered many organizations that are struggling with automated testing. These organizations are successfully adopting many Agile techniques but are failing when it comes to automated testing. We frequently hear "Automated testing just doesn't work for us" (eerily reminiscent of the days when we would hear, "Agile just doesn't work for us"). From our experience addressing their challenges, we have identified anti-patterns common across these organizations. These anti-patterns look like they should work, but are in fact doing more harm than good.

    This talk is about those anti-patterns. We have given those anti-patterns a name and a face to help organizations understand why they are not getting the benefits from automated testing that others are. We describe several anti-patterns, such as the "Ice Cream Cone", the "Monolith", the "Sunk Cost". We explain why these anti-patterns appear to be good solutions, what makes them attractive, and why they do more harm than good. We talk about the right approach and draw on our experiences helping organizations adopt a robust automated testing strategy that instills confidence and provides fast feedback to the development team. We explain what benefits from automated testing the anti-pattern is preventing. 

  • Chris Li
    Chris Li
    schedule 10 months ago
    Sold Out!
    45 mins
    Workshop
    Intermediate

    The energy teams that spend performing some sort of estimation exercise among themselves can often burn them out, put them at odds, and not foster any sort of collaboration.  Even worse, when a team is looking to take on some work and someone not a part of the team gives them the estimates rather than creating them as a team.  These sorts of challenges are present on many teams who wish to work in an incremental fashion and can have a seriously negative impact on productivity and team morale.

    In this workshop participants will visit some of the typical scenarios encountered with respect to estimating backlog items, a challenge that many teams encounter on a regular basis. Attendees will revisit what a backlog item represents as well as basic concepts and reasoning behind estimation.  They will then look at four specific pitfalls that make up a tumultuous cycle around how estimates can be misunderstood, miscalculated, misinterpreted and as a result misused. 

    Participants will perform exercises where they identify and share their challenges around estimation and learn a lightweight, fun and interactive approach to backlog item - level estimation that simplifies the approach and focuses on the conversation.  For those looking for an alternative way to visualize these conversations, stop by this workshop to pick up a lightweight technique to bring back to your teams. 

  • Liked Craeg K Strong
    keyboard_arrow_down

    Bringing DevOps to an Entrenched Legacy Environment with Kanban

    Craeg K Strong
    Craeg K Strong
    schedule 10 months ago
    Sold Out!
    45 mins
    Talk
    Beginner

    At a Federal Agency or a large commercial company you may get a chance to work on a major program that makes a real difference in people’s lives.   But the (legacy) software behind such programs is often large and complex, and therein lie some challenges.  Here are some of the challenges we faced on a major 15+ year old legacy system comprised of 2M lines of source code:

    • maintenance costs were escalating
    • It seemed like every time an issue was fixed, it caused two more
    • Lengthy delays between major software releases
    • New releases suffered from high priority bugs that had to be hot-fixed immediately
    • The software was taking longer and longer to be fully tested; in fact, it became practically impossible to test every feature.

    When looking to implement agile practices on a legacy program, it is hard to know where to begin.  Innovative Silicon Valley companies like Etsy leverage DevOps and Continuous Delivery practices to achieve new levels of automation and agility, shrinking development lead times and deploying to production many times each day.  However, it can be a struggle to implement these practices for legacy systems that run our core businesses.  To make matters worse, the agile community offers relatively little practical guidance for implementing DevOps practices in legacy environments.  Fortunately, the Kanban Method provides a practical way to gradually evolve these core systems towards achieving DevOps cost savings and efficiencies, even if you don’t have a massive budget.

    Through a case study involving a criminal justice system for a US government agency, we will examine how the Kanban method helped us identify and remove the barriers that prevented us from implementing DevOps automation for legacy systems.  Just as importantly, Kanban provided the means to measure the efficacy of our efforts, prompting us to course-correct when necessary. We will review some interesting examples using the Microsoft technology stack, but these lessons apply equally to Java, LAMP, MEAN, or any other set of technologies.  The end result was better quality and collaboration and faster delivery of value to our stakeholders.  Perhaps it is possible to teach an old dog new tricks, after all.

  • Liked Jason Anders
    keyboard_arrow_down

    Delivering Data to Agile Initiatives - a Fannie Mae Case Study

    Jason Anders
    Jason Anders
    schedule 10 months ago
    Sold Out!
    45 mins
    Case Study
    Intermediate

    Even for waterfall initiatives where requirements are (allegedly) known, delivering the right data to developers and testers is slow, painful, complicated, and often rife with errors.  For Agile initiatives, this process is even more difficult.  How do you get the right data to your team members during 1 or 2-week sprints when it often takes 3 or more weeks to generate?  Come learn how Fannie Mae has solved this problem for several of its largest Agile efforts, and how Fannie Mae has formally incorporated Data Delivery into its DevOps journey.  Fannie Mae's approach is one that can be reproduced in most organizations, and should prove to be very helpful and eye opening.

  • Liked Max Saperstone
    keyboard_arrow_down

    Custom Testing Frameworks

    Max Saperstone
    Max Saperstone
    schedule 10 months ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    There are many testing tools and frameworks out there, and the question often is, which is the best one to use. The main things that I look for are ease of use, self documentation, and error handling. After working with Selenium for almost a decade, I have yet to come across a framework that provides that with ease. So I decided to write one. I wrote this framework to build upon Selenium's tools, specifically to provide more error handling capabilities and custom output reporting. While the Testing Framework is both designed and optimized for Selenium Webdriver, it can be run for any type of tests, including used for unit tests. An entire testing framework, including custom reporting metrics, is built on top of the basic TestNG framework. All of the Selenium functionality is wrapped, providing fallback capabilities, so that if an element is missing, or a check is performed that fails, the test do not crash, they continue forward, logging the error. All Selenium calls are automatically documented, and screenshots are taken anytime an action or check is performed. Setup was designed to be simple and quick, allowing more concentration on creating tests, and less worry about configuring.

  • Liked Sunil Kosuri
    keyboard_arrow_down

    Selecting & Implementing an Automated Software Testing Tool at EPA - Lessons Learned

    Sunil Kosuri
    Sunil Kosuri
    schedule 10 months ago
    Sold Out!
    45 mins
    Talk
    Beginner
    This presentation delves into the details of selecting and implementing an automated software testing tool at a Federal Agency. We learnt a lot of lessons during this process and we hope that others considering software automation can learn from our successes and failures.