Posts

Showing posts from October, 2021

PASSME MUsTeR

Image
While there are plenty of non-functional requirements ( take a look at ISO 25010 for example ), 6 of them are the key ones that we need to prioritize when designing solutions. A great mnemonic to remember those is PASSME. I first encountered it at jfdeclerq.biz and it served me very well. PASSME stands for Performance, Availability, Scalability, Security, Maintainability, Extensibility . Prioritization of those NFRs makes sense. Very few users are happy to use slow software, even fewer are happy when it's inaccessible, especially if starts failing as demand grows. We want our data and services secure. Lastly with the initial development costs comprising only 20-40% of the total cost of the software over its life-cycle, it is critical to provide well-written and extensible solution. PASSME can be extended another acronym MUsTeR: Manageability, Usability, Testability and Reliability. Collectively these ten NFRs should be good enough to cover most of the use cases, but usually the