Articles

Gold-plated leaves Build Just Enough of a Feature with ATDD

Developers have a tendency to overbuild their code. This is frequently due to not knowing exactly when they're done and not knowing how robust a feature needs to be. Acceptance test-driven development (ATDD) is a great way to avoid this practice because when the acceptance test passes, the developer knows they're done building that particular feature.

David Bernstein's picture David Bernstein
Specifications Acceptance Criteria, Specifications, and Tests

One of the benefits of agile is how it helps specify requirements. Instead of trying to predict the future with your requests, you can wait an iteration and see if more criteria are needed. This article gets into how executable specifications, specification by example, and test automation can help further improve your requirements management.

Allan Kelly's picture Allan Kelly
Acceptance criteria checkbox Defining Acceptance Criteria for Agile Requirements

Acceptance criteria can be helpful in expanding on user stories in order to capture requirements for agile projects. However, acceptance criteria should not be a route back to long, detailed documents, and they are not a substitute for a conversation. This article tells you how and when acceptance criteria should be written and employed.

Allan Kelly's picture Allan Kelly
Making Agile Leaner Making the Agile Extra Lean by Adopting New Practices

Prakash Pujar writes about his team's experience adopting some of the best agile practices to make their process extra lean and increase efficiency by increasing throughput—all without any change to the agile framework his team was following before and after. Here, he talks about some of the lean practices that worked for them.

Prakash Pujar's picture Prakash Pujar

Better Software Magazine Articles

Gain Greater Testing Precision Through Adaptive Test Methods

Brooke Bowie explains how "adaptive" software testing provides nimble, high-value software test solutions that bend and shift with the changing needs of the market or the environment. High-value testing does not mean that you need to perform all end-to-end testing or run the full suite of tests; this can potentially create a bottleneck and dampen the velocity. Adaptive tests are always targeted at the most relevant business and quality goals.

Brooke Bowie's picture Brooke Bowie
Increase Quality with Table-Driven Acceptance Tests

Vague or ambiguous requirements can cause loops in development processes. Creating requirements that include acceptance tests cuts down on the looping and increases the flow of working software to the customer.

Ken Pugh's picture Ken Pugh Al Shalloway
From Here to Acceptance Test-Driven Development

Acceptance test-driven development (ATDD) means different things to different people based on their experiences—from "It's all about testing" to "It has nothing to do with testing,” and from "TDD, ATDD—it's all the same" to "TDD and ATDD are nothing alike." These nine landmarks will help you navigate ATDD no matter where you are coming from.

Antony Marcano's picture Antony Marcano

Interviews

Jared Richardson discusses acceptance test-driven development and agile communication Acceptance Test-Driven Development and Communication in Agile: An Interview with Jared Richardson
Podcast

In this interview, principal consultant and Agile Artisans founder, Jared Richardson, explains how misunderstanding requirements can cause major issues within an organization. He covers why team members need to communicate, how big projects are often mishandled, and the value of agile.

Josiah Renaudin's picture Josiah Renaudin

Conference Presentations

Better Software West 2018, Agile Dev West 2018, DevOps West 2018 Using Behavior Driven Development and Acceptance Test-Driven Development to create GREAT requirements
Slideshow

Defining, understanding, and agreeing on the scope of work to be done is often an area of discomfort for product managers, business analysts, developers, and quality assurance experts alike. The origin of many items living in our defect tracking systems can be traced to the difficulties encountered while performing these initial requirements activities. Ken Pugh introduces behavior-driven development (BDD), also known as acceptance test-driven development (ATDD), and explains how it works in creating detailed requirements. He outlines the different roles that team members play in the process. BDD/ATDD has proven to dramatically increase productivity and reduce delays in development by decreasing re-work due to requirement misunderstandings.

Ken Pugh
STARCanada Logo Accessibility Standards and Testing Techniques: Be Inclusive or Be Left Behind
Slideshow

While Information and Communication Technology (ICT) accessibility for a wider spectrum of users—including the blind—and their interfaces is being required by law across more jurisdictions, testing for it remains limited, naïve, and too late. The consequences of staying ignorant include...

David Best, Sandy Feldman, and Rob Harvie
Requirements and Acceptance Tests: Yes, They Go Together
Slideshow

The practice of software development requires a clear understanding of business needs. Misunderstanding requirements causes waste, slipped schedules, and mistrust. Developers implement their perceived interpretation of requirements; testers test against their perceptions. Disagreement can...

Ken Pugh, Net Objectives
User Acceptance Testing in the Testing Center of Excellence
Slideshow

Centralization of testing services into a testing center of excellence (TCoE) for system testing is common in IT shops today. To make this transformation mature, the next logical step is to incorporate the user acceptance testing (UAT) function into the TCoE. This poses unique challenges...

Deepika Mamnani, Capgemini

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.