Shall be capable of...

A requirement to be “capable” does NOT specify that the system be delivered be ready to do the job, but that is never the intention of the spec writer. We must purge the phrase from our requirements writing. This alone does not doom a spec but it is indicative of lack of rigor in the requirements analysis and spec generation process.  I think most of the time its just lazy writing but sometime we use the phrase intentionally.  Don’t.

We often intentionally get into this “shall be capable of…” requirements writing trap in the situation where we want to specify a performance level but allow latitude as to when the specified performance is employed, “be capable of producing really dark toast, but not all the time”. This trap can be avoided by decomposing the problem space and creating multiple requirements, typically one to specify the performance range and another to specify the selectable control within that range. The system shall produce toast in the range of “warm” to “really dark”. AND.  The selection of toastification shall be selectable by operator input. Together these meet the need of specifying a maximum capability of the system but allowing the range of options to be employed.