Non functional requirements

NFR 001: Make it easy to use

Designing an enterprise application.   Recently someone was grumbling to me about the statement “easy to use”. They felt it was a worthless statement; what does it actually mean? For them it had no meaning and thus should not be used at all.  This is nonsense.  “Easy to use” is a worthy statement that should either be treated as a non functional requirement with clearly defined acceptance criteria, or as a measurable KPI.  So to start the thinking on defining what easy to use must mean to your project, try using the BDD format of given, when, then:

As an Expert User
Given I have had no training
When I have to complete <insert goal>
Then I will be able to accomplish it in under five minutes

As a Novice User
Given I have had no training
When I have to complete <insert goal>
Then I will be able to accomplish it in under seven minutes

Links

Dan North introduces BDD

Some one forgot to ask the critical question…

Some one forgot to ask the critical question,

What is the likely traffic that will hit our site during the offer and will our system be able to handle it?

Dr. Pepper said that they’d give a free Soda to all Americans if Guns’n’Roses released their new album this year. They did and the drinks company held up their promise, setting up a website offering a free coupon for 24 hours (if you signed up). They turned a throw away comment to their advantage and this could have been great PR. Only they didn’t predict the volumes that would hit the site, it couldn’t handle the traffic and went down for most of the day. Cue panic extension of the offer, unhappy customers, unhappy Axel Rose, PR disaster and lawyers on the prowl. If only they’d remembered to think about NFRs.

What about the non-functionals?

Non-functional requirements (NFRs) are the poor, ugly sisters to the functional requirements. They are often left out, or worse written in wooly and non SMART terms; “the website shall be available 24/7”. Is this what happened with HMRC? The website that allows UK citizens to complete their tax returns on-line has gone down, just as the deadline looms. I wonder if this is a case of the non-functional requirements around performance, scalability volumes etc being forgotten about or just not tested for. Inexcusable really.