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

schedule Oct 24th 02:00 PM - 02:45 PM place Room 5

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.

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

Outline/structure of the Session

  • Reasons why your test code should have same high quality you insist on for your production code
  • Normal TDD cycle
    • Red, Green, Refactor
    • Designed for production code
    • Ensures that your test only passes as a result of the code that you write
    • Allows you to safely refactor your production code without worrying about introducing failures
  • Risks of changing your tests without watching them fail
  • Red-bar Cycle
    • Red, Refactor, Green
      • Mutate the production - produce the red bar (your test is failing)
      • Refactor your test - continue to see the red bar (your test continues to fail)
      • Reverse the mutation - bar should switch to green (your test should now pass)
    • Designed for your test code
    • Ensures that your test code continues to detect the failure condition that it was designed to
  • Walk through a live example

Learning Outcome

A technique for safely improving the quality of your test suite without introducing false positives.

Target Audience

Developers, Testers

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Johanna Rothman
    keyboard_arrow_down

    Johanna Rothman - Becoming an Agile Leader, Regardless of Your Role

    45 Mins
    Keynote
    Intermediate

    Agile is about the ability to inspect and adapt to change. Can we become adaptable agile leaders? You don’t need to change your title. You might not need to change where you sit in the organization. You will need to change your mindset to have the courage to lead.

    Johanna will discuss how you can develop an agile mindset, seeing and living the “art of the possible.” We’ll discuss how your mindset influences your change artistry tools, and maybe even what you call yourself. We’ll see how to learn from small successes and continue to make progress, as you change yourself and your organization. You can start your change by changing your mindset to be one of change artistry and leadership.

  • Liked Dan Neumann
    keyboard_arrow_down

    Dan Neumann - Improve Your Team: Explore Cognitive Bias

    Dan Neumann
    Dan Neumann
    Agile Coach
    AgileThought
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Many team challenges can be tracked back to cognitive biases: our judgement gets anchored, we think we're better than we are, and we are our own favorite reference point. And even though we're encouraged to "think outside the box," there are conditions where we have a bias against creativity. If that's not a recipe for a tough team environment, I don't know what is.

    Improve your game by learning about bias! You'll leave this session with strategies for identifying and mitigating bias on your team. 

  • Liked Manjit Singh
    keyboard_arrow_down

    Manjit Singh - The Power of Mindsets and Questions in Agile Coaching

    45 Mins
    Talk
    Intermediate

    “The important thing is not to stop questioning.” –Albert Einstein, because “every question missed is a crisis waiting to happen.” Discover the technique to ask the questions to make breakthrough differences in decision- making, problem-solving, innovation & culture. Typically, questions open thinking, while answers often close down thinking. Question Thinking is a tool for moving beyond limitations in perception and thinking and advancing to novel and extraordinary solutions and answers.

  • Liked David Horowitz
    keyboard_arrow_down

    David Horowitz - The 7 Secrets of Highly Effective Retrospectives

    David Horowitz
    David Horowitz
    Cofounder and CEO
    Retrium
    schedule 1 year 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

    Shawn Faunce - The Awkward Teenager of Testing: Exploratory Testing

    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.

     

  • 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 Matthieu Cornillon
    keyboard_arrow_down

    Matthieu Cornillon - OKRs and Agile: Achieving Harmony

    Matthieu Cornillon
    Matthieu Cornillon
    Agile Coach
    Amplify
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    In October, 2015, my company was sold by their parent and taken on by a new investor.  We lost somewhere around half of our staff, but we still had 15 years of legacy tech to maintain while simultaneously finding a new path to profitability.  Morale was extremely low across the engineering organization.  Leaders from engineering gathered in a board room with executive management to figure out next steps.

    What started in that board room evolved into our current use of Objectives and Key Results (OKRs) to provide a middle tier of guidance between company vision and sprint planning.  We have also adopted a new tool to clarify the mission of particular teams within the organization.  In this talk, I'll go over what we did and what we've learned.  Most importantly, I'll go over the critical approaches necessary to ensure that you continue to follow Agile values and principles while looking at longer-term horizons like quarters and years.

    While much of this was accelerated by our company's sale, it is not just about turning around a company.  The thinking, which continues from what I shared in my Agile DC 2015 talk, "The Myth of Fixed Scope: Why Goals Matter", is for anyone who is looking to deepen their adoption of Agile and Scrum.

  • Liked Craeg K Strong
    keyboard_arrow_down

    Craeg K Strong - Behavior Driven Development Workshop

    45 Mins
    Workshop
    Beginner

    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!

  • Liked David W Kane
    keyboard_arrow_down

    David W Kane / Deepak Srinivasan - "Hitting the Target" - Business Value in Mission-Focused Organizations

    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 Brian Sjoberg
    keyboard_arrow_down

    Brian Sjoberg - Let's Sharpen Your Agile Ax, It's Story Splitting Time

    Brian Sjoberg
    Brian Sjoberg
    Agile Coach
    Excella Consulting
    schedule 1 year ago
    Sold Out!
    45 Mins
    Workshop
    Beginner

    Do you want to write great User Stories that provide the vehicle for conversation and confirmation that we build the right thing? Do you struggle with splitting stories so that they still provide business value but can be accomplished within a fraction of your iteration and be potentially shippable to production? We will do a quick refresher on User Story formatting to include Acceptance Criteria. Then we will dive into learning techniques for splitting stories in this interactive workshop. 

  • Liked Mathias Eifert
    keyboard_arrow_down

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

    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

    Paul Boos - Mind Meld: Why Pair Programming Works

    Paul Boos
    Paul Boos
    IT Executive Coach
    Excella
    schedule 1 year 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 Amber King
    keyboard_arrow_down

    Amber King / Jesse Huth - Forming Self-Selected Teams: How to Create Happy, Empowered, and Effective Teams

    45 Mins
    Talk
    Intermediate

    How do you create excited, engaged, happy, and effective teams? Start them off right by letting your engineers choose their own teams and projects! Through a proven technique called self-selection, Opower was able to turn a tribe of 40 engineers, many of whom were unexcited about continuing to work on the same old products, into six high-performing teams with engineers who were excited to embark on a new adventure, acquire new skills, and ship awesome code.

    In this session we will cover the self-selection process: what it is, generating buy-in & excitement, preparing your teams, running a self-selection event, dealing with concerns throughout the process, and measuring the success of your process. This talk is for anyone who wants to create better teams including Agile Coaches, Release Train Engineers, Program Managers, individual contributors, and other organizational change leaders.

  • Liked Andrea Goulet
    keyboard_arrow_down

    Andrea Goulet - Vulnerability: The Key To Successful Agile Adoption

    Andrea Goulet
    Andrea Goulet
    CEO
    Corgibytes, LLC
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    Software development culture has been dominated by the hero. Rock stars, ninjas, and 10Xers have been the center of attention, giving the skewed perception that great software is the result of a single amazing developer. But this couldn't be further from the truth.

    In this talk, Andrea Goulet, the CEO of Corgibytes, will share her experiences using vulnerability and empathy as drivers for Agile adoption and culture building. 

  • Liked Jason Tice
    keyboard_arrow_down

    Jason Tice - “Let’s Be Awesome”: Practices, Frameworks and Games to Improve Customer Collaboration

    45 Mins
    Workshop
    Intermediate

    The agile manifesto challenges us to favor customer collaboration more than contract negotiation, but what does that really mean and how do you actually do that?  Join us to experience a “fun” ideation framework that teams can use to engage in dialogue with their customers to determine what needs of the team / customer relationship are most important at the present time and then as a group decide on practices to support the highest priority needs.  As the ideation framework is completed, teams and their customers will be challenged to work together and achieve consensus on a limited number of priorities since we all know what happens when we try to make EVERYTHING a priority.  “Let’s Be Awesome” concludes with teams establishing and agreeing upon working agreements to build an “awesome” relationship between customer and team.  In this hands-on and highly interactive workshop, participants will have a chance to learn how to use the “Let’s Be Awesome” framework and cards to facilitate a team / customer ideation session focused on establishing the foundation for a strong relationship; an opportunity to learn, review and discuss many agile practices supportive of effective team / customer collaboration; and a chance to experience a “MarketPlace of Ideas” where they can exchange recommended patterns and practices for customer collaboration from others also attending the workshop.

  • Liked Tim Gifford
    keyboard_arrow_down

    Tim Gifford - "DevOps" on Day 1 with Operations First Delivery

    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 Ken Furlong
    keyboard_arrow_down

    Ken Furlong - Upgrade Your Metrics – Cumulative Flow Diagrams and Beyond

    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 Bob Payne
    keyboard_arrow_down

    Bob Payne - Disrupting Ourselves: Moving to a Teal Organizational Model

    Bob Payne
    Bob Payne
    Change Agent
    LitheSpeed
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    In his book Reinventing Organizations, Frederic Laloux describes the “Teal Organization” model. Teal organizations have an evolutionary purpose, self-managing teams with little or no organizational hierarchy, and individuals who bring their whole person to work rather than putting on a work face when leaving the house. Zappos is the most talked about organization attempting a transition to Teal.

    Bob describes how his organization is becoming a Teal Organization. Since the concept of Teal is not a specific recipe, they are basing their transition on practices gleaned from other organizations and their history of helping truly agile organizations. LitheSpeed is starting the path of delegating most authority to team members including profit sharing and hiring decisions, using a Spotify Tribe model and extreme transparency, implementing a simple set of peer-based operating procedures, and deemphasizing titles.

    Bob shares lessons on building the organization, culture, and systems to support the transition. Although it’s early in the journey and the road is sometimes rough, Bob is excited about the prospect of a Teal future.

    Come hear the good, the bad and the ugly side of this long days journey into teal.

     

  • Liked Joel Bancroft-Connors
    keyboard_arrow_down

    Joel Bancroft-Connors / Frank Balogh - Restarting your agile transformation- An Agile Playbook

    45 Mins
    Talk
    Intermediate

    Warning, road closed use alternate route.

    Has your agile transformation stalled? Are you treading water? Does it feel like your standups are just going through the motion?  Sounds like you need a Transformation bypass.

    Any agile transformation is a challenge and can stall if it doesn't get the right amount of attention. Maybe you had a consulting firm come in to lay out a roadmap. Only after they left the anti-bodies rushed back in. Or your tried to kick it off internally, to find yourself never getting off the ground despite executive support?

    This session provides a playbook for re-engaging (or engaging from the get go) an enterprise agile transformation. A week by week, play by play guide for enabling the change engine to get enough momentum to keep going despite the resistance.

    This playbook is based on what we are doing right now in the AOL Platform's division. From day one hitting the ground to when and how you roll out common training, to what you do next, and next and next.

  • Liked Atif Salam
    keyboard_arrow_down

    Atif Salam / Dave McMunn / Phillip Manketo - Cracking the Code... Implementing SCRUM at Scale within Enterprise Data at Fannie Mae

    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.