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

Delivering a project within budget

 Here are some tips for delivering a project within budget: Set a realistic budget Define the project's scope and necessary resources, and create a budget that's realistic. Cost estimate Segment the project into smaller tasks and milestones to plan how to use resources and provide clarity. Divide the project plan Break down the project into tasks to avoid late deliverables and over-budget projects. Monitor progress Regularly track the project's progress to identify and prevent cost overruns. Use progress reports to compare actual costs to the budget. Anticipate and revise changes Communicate with stakeholders to identify and assess risks, and assign owners to each risk. Consider different scenarios Estimation can be difficult for complex projects with many potential outcomes. Tracking: Tracking time spent on tasks, Tracking expenses per project, and Using project management software. Use Historical Data Your project is likely not the first to try and accomplish a specific o...

Empiricism (Scrum)

Empiricism asserts that knowledge comes from experience and making decisions based on what is observed. Pillars of  Empiricism . Various practices exist to forecast progress, like burn-downs, burn-ups, or cumulative flows. While proven useful, these do not replace the importance of empiricism . In complex environments, what will happen is unknown. Only what has already happened may be used for forward-looking decision making. Each artifact contains a commitment to ensure it provides information that enhances transparency and focus against which progress can be measured: ● For the Product Backlog it is the Product Goal. ● For the Sprint Backlog it is the Sprint Goal. ● For the Increment it is the Definition of Done. These commitments exist to reinforce empiricism . The sum of the Increments is presented at the Sprint Review thus supporting empiricism .

New way of product development

Today is the era of fast-paced world and competitive world. Companies are realizing that the old sequential approach to developing new products won’t get the job done and product can’t be reached to market when compared to competitors. The 4 stages of product development are as follows – R&D, Growth, Maturation, and Decline. Instead of sequential approach, companies are using holistic approach – as in rugby game, the ball gets passed within the team as it moves as a unit up the field. This holistic approach has six characteristics: 1)     Build-in-instability 2)   Self-organizing project teams 3)   Overlapping development phases 4)   Multi-learning 5)   Subtle (very clear and strong) control 6)   Organizational change to explore and learning The above six characteristics forming a fast and flexible process for new product development with advantage of act as a change agent, creative, market driven ideas, flexi...