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.
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.
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.
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.
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.
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.
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.
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.
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.
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...
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...
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...