Posts

Showing posts with the label NFR

Plan ahead for internal correlation and tracing needs

Image
Inter-system and Intra-system tracing capabilities are a must in modern distributed architectures and in systems where dashboards and triage must be done without cracking open the production environment for on-box work. Teams need to understand and verify the lineage of inbound requests that end up in data stores and in outbound calls or notifications to other systems. Lineage and Observability NFRs are the requirement that creates the need for inter and Intra team correlation capabilities.  Everyone should have tracing and monitoring Non-Functional Requirements (NFRs) that describe their observability needs. Those NFRs should describe how a system must support tracking work through a system from the time it enters until the time it transitions to at rest or the time it communicates with other systems.  Teams without these NFRs often end up scrambling to provide production metrics and debugging tools during production events. YouTube Vid...

Non Functional Requirements Component Type Applicability

Image
Non Functional Requirements (NFR) define the constraints or the way Functional Requirements are implemented. NFRs are categorized as different types of constraints.  Those categories are great for the enterprise but don't really help determine which NFRs apply in any given Business Feature. One way to remedy this is to create a second type of categorization that identifies which NFRs apply for a given component type, The individual NFRs in a category may only apply to certain deployable types. Related Video: https://youtu.be/S4MKvpNNcNo Blog (Related):  https://joe.blog.freemansoft.com/2022/06/non-functional-requirements-nfrs-in.html Classic NFR Categorization NFRs are generally grouped with related constraints.  You can find a variety of categorization taxonomies with a quick internet search.  From Wikipedia: Non-functional requirements are often mistakenly called the "quality attributes" of a syst...

Scaled Agile - Functional Requirements, Features, Non Functional Requirements, Enablers

Image
Value streams are composed of and managed as a set of  Business Features that  represent some unit of business value. Business  Features are defined in terms of Functional and Non-Functional requirements. Product   Owners define the  business requirements and acceptance criteria for a business feature .  Architecture and technical owners associate Non-Functional Requirements with the same Business Features. Functional Requirements and Acceptance Criteria  describe Features Product Owner's point of view.  Non Functional Requirements are a second requirement stream that defines the structure needed to support the Functional Requirements and thus the business system. As an example, the house building equivalent of FRs and NFRs could be the following: Functional Requirements would be the number of bedrooms, number of bathrooms, cabinet types, and the type and color of...

Non Functional Requirements - NFRs - in Software Systems

Image
NFRs are requirements that do not relate to business functionality. They relate to attributes like reliability, efficiency, and portability. Non Functional Requirements are architecturally significant requirements because they impact the system architecture. They are properties of a system that sit outside of specific business features or functionality. NFRs are sometimes called constraints. Other times they are called Quality Attributes. Constraints generally change the shape of architecture or design. Capturing NFRs early is part of a shift left where we surface the non-business value needs earlier in the process. Non-functional requirements impact the system as a whole and are cross-cutting across business features. when the non-functional requirements are done well, you may eliminate 50 to 80 percent of product defects.   Credit: Jamsoft Project efforts really need to be explicit about capturing their NFRs and updating them. Everyone has been on projects where some techni...