Estimating Non-Functional Requirements
This post is from Mike Cohn's Blog - Succeeding With Agile® by Mike Cohn. Click here to see the original post in full.
A few weeks back I promised someone I would blog about the unique challenges of estimating non-functional requirements.
First, let’s remember that a non-functional requirement is a requirement that is more about the state of being of the system than about one specific thing the system does. Non-functional requirements often have to do with performance, correctness, maintainability, interoperability, portability, and so on. They are often called the “-ilities” of a system because so many end in “ility.”
(By the way, in case you’re wondering, non-functional requirements can be written as user stories
The challenge with estimating non-functional requirements is that there are really two costs. First is the cost of initial compliance. Second is the cost of ongoing compliance.
To see these two costs at work, let’s consider an example. Suppose we have a performance requirement and that the team is working on a new product. In the first sprint the team may be thinking about performance but they aren’t going to do any performance testing. There’s no code yet. There’s definitely code being developed over the next few sprints and say by sprint five the team decides there’s enough code that they want to start doing some performance testing during that sprint.
Remember our first cost...read more
Leave a Reply