Maintaining software is hard and therefore expensive and IT departments are often under funded. However, if they are in a just do it mode then non-functional requirements are easy to be forgotten. The consequences of leaving these NFRs lead directly to the aforementioned maintenance problems and increased technical debt.
NFRs are necessary to completing the story of the IT application. While you might consider two or three important NFRs (like performance and security), you’ll probably not cover the others extensively enough, or you might miss out on them all together. And if you do allocate time to deal with them, when the project schedule slips, the NFRs may be the first thing to get drop. So, whether you plan for NFRs or not, chances are high you won’t cover them 100% of the time. You should try to avoid adding technical debt and maintenance nightmares to your future portfolio.
NFRs are key to any software/IT program. They cannot be overlooked or ignored. The book provides a comprehensive approach from analysis, architecture and measurement of non-functional requirements. The book outlines the methodology for capturing the NFRs and also describes a taxonomy framework that can leveraged by analyst and architects for tackling NFRs on engagements.
To summarize, the key differentiators for the book are:
- Covers all the three stages of non-functional requirements that is, analysis, architecture and measurement.
- NFR framework and taxonomy provides guidance around the modelling phase for the NFRs
- Describes the process for capturing and analyzing the KPI and KRAs. These are the key metrics that are required by different stakeholders.
- Trade-offs between various NFRs are covered as part of the title
- Describes the application performance management domain which is a key practice for managing and monitoring of enterprise applications that helps monitor and analyze NFR KPIs and KRAs as part of the ongoing process.
Coverage of the book:
- This book covers areas pertaining to analysis, architecture and measurement of non-functional requirements. A topic with-out which software systems cannot be build or deployed. NFRs are a life-line of any software application and capturing and addressing them is a critical activity in any IT project. The topic in itself is very critical and applicable for IT systems/applications for various industry verticals. The book provides a comprehensive approach from analysis, architecture and measurement of non-functional requirements.
Part I - Analysis:
- The books provides and introduction of NFRs and why NFRs are a critical for building software systems. The next section describes the taxonomy of NFRs that is, scalability, availability, reliability and so on. The books outlines various methodology for capturing the NFRs, The books also outlines and describes a framework that can leveraged by analyst and architects for tackling NFRs for various engagements. The framework will focus on the KPIs and KRA for each of the NFRs which will be the key input for solution design phase. The NRF framework will focus on the most critical NFRs applicable for any given situation and any industry.
 Part II - Architecture:
- This section focus on the solution part of the NFRs providing insights into how they will be addressed in the solution design phase. The book covers key NFRs that are most critical for any project and for each NFR provides the various alternatives pertaining to the solution, the design principle that needs to be applied to achieve the desired outcome for example, high availability or scalability or reliability as covered. The book includes considerations for bespoke (Java, .NET) and COTS applications and are applicable to any IT applications/systems in different domains.
 Part III - Assessment:
- This part deals with the measurement of NFRs. This outlines the methodology for NFRs measurement. This sections also describes the trade-offs between various NFRs and the best practices to be applied on engagements.