Clear Acceptance Criteria: The Key to Good Software Quality Right from the Start

Home » Blog » Software » Clear Acceptance Criteria: The Key to Good Software Quality Right from the Start

Actually it should come as no surprise that clear acceptance criteria are a quintessential prerequisite for high quality software that meets both design requirements and customer demand. All too often however, acceptance criteria for software products are either non-existent or vague and ambiguous at best.

Who hasn’t come across ‘acceptance criteria’ such as “The app should have a modern UI.” or “The application should be easy to use.“? What do bromides like that amount to? Not much, unfortunately.

Elena Kulik of RubyGarage wrote about why it’s important to define clear and explicit acceptance criteria and I couldn’t agree more.

Yes, it’s obvious but still acceptance criteria and corresponding test cases are often neglected during software development. Trading in software quality for more output per unit of time (for instance to be able to keep a deadline) can be tempting but it’s treacherous.

Sure, in the short term this might allow you to create more stuff (though I doubt even that’s true in most cases) but not only will your software quality suffer severely in the long run, more importantly you’ll lose direction: You’ll haphazardly create something but that something quite likely will be of little value (or at least a lot less than had you defined clear acceptance criteria beforehand) to your target customer.

Frequently though, it isn’t even quality being traded in for time that’s at the core of the problem. Depending on the application and its complexity defining actually useful acceptance criteria can be quite challenging. As with any skill this can only be learned by doing it frequently. By trying, iterating and getting a little better each time.

In order to ultimately get there one obviously has to get started and make understandable and useful acceptance criteria a prime objective of one’s software development process.

Leave a Comment

* Checkbox GDPR is required

*

I agree

By continuing to browse the site you agree to our use of cookies. Privacy Policy

Privacy Preference Center

Strictly necessary

These cookies are necessary for the site to function.

PHPSESSID: Preserves user session state across page requests.

__cfduid: Used by the content network, Cloudflare, to identify trusted web traffic.

PHPSESSID
__cfduid

Preferences

Remembers the user's submitted data when a comment is submitted in a blog post. The purpose is to aut o-populate form fields for subsequent comments, in order to save time for the user.

wfvt_#

Statistics

Statistic cookies help us to understand how visitors interact with our websites by collecting and reporting information anonymously.

_ga: Registers a unique ID that is used to generate statistical data on how the visitor uses the website.

_gat: Used by Google Analytics to throttle request rate.

_gid: Registers a unique ID that is used to generate statistical data on how the visitor uses the website.

collect: Used to send data to Google Analytics about the visitor's device and behaviour. Tracks the visitor across d evices and marketing channels.

_ga,_gat,_gid
collect

Security

We use Wordfence to secure our website against hacking attempts: https://www.wordfence.com/

wordfence_verifiedHuman

Close your account?

Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?