Is your organization still using brittle GUI driven-tools to ensure applications can be tested? Do you find these difficult to map to the user stories that describe product owner/business needs? One of the current Agile practices to doing this is Behavior-Driven Development (aka Acceptance Test-Driven Development) and writing user stories and acceptance criteria in a Specifications by Example format.  This has real power in that business people can understand the tests and the delivery team can ensure the code meets the tests, thus they serve as an example.

 

This tutorial will give a short background on Specs by Example/BDD and the show you how to write such tests in Lettuce.  You will gain a deeper understanding of how you can apply this to writing your applications.

 

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

Outline/structure of the Session

There will be about 5-6 slides for about 5-10 minutes, a portion of which will probably come from Paul’s simple slide deck on Test-Driven Development.  This is just to give a frame of reference for people unfamiliar with BDD.  After that, Chris and Paul will work as a Developer/Business Type (Owner/Analyst) to show how to use Specifications by Example and Lettuce to build a simple application. We’ll leave about 5 minutes for questions at the end.

Learning Outcome

In this short tutorial, the audience will gain an understanding of the fundamentals of how Behavior-Driven Development works through a tutorial of Lettuce, the Python BDD application framework. we’ll use Specifications by Example and use it to develop a very simple application.

Target Audience

Testers, Tech Leads, Developers, Product Owners, Scrum Masters, Development Managers

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Richard Cheng
    keyboard_arrow_down

    Agile at the Office of Personnel Management: The USAJOBS Product Owner's Perspective

    Richard Cheng
    Richard Cheng
    schedule 2 years ago
    Sold Out!
    60 mins
    Talk
    Beginner

    The USAJOBS program was a highly visible, time sensitive program, with potentially high government dollar value. To effectively execute the project, the USAJOBS program decided on an Agile approach and in this approach, government program managers were identified to be Agile Product Owners. This session features the experiences, thoughts, and challenges facing the Agile Product Owners on USAJOBS. Key thoughts from this session include:

     

    1. The differences between Project Management and Product Management 

    2. Shifting from big up front planning to responsible up front planning combined with just in time planning 

    3. Managing Product Owner bandwidth expectations 

    4. The impact of Agile from a Product Owners view

     

    The session is hosted by the former USAJOBS Product Owner along with an Agile Coach.  The session will explore Product Ownership and Agility on Federal Programs.

    Bios:

    Alesia Booth grew up in Federal human resources - her first job was with the National Institutes of Health payroll office at 16 years old. Since then, she's managed websites, document libraries, corporate recruitment programs, staffing systems and hiring reform process change management activities. Which is she ended up at USAJOBS. Since then, Alesia moved to Department of the Treasury to be the program manager of the HR Line of Business CareerConnector product for classification and staffing. At Treasury, she continues concentrate on solving multiple agency recruitment challenges to bring the best and brightest talent into the Federal workforce. Additionally, she worked with Treasury Enterprise Business Solutions as a champion of Agile development and recruitment data standardization Government-wide. Alesia is now back at OPM leading OPM's USAStaffing efforts.

     

    Richard Cheng, Principal Consultant at Excella Consulting, provides consulting services to commercial and federal clients in the Washington, DC area. Richard coaches, mentors, and trains clients on understanding and implementing Agile and Scrum. He also leads Excella’s Agile Center of Excellence.  A graduate of Virginia Tech, Richard has authored several publications on project management, presented at Agile and PMI sponsored industry events, is a member of Mensa, and holds certifications including Certified Scrum Training (CST), Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), Certified Scrum Professional (CSP), PMI Agile Certified Practitioner (PMI-ACP) and Project Management Professional (PMP).  Richard is a founder and on the executive committee of the Agile Defense Adoption Proponents Team (ADAPT).

  • Liked David Bulkin
    keyboard_arrow_down

    Build Righter Stuff with HDD (Hypothesis Driven Development), a.k.a., HDD is TDD for the Business Case

    David Bulkin
    David Bulkin
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Intermediate

    With TDD (Test Driven Development) a coder writes a small test, and then just enough code to make the test pass, cleaning up the code along the way.  Imagine applying the same concepts to the business case.  Now stop imagining and use HDD (Hypothesis Driven Development) to test your business case and refactor it for success.

    Our hands on session will cover the basics of ATDD (Acceptance Test Driven Development) and BDD (Behavior Driven Development) to specify by example, so all stakeholders get on the same conceptual page, developers build what the business really wants, and testers can prove it. 

    But building what we want it not enough, so we will go further and use HDD to validate, or invalidate, business outcomes, focusing us on value instead of on adherence to specification.

    This is a hands on session, so come with pen, paper and a readiness to learn by doing!

  • Andrea
    Andrea
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Beginner

    Project success =  f (listening, feedback, intentionality, practices) 

    To make your agile practices and processes come to fruition, you need to cultivate an environment that promotes listening, learning, inquisitiveness, intentionality and top notch feedback that everyone is comfortable with. 

    Agile projects succeed when there are frequent high-quality reinforcing feedback loops. I will share communication models based on Clean Language questions of David Grove and the Systemic Modelling techniques of Caitlin Walker that can greatly increase clarity, sense of purpose and listening skills within your team and collaborative endeavors.  These include: Clean Questions, Clean Feedback, and Clean Setup.

    This is a hands-on, try it out, concrete practice session.

  • Liked Wyn Van Devanter
    keyboard_arrow_down

    A Thin Automation Framework for Managable Automated Acceptance Testing

    Wyn Van Devanter
    Wyn Van Devanter
    schedule 2 years ago
    Sold Out!
    60 mins
    Demonstration
    Intermediate
    Automated Acceptance Tests (AAT) can provide huge value, and can automate time-consuming tasks like regression testing, but aren't easy to scale.  Have you tried implementing them only to abandon them later?  Are they fragile?  Do they give a lot of false positives?  Do they take more time to write than the value you're getting out of them?  These are common problems with automated acceptance testing, but there are ways to mitigate these issues.  One great way is to create a very thin automation framework that helps you write the tests faster while reducing the fragility.  Wyn will walk through writing a thin automation framework, illustrating a test-driven approach that yields a framework appropriate for the software being tested.  The resulting tests are very clean and readable, and they become faster and faster to write as the framework evolves.  He will use C# and Selenium but the concepts are applicable to other languages and browser automation frameworks.  He will also illustrate simple approaches that reduce the fragility and maintenance costs of the tests.  Participants will come away knowing how to get started on an automation framework that will be easy to understand and maintain, and that should scale as much as needed.  
  • Liked Shawn Faunce
    keyboard_arrow_down

    Engaging a Product Owner on a Government Contract: Challenges and Solutions

    Shawn Faunce
    Shawn Faunce
    schedule 2 years ago
    Sold Out!
    30 mins
    Talk
    Beginner

    Great systems require active, capable Product Owners.  Functional innovation is not possible without their commitment and involvement in the project.  Too often in government contracting, the Product Owner is an Absentee Owner.  Agile Development teams often seek out tools and techniques to create great systems, however too frequently what is holding them back is the lack of an engaged Product Owner. Teams in this situation must face the elephant in the room if they desire to build a system that brings positive change in efficiency, productivity, quality, usefulness, and adoption.  This talk shares solutions I have used for challenges I see again and again on government contracts.

    The talk begins with some introductory material on the problem, its causes, what I mean by functional innovation, and why this is required to build great systems.  I describe four challenges with Product Owner engagement that are not unique to government contracting, but that I see recurring on projects: committing staff, procurement practices, role ambiguity, and absentee ownership.

  • John Hughes
    John Hughes
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Intermediate

    Testing sprints? Hardening sprints? Why do so many of us have these and other ways to get around completing all our required testing inside our defined timeboxes? Isn’t our goal to produce deployable features at the end of every Sprint?

    During our session, we will examine why it’s so hard to accomplish all necessary testing inside the iteration and show how to complete these tests within your timebox. Through interactive discussion and real world examples, we will provide insights on foreseeing, overcoming, and avoiding your hurdles and send you home with both long term methods and short term actions that will yield tangible results in achieving your goal.

    Our session will:
    • Illustrate the value of completing all of your testing inside your timebox
    • Identify the challenges in completing all these tests in such as seemingly short period of time
    • Discuss ideas and options to successfully overcome these challenges
    • Explore how to enable your organization and environment for efficient, rapid testing
    • Discuss real world examples of enablement and how we navigated the pain points of enabling testing processes that allow complete testing within an iteration
    • Explore DevOpsSec and how achieving testing within your timebox is a precursor to DevOpsSec
    • Provide short term tactics and actions to immediately improve your ability to complete your testing
    • Allow you to voice your concerns and challenges and discuss potential solutions to these impediments

    Most of us implement agile to reduce the time to deliver valuable working software and to increase the frequency of delivery with high quality through increased and earlier collaboration, shorter feedback loops, and reduced risk. While you can show improvement over Waterfall by performing typical agile methods, you cannot really live the dream without optimizing your agile execution.

    You will leave this session armed with the right knowledge to improve delivery on your current project or start your new projects properly so that you or your clients can reap the benefits of efficient process and high-quality software capable of achieving continuous deployment of fully-tested code at the end of each iteration.

  • Liked Dan Neumann
    keyboard_arrow_down

    Principle-Centered Agility: Your Path to Better Options

    Dan Neumann
    Dan Neumann
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Beginner

    Do you want to have a high functioning Agile team? If so, this session is for you! We're going beyond the rules of agile frameworks and learning to apply those principles to improve our teams and companies! The 12 principles of the Agile Manifesto capture the reasons we are able to deliver better software. This is the "why" for some of the rules behind Scrum and Kanban. The principles ought guide our decisions about practices, scaling, and solving tricky problems!

    In this session, we will use the 12 Principles of the Agile Manifesto as our foundation. Then, we will  apply techniques such as Force Field Analysis to apply the principles to your challenges at work. Lastly, we will use principles of change management to make the change more likely to stick.

    The outline for the session is:

    1. Explore the principles; which ones are present or absent in your environment?
    2. Introduce Force Field Analysis
    3. Use Force Field Analysis to explore what drives a specific behavior
    4. Use the Agile Principles to generate new options for tackling your team's challenges
    5. Explore effective change management techniques

    With these five activities, you will leave with a framework for change to apply when you return to work and continue on your agile journey.

  • Paul Boos
    Paul Boos
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Beginner

    So what does Collaboration really mean?  It's just ensuring people understand what each other is doing right?

    The Power of 13 Collaboration Game illustrates what true collaboration means.  We'll do work by rolling dice over a 3 week Sprint. We'll then explore the results and start our next Sprint. In each Sprint, we're going to increase the participation across players and see what the effect is on productivity.  Prepare to be surprised!

    Should there be enough time remaining in the hour; we'll then specifically apply true collaboration to better understand the effects of pair programming by playing Pair Poetry.  This simulates the power of pair programming and demonstrates why the one screen, one keyboard concept works.

  • Jason Tice
    Jason Tice
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Beginner

    Agile and Lean principles call for teams to delay decisions and activities until the “last responsible moment” so as to minimize rework and waste.  While this sounds good in concept, sometimes teams fall victim to waiting until it is “too late” to make a decision or get started on a needed activity resulting in missed opportunities and/or down-to-the-wire heroic efforts to meet a deadline.  This workshop entails a competitive LEGO simulation where participants will divide into small teams, each team will be given the same simple LEGO build challenge, and then each team will be able to conduct their own experiments as to when the “last responsible moment” really is.  Following the LEGO build challenge, participants will engage in a debrief to discuss the outcome of the challenge, identify factors that helped to successfully identify the last responsible moment, establish linkages between the LEGO simulation and agile software development activities, and of course congratulate the winners of the challenge.  During the debrief, participants will complete a debrief worksheet to reinforce key learnings and takeaways from the simulation that they will be able to take with them from the session.  Best of all, this is a LEGO session, so you will get to play with LEGO and fun will be had by all!

  • Liked David Kane
    keyboard_arrow_down

    Making Movies and Software at the Speed of Thought!

    David Kane
    David Kane
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Beginner

    Director Robert Rodriguez (Spy Kids, El Mariachi, Sin City) is an Agile Director. He enjoys making highly creative movies quickly and cheaply. His ambition is to make movies at the speed of thought. To achieve this goal, he works in small teams to develop the ideas, visualize them quickly, shoot the movie fast, and build the movie in layers. This workshop will introduce Rodriguez's approach to film making by screening several of his 10 minute flick school featurettes and we will explore how these techniques translate to Agile software development in a lively group discussion.

  • Sara Handel
    Sara Handel
    schedule 2 years ago
    Sold Out!
    30 mins
    Talk
    Beginner

    Agile methodologies originated with and gained recognition from software development projects. With an enviable track record of success, more and more organizations are adopting Agile as the standard approach to managing all types of projects.

    You rarely hear about the enviable track record of success managing Business Intelligence projects so you may find yourself thinking about using Agile on your next BI project. Once you decide to try Agile, it can be tough to know where to start. In this presentation, we will focus on the first major step in getting started: Assess the Current State.

    Before you embark on implementing Agile, a crucial path to success starts with knowing where you are today and where you want Agile to take you. The group will identify what we think are the biggest BI challenges. We will go through a provisional maturity model to determine what questions to ask and will discuss how those challenges may or may not be addressed by taking steps to increase your organization's Agile BI maturity.

  • Liked Philip Rogers
    keyboard_arrow_down

    Lean Coffee: Creative Uses of this Technique to Rapidly Surface Ideas and Encourage Team Collaboration

    Philip Rogers
    Philip Rogers
    schedule 2 years ago
    Sold Out!
    30 mins
    Workshop
    Intermediate

    Lean Coffee is frequently used in meetup and conference settings. The beauty of Lean Coffee is its simplicity, and it is this very simplicity which makes it an appealing choice in various Agile team contexts. Specifically, Lean Coffee is particularly good for ad hoc training sessions and for retrospectives. The focus of this workshop will be on the use of Lean Coffee in these two types of settings, where we will split up into small groups and practice using Lean Coffee to cover ad hoc training topics and to do a mini-retrospective.

     

  • Liked Max Saperstone
    keyboard_arrow_down

    Implementing Effective Testing for Behavior Driven Development using Cucumber-JVM

    Max Saperstone
    Max Saperstone
    schedule 2 years ago
    Sold Out!
    60 mins
    Talk
    Intermediate

    Behavior Driven Development allows for high level, plain English tests to be written, and to describe and exercise a system. Unfortunately it is difficult to have these tests encompass all interfaces of a software system, and to reuse them in multiple scenarios. Specifying these tests to run at different levels and times without duplicating work is non-trivial, and frequently produces lots of rework. This presentation will focus on cucumber to provide a robust framework for BDD, but any BDD framework can easily be substituting following guildelines and practices covered in this talk. This is not your typical Cucumber tutorial. We will mostly be focusing on how to utilize Cucumber's flexible structure in combination with the Java language how to write singular tests to run over multiple testing interfaces. This framework will build on the Cucumber basics to provide a generic model that also builds on the standard reports, giving additional information for debugging and traceability purposes. Test runners and inputs will also be discussed, to understand how to create more dynamic testing scenarios.

  • Liked Alexei Zheglov
    keyboard_arrow_down

    Lead Time: What We Know About It and How It Can Help Forecast Your Projects

    Alexei Zheglov
    Alexei Zheglov
    schedule 2 years ago
    Sold Out!
    60 mins
    Tutorial
    Intermediate

    The session is about just one metric, but a very important one - lead time.  Simply put, lead time is the time between the start of work and delivery.  And there is a catch: if the work has to wait in a queue or if we switch from it to work on something else, the clock keeps ticking until we deliver.  Lead time has proven to be a difficult metric to game.  Even when people try, they often end up delivering faster, with less delay - win-win.

    We will look at examples of real-world lead time data for several different types of work from different companies.  We will discuss the very recent new insights into lead time distirbutions.  Those will then lead us to building useful probabilistic delivery forecast models for your process.  Building such models is surprisingly easy and takes surprisingly few data points.  The models, in turn, enable better decisions.

    Are your ready to embrace the probabilistic approach?

  • George Paci
    George Paci
    schedule 2 years ago
    Sold Out!
    30 mins
    Talk
    Intermediate

    Agile planning tools started simple: index cards, markers, and a table or wall. On many projects, for many reasons, these old stalwarts have been supplemented (or even replaced) by software solutions: Rally, VersionOne, Jira Agile, Trello, Trac, Scrumy, and literally dozens more, even BaseCamp. These tools have undeniable advantages over cardboard and ink in some aspects, but they're not superior in every situation.

    This session will highlight the pitfalls of centering planning meetings around software tools—even the best ones, like [your ad here]—and make a badly-needed sales pitch for index cards on a wall (compensating for Oxford's oddly anemic marketing effort). You'll see how cards can make better use of your team's time and brainpower, promote parallelism in meetings, and increase engagement by all participants.

  • Liked Shannon Ewan
    keyboard_arrow_down

    The Art of Facilitating Agility

    Shannon Ewan
    Shannon Ewan
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Intermediate

    From an agile implementation perspective, emphasizing the art of facilitation is an incredibly powerful tool for creating a culture of collaboration, and then leveraging that culture as a springboard to organizational transformation.  With strong facilitators at the gateway between business and IT, within IT delivery teams, and at key intersection points within an organization, the challenges to achieving organizational agility diminish. Strong facilitators bring forth the wisdom of teams and provide a container for self-organization. Facilitation is the cornerstone of servant leadership. 

  • Liked Jeff Nielsen
    keyboard_arrow_down

    The Power of Commitments

    Jeff Nielsen
    Jeff Nielsen
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Beginner

    Doing what you say you will do, when you say you will do it, is one of the key ways to build a relationship of trust. Conversely, nothing erodes trust more quickly than a couple of missed deadlines or broken promises.

    The ability to make and keep commitments is one of the hallmarks of a true Software Craftsman. Likewise, the most effective teams harness the power of commitment to forge strong and healthy partnerships with their customers. This is a surprisingly rare skill, but one that can be learned and improved.

    In this session we'll look at the different kinds of commitments we make as individuals and teams. We'll distinguish between commitments and predictions. We'll reflect on why we sometimes commit when we shouldn't and vice versa. Most importantly, we'll practice some crucial "commitment conversations." 

  • Gene Gotimer
    Gene Gotimer
    schedule 2 years ago
    Sold Out!
    60 mins
    Experience Report
    Beginner

    Security is a lot like quality and performance. You can’t tack them on at the end of the development cycle and expect it to be effective. All of them have to be built in along the way, in every phase of every cycle. But even though many companies claim that security is a priority, that doesn’t always translate to supporting security initiatives in the software development process. Security code reviews are often overlooked or avoided, and when development schedules fall behind security testing is often dropped to help the team "catch up". And there is almost never any money in the budget for buying new tools.

    So the first step of building secure applications has to be making security part of the regular development process, but at the same time there isn't time or budget to do so. Developers have to get some quick, easy wins with security without expending a lot of time, money, or effort. Like any agile practice, continuous and rapid feedback is critical.

    Static analysis tools look at source code or compiled code, looking for common errors, unused variables, style and formatting variations, and similar items. Most modern languages have a selection of open-source static analysis tools that can scan source code looking for predictable problems. SQL injection, cross-site scripting, and hard-coded passwords are common vulnerabilities that can often be detected by static code analysis. Static analysis tools can also look at the third-party libraries that the source code depends on, identifying components that have known vulnerabilities.  

    With a continuous integration practice, it is easy to run some of these static code analysis frequently, beginning early in the development cycle. We can make these tools part of the developer's normal routine, heading off potential security problems before it is too late. 

    Gene talks about his experiences with using open-source static analysis tools to build security into the development process without spending much time or effort, but still adding plenty of security value. 

  • Liked Alexei Zheglov
    keyboard_arrow_down

    Five Very Important Numbers And How They Can Help Improve Your Knowledge-Work Organization

    Alexei Zheglov
    Alexei Zheglov
    schedule 2 years ago
    Sold Out!
    60 mins
    Tutorial
    Intermediate

    This session will be about five numerical characteristics of a process.  (Call them "metrics", but beware we will be discussing only those that are difficult to game.)  I chose five of them that are not often discussed,  rarely measured, and even less frequently used in making decisions.

    This happens partly because of inertia.  In the better-studied world of manufacturing physical products and services, for example, one of these quantities approaches 100%, another one is almost always (ideally) zero, and yet another one is a single number rather than a statistical distribution.  You don't even have to think about them.  But when the customer value is created in the brains of intellectual workers rather than on the assembly line, the five quantities we will be discussing reveal non-trivial insights.

    We will discuss what you can do to measure them when you return to your office on Wednesday.  We will also discuss how you can practially use the new knowledge, starting on Thursday, to find new leverage for improvement, find time for work that is important, but not urgent, balance capabilities of your organization with the demand placed upon it, deal with uncertainty, and forecast the delivery of your projects and other commitments.

     

  • Liked Richard Cheng
    keyboard_arrow_down

    A Roadmap for (Agile) Engineering Best Practices – What Every Non-Technical Person Needs to Know

    Richard Cheng
    Richard Cheng
    schedule 2 years ago
    Sold Out!
    60 mins
    Talk
    Beginner

    Summary: Presenting a roadmap explaining engineering best practices, why it’s needed, supporting tools, level of effort to implement, and sequence for implementing.

    21st Century IT development requires building quality into our development practices yet many software teams fail to implement technical practices that are necessary for long term success. Practices like automated builds, automated tests, automated deployments, continuous integration, and continuous delivery are now considered essential for the success of any software development project. Without these practices, the quality of software goes downhill and teams can no longer sustain their initial high levels of productivity.

     

    However, understanding and implementing the practices can seem daunting.  This session presents an easy to understand roadmap for implementing engineering best practices.  The roadmap explains what the practices are, the tools that support the practices, a recommended sequence to implement, and effort to implement.

     

    Though this topic is about engineering best practices, attendees do not have to be technical to get value from this session.  The session gives a non-technical look at a technical concept and is great for any person in the organization managing, working with, or working on IT teams/programs.