Skip to main content

Certified Enterprise Architect Professional (CEAP) - Module 10: Design for NFR's

The difference between functional and non functional requirements is depicted below:

functional  - > think scope, how system must work?

non functional -> think quality, how system should perform?

Functional requirements define what a product must do and what its features and functions are. Nonfunctional requirements describe the general properties of a system. They are also known as quality attributes.

NFRs describe system properties or attributes that are not directly tied to specific functions but instead govern how a system performs under certain conditions.

 NFR attributes:

  • performance
  • security
  • scalability
  • error handling
  • useability
  • maintainability
  • availability
  • portability
  • interoperability
  • efficiency
  • compliance
Key responsibilities of architects in managing NFRs:
  1. Define the system's non-functional requirements and documenting NFRs
  2. Analyzing the impact of NFRs
  3. Prioritizing NFRs
  4. Trade-off analysis
  5. Designing for NFRs
  6. Validation and verification
  7. Continuous improvement

How to manage NFRs in enterprise architecture:
  1. Identify and document NFRs
  2. Prioritize NFRs
  3. Integrate NFRs into design
  4. Monitor and measure NFRs

Example:
A non-functional requirement (NFR) in enterprise architecture could be something like "The system must be able to handle 10,000 concurrent users with a response time of under 2 seconds during peak hours," which specifies the performance and scalability needed for the system to function effectively under high load, rather than defining a specific feature or functionality. 

Examples of NFRs in enterprise architecture:
Performance:     Response time, throughput, peak load capacity 
Scalability:     Ability to handle increasing user load or data volume 
Security:     Access control, data encryption, vulnerability management 
Reliability:     System uptime, fault tolerance, disaster recovery 
Maintainability:     Ease of updating, debugging, and modifying the system 
Usability:     User interface intuitiveness, accessibility 
Availability:     System uptime percentage, planned maintenance windows

Comments

Popular posts from this blog

Certified Enterprise Architect Professional (CEAP) - Module 4 - Architecture Precursors

 Architecture Precursors: Precursors to modern Enterprise Architecture (EA) include early frameworks like IBM's Business Systems Planning (BSP), which focused on aligning business strategy with information systems, as well as other Information Systems (IS) architecture methodologies that emerged in the 1970s and 80s, emphasizing the connection between business processes and IT systems, laying the groundwork for the holistic view of an organization that EA represents today; the "Master Plan for Information Systems" by Evans and Hague is also considered a foundational concept in this area. Drivers: internal / external pressure enforce to change the system Aims & Directives: Aims:  Goals Objectives Requirements Directives: Principles (example: Principles can be associated with business, data, applications, infrastructure, or security) Policies (example: Members of the public have minimal access to data) Business Rules (example: A rule directs and restricts a procedure)

Scaled Agile Framework (SAFe)

The Scaled Agile Framework (SAFe) is a set of organizational and workflow patterns for implementing agile practices at an enterprise scale. The framework is a body of knowledge that includes structured guidance on roles and responsibilities, how to plan and manage the work, and values to uphold. Scrum is a simple, flexible approach to adopting Agile that's great for small teams. SAFe is an enterprise-wide Agile framework designed to help bring Agile beyond the team and into the company as a whole. Scaled Agile has built a comprehensive level that includes all the four layers called the team, program, large solutions, and portfolio level. 4 Layers: Portfolio - Strategy, Vision, Roadmap, Strategy goal, Decision making, Budget, Portfolio level metrics,  Program - Align multiple teams towards a common mission, Bring together all the Agile teams, transparency, collaboration, and synchronisation, Scrum of Scrums, Product Owners to define the overall vision. Large Solutions - ar...

4 T's - Technology, Time, Teamwork, Transparency

 1) Technology: Software development technologies are the tools and methods that developers use to design, develop, test, and deploy software applications. These include a wide range of software technologies, such as programming languages, frameworks and libraries, databases, and cloud computing platforms. 2) Time: A timebox is a fixed time period within which a deliverable must be produced in a project management context. It's a time management technique that involves dividing time into individual time periods, each with its own goal, duration, and deadline. Timeboxes are self-contained calendar events that can't be extended once they've started. The fundamental principle of timeboxing is that time in timeboxes can't shift, and once the time runs out, work must stop, even if the task isn't finished.  3) Teamwork: Teamwork in project management is a measure of how well a project's team works together to achieve a goal. It involves collaboration, communication, a...