A discussion of how to elicit non-functional requirements and some recommended questions to use when eliciting them. Practical examples to help a business analyst get what they need for a project.
This document discusses techniques for eliciting non-functional requirements from business stakeholders. It explains that non-functional requirements specify criteria for how a system should operate, such as usability, availability, scalability, and performance. The document provides examples of questions to ask stakeholders about usage scenarios, response times, growth projections, and other concerns to help define requirements in these key non-functional areas.
8 Characteristics of good user requirementsguest24d72f
The 8 characteristics of good user requirements are:
1. Verifiable - able to be tested through inspection, analysis, or demonstration.
2. Clear and concise - no more than 30-50 words and unambiguous.
3. Complete - contains all needed information without ambiguity.
4. Consistent - does not conflict with other requirements.
5. Traceable - has a unique identity that can be traced through development.
6. Viable - can be achieved within constraints of technology, budget and schedule.
7. Necessary - critical for meeting system objectives.
8. Free of implementation details - defines what functions without specifying how.
A presentation on the principles that technology suppliers can adhere to in order to become more responsible. Also serves as a description of behaviours that procuring organisations should look for in their suppliers.
This was originally written back in 2010. I didn't focus on the technology itself, hence most is still relevant today. However, there have been further developments since then that may require additional thought, e.g. the role of DevOps and the supplier's responsibility to it, the place of AppStore and similar software repositories.
Determining a system's requirements involves understanding the problem from the customer's perspective, as the customer may not fully understand the problem themselves. The software engineer must work to determine what tasks and qualities the desired solution should have based on information from the customer. Requirements analysis is the process of establishing what services the system should provide and constraints it must operate under.
Usability Engineering General guidelinesREHMAT ULLAH
This document discusses general usability guidelines for user interface design. It outlines several key principles: [1] The interface should keep users informed of system status and progress. [2] The interface language and concepts should match the users' language and mental models. [3] Users should feel in control and have freedom within the system to undo or redo actions. [3] Consistency in terminology, actions, and behaviors is important for usability.
This document discusses techniques for eliciting non-functional requirements from business stakeholders. It explains that non-functional requirements specify criteria for how a system should operate, such as usability, availability, scalability, and performance. The document provides examples of questions to ask stakeholders about usage scenarios, response times, growth projections, and other concerns to help define requirements in these key non-functional areas.
8 Characteristics of good user requirementsguest24d72f
The 8 characteristics of good user requirements are:
1. Verifiable - able to be tested through inspection, analysis, or demonstration.
2. Clear and concise - no more than 30-50 words and unambiguous.
3. Complete - contains all needed information without ambiguity.
4. Consistent - does not conflict with other requirements.
5. Traceable - has a unique identity that can be traced through development.
6. Viable - can be achieved within constraints of technology, budget and schedule.
7. Necessary - critical for meeting system objectives.
8. Free of implementation details - defines what functions without specifying how.
A presentation on the principles that technology suppliers can adhere to in order to become more responsible. Also serves as a description of behaviours that procuring organisations should look for in their suppliers.
This was originally written back in 2010. I didn't focus on the technology itself, hence most is still relevant today. However, there have been further developments since then that may require additional thought, e.g. the role of DevOps and the supplier's responsibility to it, the place of AppStore and similar software repositories.
Determining a system's requirements involves understanding the problem from the customer's perspective, as the customer may not fully understand the problem themselves. The software engineer must work to determine what tasks and qualities the desired solution should have based on information from the customer. Requirements analysis is the process of establishing what services the system should provide and constraints it must operate under.
Usability Engineering General guidelinesREHMAT ULLAH
This document discusses general usability guidelines for user interface design. It outlines several key principles: [1] The interface should keep users informed of system status and progress. [2] The interface language and concepts should match the users' language and mental models. [3] Users should feel in control and have freedom within the system to undo or redo actions. [3] Consistency in terminology, actions, and behaviors is important for usability.
The document provides an overview of design process and factors that affect user experience in interface design. It discusses various principles and heuristics to support usability, including learnability, flexibility, and robustness. The document outlines principles that affect these factors, such as predictability, consistency and dialog initiative. It also discusses guidelines for improving usability through user testing and iterative design. The document emphasizes the importance of usability and provides several heuristics and guidelines to measure and improve usability in interface design.
The document discusses the process of analyzing client requirements for a new system. This includes gathering information from clients, clarifying needs, structuring requirements, and confirming with clients that all functional, quality, and other needs have been identified correctly and fall within the project scope. The key steps are analyzing the information gathered, documenting the requirements, and obtaining final sign-off from stakeholders to finalize the requirements document.
The document provides guidance on working effectively with Bally Chohan's IT support services. It defines service request severity levels and statuses. It emphasizes clear problem statements, testing solutions before deployment, and shared ownership between users and support in resolving issues. It also outlines the benefits of using the service desk for documentation and escalation procedures for bringing management attention to critical issues.
The document provides an overview of the technical support training for HopOne Internet Corp and Superb Internet Corp. It discusses the two companies, their visions, technical support teams, levels of support, policies and procedures, resources available to support teams, and tips for providing customer support. The technical support teams are organized into three tiers to support Superb Internet customers on a 24/7 basis from several data centers. Customer service, escalation procedures, and standards for handling tickets are also outlined.
Prachi Rattan is a solution-driven professional with over 3 years of experience in requirements analysis, manual testing, web testing, and system configuration. She has worked as an Associate Business Analyst at ACS, a Xerox company, since 2013 on various projects for clients like HESS, P&G, and Xerox. Her responsibilities have included requirement analysis, test case design and execution, defect tracking, and more. Prachi has received awards for her work and aims to continuously learn while ensuring customer satisfaction.
The art of problem solving --> ensure you right the right business requiremen...Chris Lamoureux
The document provides tips and guidelines for developing effective business requirements. It discusses the importance of having a good problem solving process and defining requirements within that context. It then covers the key aspects of a problem solving framework, including identifying the problem, developing alternatives, selecting the best alternative, implementing it, and evaluating the solution. The rest of the document focuses on best practices for writing high quality requirements, such as making them verifiable, avoiding design details, using simple language, and proofreading thoroughly.
Deatra Lopez has over 29 years of experience in top secret test environments. She has a bachelor's degree in information management systems and certifications in A+, Network+, Security+, and CISSP classroom training. Her experience includes roles as a systems test engineer, senior test engineer, systems integration/test engineer, technical services engineer, PC/client server analyst, and lead operator supporting classified government systems and programs. She has expertise in software and hardware testing, troubleshooting, requirements analysis, and quality assurance.
Planning and Preparing for Electronic Health Recordsncofield
Implementing an Electronic Medical Records system is a daunting task for medical practices. This brief presentation can help a physician office understand all of the different facets of an EMR deployment and how the EMR will affect the entire network infrastructure of the practice.
The document discusses the Comarch service desk and how to work with it. It provides information on initiating help requests through the service desk's self-service portal, monitoring systems, phone, or email. It explains that within the service level agreement time of 8 business hours or less depending on priority, a technician will contact the requester to begin resolving the issue.
Requirement analysis and UML modelling in Software engineeringsnehalkulkarni74
Receptionist
Patient: Patient
Doctor: Doctor
- The vertical solid line represents the life of an
object.
- It runs from top to bottom.
Messages:-
- The arrow represents the message passing
between objects.
- The arrow head points to the receiver.
- The message name is written near arrow.
- Synchronous and asynchronous message
Receptionist
Patient
Doctor
makeAppointment()
checkAvailability()
scheduleAppointment()
confirmAppointment()
treatPatient()
billPatient()
- Sequence diagram shows the time sequence of
messages between objects.
- It emphasizes on
Avinash Singh Thakur is seeking a challenging role in incident, problem, and change management. He has over 6 years of experience in these fields working at Ericsson and NaviSite. He is skilled in ITIL processes and has experience leading teams and resolving high-impact incidents. He holds an MBA and certifications in ITIL, ISO 27001, and has experience working in SSAE-16 compliant environments.
The document discusses the systems development life cycle and its key phases including systems analysis, design, development and testing, and implementation. It provides details on the various techniques used in systems analysis such as questionnaires, interviews, observation, and documentation reviews. The document also covers the design phase including designing input/output screens, reports, file structures, and validation routines.
Why DevOps Needs to Embrace Distributed TracingDevOps.com
- DevOps practices and distributed architectures go hand in hand, but distributed systems lose end-to-end visibility and cross-team communication. Distributed tracing can help regain visibility by providing a request-centric view of microservices communication.
- To understand system performance, teams must define service level indicators (SLIs) based on what users care about, like latency and errors, and use tracing to connect variations in SLIs to root causes such as user behavior changes, upstream impacts, or resource contention.
- Distributed tracing is most effective when applied systematically across services to provide meaningful samples of requests that reveal patterns affecting key SLIs. This enables both reactive problem solving and proactive optimization.
This document is a curriculum vitae for Jawwad Nadaf that outlines his professional experience and qualifications. It summarizes that he has over 3 years of experience as a System Engineer and Network Professional providing IT support. His responsibilities have included troubleshooting issues with operating systems, networks, hardware, applications and coordinating with vendors to resolve problems for clients like Infosys and the Government of Karnataka. He holds Microsoft certifications and declares that the information provided is accurate.
Heuristic evaluation is a usability inspection method where 3-5 evaluators examine a user interface and judge its compliance with recognized usability principles called "heuristics." Each evaluator independently explores the interface twice and notes any violations of heuristics, such as consistency, visibility of system status, or flexibility of use. Evaluators then aggregate their findings and rate the severity of identified usability problems to prioritize fixes. With 3-5 evaluators, heuristic evaluation typically identifies around 75% of usability issues in a cost-effective manner.
Performance Requirements: CMG'11 slides with notes (pdf)Alexander Podelko
Performance requirements should be tracked throughout a system's entire lifecycle, from inception through design, development, testing, operations, and maintenance. However, different groups involved at each stage use their own terminology and metrics, making performance requirements confusing. The document aims to provide a holistic view of performance requirements by discussing key metrics like throughput, response time, and concurrency used across the lifecycle. It also addresses issues like ensuring requirements are defined consistently regardless of changing workloads or system optimizations.
Hönnun hugbúnaðar er sjaldan þannig að maður getur valið hvað sem maður vill. Oftar en ekki höfum við ekki aðeins kröfur um hvað forritið á að gera, heldur einnig hvernig það gerir það. Má nefna gæðakröfur, hraða, skalanleika og allskyns non-functional kröfur. Einnig geta verið kröfur um tungumál og aðllögun að ólíkum löndum. Erfitt getur verið að fá þessar kröfur upp úr þeim sem eru að óska eftir hugbúnaðnum séum við að skrifa hann fyrir aðra.
Hugbúnaður hefur einnig takmarkanir eins og hvaða tækni má nota, hvaða staðla og annað sem þegar er ákveðið. Þar fyrir utan eru takmarkanir sem stafa af þróunarteymum og fleirl. Í þessum fyrirlestri ætlum við að líta á þá þætti sem þarf að huga að þegar verið er að hanna hugbúnað og ætti að negla niður áður en farið er að útfæra.
This document discusses requirements engineering for software projects. It begins by defining what requirements are, noting that they can range from abstract statements to detailed specifications. There are three types of requirements documents: requirements definition for customers, requirements specification for contracts, and software specifications for developers. The document outlines the sources of requirements, key tasks in requirements engineering like elicitation and validation, and challenges in getting requirements right. It also discusses techniques for gathering requirements like inception, collaborative meetings, use cases, and elaboration of requirements into an analysis model.
The document discusses best practices for writing a software requirements specification (SRS). It emphasizes that a well-written SRS establishes agreement between customers and developers on required functionality, reduces development effort by surfacing issues early, and provides a baseline for validation and verification. The SRS should address functionality, interfaces, performance, attributes, and design constraints according to IEEE standards, and characteristics include being correct, unambiguous, complete, consistent, ranked, verifiable, modifiable, and traceable. While documentation takes time, the document argues it pays off through improved development and outcomes.
This document discusses user-centered design (UCD) and usability testing. It defines UCD as a process that systematically researches end users' needs and incorporates them into each stage of design. Usability is defined as how effectively, efficiently, and satisfactorily users can complete tasks. The document outlines UCD activities like requirements analysis, design, development, and testing. It discusses benefits of UCD like eliminating assumptions and validating the product with users. Finally, it provides examples of usability metrics and sources for healthcare usability documentation.
The document discusses software requirements including functional and non-functional requirements, user requirements, system requirements, and the software requirements document. It describes the requirement engineering process, types of requirements, and issues with requirements. It also provides details on how to specify and document requirements.
The document discusses software engineering requirements analysis and specification. It covers topics like software requirements types (functional and non-functional), requirement engineering process, feasibility studies, requirements elicitation and analysis. The requirement engineering process involves activities like requirements discovery, analysis, specification, validation and management. It also discusses preparing a software requirements document that defines system specifications.
The document provides an overview of design process and factors that affect user experience in interface design. It discusses various principles and heuristics to support usability, including learnability, flexibility, and robustness. The document outlines principles that affect these factors, such as predictability, consistency and dialog initiative. It also discusses guidelines for improving usability through user testing and iterative design. The document emphasizes the importance of usability and provides several heuristics and guidelines to measure and improve usability in interface design.
The document discusses the process of analyzing client requirements for a new system. This includes gathering information from clients, clarifying needs, structuring requirements, and confirming with clients that all functional, quality, and other needs have been identified correctly and fall within the project scope. The key steps are analyzing the information gathered, documenting the requirements, and obtaining final sign-off from stakeholders to finalize the requirements document.
The document provides guidance on working effectively with Bally Chohan's IT support services. It defines service request severity levels and statuses. It emphasizes clear problem statements, testing solutions before deployment, and shared ownership between users and support in resolving issues. It also outlines the benefits of using the service desk for documentation and escalation procedures for bringing management attention to critical issues.
The document provides an overview of the technical support training for HopOne Internet Corp and Superb Internet Corp. It discusses the two companies, their visions, technical support teams, levels of support, policies and procedures, resources available to support teams, and tips for providing customer support. The technical support teams are organized into three tiers to support Superb Internet customers on a 24/7 basis from several data centers. Customer service, escalation procedures, and standards for handling tickets are also outlined.
Prachi Rattan is a solution-driven professional with over 3 years of experience in requirements analysis, manual testing, web testing, and system configuration. She has worked as an Associate Business Analyst at ACS, a Xerox company, since 2013 on various projects for clients like HESS, P&G, and Xerox. Her responsibilities have included requirement analysis, test case design and execution, defect tracking, and more. Prachi has received awards for her work and aims to continuously learn while ensuring customer satisfaction.
The art of problem solving --> ensure you right the right business requiremen...Chris Lamoureux
The document provides tips and guidelines for developing effective business requirements. It discusses the importance of having a good problem solving process and defining requirements within that context. It then covers the key aspects of a problem solving framework, including identifying the problem, developing alternatives, selecting the best alternative, implementing it, and evaluating the solution. The rest of the document focuses on best practices for writing high quality requirements, such as making them verifiable, avoiding design details, using simple language, and proofreading thoroughly.
Deatra Lopez has over 29 years of experience in top secret test environments. She has a bachelor's degree in information management systems and certifications in A+, Network+, Security+, and CISSP classroom training. Her experience includes roles as a systems test engineer, senior test engineer, systems integration/test engineer, technical services engineer, PC/client server analyst, and lead operator supporting classified government systems and programs. She has expertise in software and hardware testing, troubleshooting, requirements analysis, and quality assurance.
Planning and Preparing for Electronic Health Recordsncofield
Implementing an Electronic Medical Records system is a daunting task for medical practices. This brief presentation can help a physician office understand all of the different facets of an EMR deployment and how the EMR will affect the entire network infrastructure of the practice.
The document discusses the Comarch service desk and how to work with it. It provides information on initiating help requests through the service desk's self-service portal, monitoring systems, phone, or email. It explains that within the service level agreement time of 8 business hours or less depending on priority, a technician will contact the requester to begin resolving the issue.
Requirement analysis and UML modelling in Software engineeringsnehalkulkarni74
Receptionist
Patient: Patient
Doctor: Doctor
- The vertical solid line represents the life of an
object.
- It runs from top to bottom.
Messages:-
- The arrow represents the message passing
between objects.
- The arrow head points to the receiver.
- The message name is written near arrow.
- Synchronous and asynchronous message
Receptionist
Patient
Doctor
makeAppointment()
checkAvailability()
scheduleAppointment()
confirmAppointment()
treatPatient()
billPatient()
- Sequence diagram shows the time sequence of
messages between objects.
- It emphasizes on
Avinash Singh Thakur is seeking a challenging role in incident, problem, and change management. He has over 6 years of experience in these fields working at Ericsson and NaviSite. He is skilled in ITIL processes and has experience leading teams and resolving high-impact incidents. He holds an MBA and certifications in ITIL, ISO 27001, and has experience working in SSAE-16 compliant environments.
The document discusses the systems development life cycle and its key phases including systems analysis, design, development and testing, and implementation. It provides details on the various techniques used in systems analysis such as questionnaires, interviews, observation, and documentation reviews. The document also covers the design phase including designing input/output screens, reports, file structures, and validation routines.
Why DevOps Needs to Embrace Distributed TracingDevOps.com
- DevOps practices and distributed architectures go hand in hand, but distributed systems lose end-to-end visibility and cross-team communication. Distributed tracing can help regain visibility by providing a request-centric view of microservices communication.
- To understand system performance, teams must define service level indicators (SLIs) based on what users care about, like latency and errors, and use tracing to connect variations in SLIs to root causes such as user behavior changes, upstream impacts, or resource contention.
- Distributed tracing is most effective when applied systematically across services to provide meaningful samples of requests that reveal patterns affecting key SLIs. This enables both reactive problem solving and proactive optimization.
This document is a curriculum vitae for Jawwad Nadaf that outlines his professional experience and qualifications. It summarizes that he has over 3 years of experience as a System Engineer and Network Professional providing IT support. His responsibilities have included troubleshooting issues with operating systems, networks, hardware, applications and coordinating with vendors to resolve problems for clients like Infosys and the Government of Karnataka. He holds Microsoft certifications and declares that the information provided is accurate.
Heuristic evaluation is a usability inspection method where 3-5 evaluators examine a user interface and judge its compliance with recognized usability principles called "heuristics." Each evaluator independently explores the interface twice and notes any violations of heuristics, such as consistency, visibility of system status, or flexibility of use. Evaluators then aggregate their findings and rate the severity of identified usability problems to prioritize fixes. With 3-5 evaluators, heuristic evaluation typically identifies around 75% of usability issues in a cost-effective manner.
Performance Requirements: CMG'11 slides with notes (pdf)Alexander Podelko
Performance requirements should be tracked throughout a system's entire lifecycle, from inception through design, development, testing, operations, and maintenance. However, different groups involved at each stage use their own terminology and metrics, making performance requirements confusing. The document aims to provide a holistic view of performance requirements by discussing key metrics like throughput, response time, and concurrency used across the lifecycle. It also addresses issues like ensuring requirements are defined consistently regardless of changing workloads or system optimizations.
Hönnun hugbúnaðar er sjaldan þannig að maður getur valið hvað sem maður vill. Oftar en ekki höfum við ekki aðeins kröfur um hvað forritið á að gera, heldur einnig hvernig það gerir það. Má nefna gæðakröfur, hraða, skalanleika og allskyns non-functional kröfur. Einnig geta verið kröfur um tungumál og aðllögun að ólíkum löndum. Erfitt getur verið að fá þessar kröfur upp úr þeim sem eru að óska eftir hugbúnaðnum séum við að skrifa hann fyrir aðra.
Hugbúnaður hefur einnig takmarkanir eins og hvaða tækni má nota, hvaða staðla og annað sem þegar er ákveðið. Þar fyrir utan eru takmarkanir sem stafa af þróunarteymum og fleirl. Í þessum fyrirlestri ætlum við að líta á þá þætti sem þarf að huga að þegar verið er að hanna hugbúnað og ætti að negla niður áður en farið er að útfæra.
This document discusses requirements engineering for software projects. It begins by defining what requirements are, noting that they can range from abstract statements to detailed specifications. There are three types of requirements documents: requirements definition for customers, requirements specification for contracts, and software specifications for developers. The document outlines the sources of requirements, key tasks in requirements engineering like elicitation and validation, and challenges in getting requirements right. It also discusses techniques for gathering requirements like inception, collaborative meetings, use cases, and elaboration of requirements into an analysis model.
The document discusses best practices for writing a software requirements specification (SRS). It emphasizes that a well-written SRS establishes agreement between customers and developers on required functionality, reduces development effort by surfacing issues early, and provides a baseline for validation and verification. The SRS should address functionality, interfaces, performance, attributes, and design constraints according to IEEE standards, and characteristics include being correct, unambiguous, complete, consistent, ranked, verifiable, modifiable, and traceable. While documentation takes time, the document argues it pays off through improved development and outcomes.
This document discusses user-centered design (UCD) and usability testing. It defines UCD as a process that systematically researches end users' needs and incorporates them into each stage of design. Usability is defined as how effectively, efficiently, and satisfactorily users can complete tasks. The document outlines UCD activities like requirements analysis, design, development, and testing. It discusses benefits of UCD like eliminating assumptions and validating the product with users. Finally, it provides examples of usability metrics and sources for healthcare usability documentation.
The document discusses software requirements including functional and non-functional requirements, user requirements, system requirements, and the software requirements document. It describes the requirement engineering process, types of requirements, and issues with requirements. It also provides details on how to specify and document requirements.
The document discusses software engineering requirements analysis and specification. It covers topics like software requirements types (functional and non-functional), requirement engineering process, feasibility studies, requirements elicitation and analysis. The requirement engineering process involves activities like requirements discovery, analysis, specification, validation and management. It also discusses preparing a software requirements document that defines system specifications.
This document discusses the requirements workflow in software development. It describes capturing and managing requirements to design a user-focused system. The goals are to establish agreement on what the system should do, provide understanding of requirements to developers, define system boundaries, and provide a basis for planning, estimating, and defining the user interface. Requirements include functional requirements specifying system actions and non-functional requirements related to qualities like usability, reliability, performance, and supportability. Requirements come from stakeholders' requests and needs and are expressed as system features.
This document discusses requirements engineering for software systems. It covers topics such as functional and non-functional requirements, the software requirements document, requirements specification processes, and requirements elicitation, validation, and management. It describes requirements engineering as establishing customer needs and operational constraints. Requirements can range from abstract to detailed and serve different purposes. Both functional and non-functional requirements are important, and natural language, structured, and other techniques can be used for specification.
This document contains a checklist of items to consider for architecture and design reviews related to performance, failover, failure handling, security, robustness, reliability, exceptions, logging, monitoring, physical deployment, consistency, reuse, manageability, simplicity, and miscellaneous other factors. It includes questions about mapping to performance requirements, system resources usage, user experience, failover capabilities, failure points, security channels, logging destinations, exception handling, monitoring procedures, hardware requirements, reusability, load balancing, error messages, class design, coupling, flexibility, and testability.
1) Requirements modeling involves fact-finding activities to describe the current system and identify requirements for the new system. This includes outputs, inputs, processes, performance, security, and modeling techniques.
2) Joint Application Development (JAD) is a popular fact-finding technique that involves users in the development process. Rapid Application Development (RAD) is another technique that speeds up development through prototyping and user involvement.
3) Requirements modeling requires strong analytical and interpersonal skills to build an accurate model through techniques like interviews, documentation review, and questionnaires.
This document provides an overview and requirements for a marketplace application called Mingle Box. The application allows buyers to find and hire freelance coders for custom software projects. Coders can access work from buyers around the world. The document outlines functional requirements like registration, bidding, and payments. It also discusses technical requirements, feasibility, and includes a high-level data flow diagram. The goal is to connect buyers and coders in a safe, cost-effective manner through an online bidding system.
Requirement engineering is the process of gathering, analyzing, and documenting software requirements from clients. It involves conducting a feasibility study, gathering requirements through techniques like interviews and prototyping, documenting the requirements in a software requirements specification, and validating the requirements. The SRS defines functional and non-functional requirements, user interface needs, and provides a manual for the project. Clear requirement engineering helps ensure the development team builds the right product to meet client and user expectations.
Mastering performance testing_ a comprehensive guide to optimizing applicatio...kalichargn70th171
In an increasingly digitized world where software applications shape our daily routines, the importance of their performance cannot be overstated. From browsing a website, and streaming content, to using an app for online shopping or banking - seamless, fast, and efficient operation is expected by end-users. Performance can be a make-or-break factor for the success of a software application, and therein lies the significance of performance testing.
The document discusses various methods for evaluating user experience design when users are located in different countries, including heuristic evaluation, usability testing, and GOMS analysis. Heuristic evaluation involves having 3-5 evaluators examine a user interface and note where it violates established usability heuristics. Usability testing involves testing an interface with real users performing representative tasks and collecting both quantitative and qualitative data. GOMS analysis estimates the time required to complete tasks based on the number and types of user actions involved.
The document discusses various methods for evaluating user experience design when users are located in different countries, including heuristic evaluation, usability testing, GOMS analysis, and collecting different types of data. Heuristic evaluation involves having 3-5 evaluators examine a user interface and identify usability issues based on usability heuristics. Usability testing involves testing an interface with real users to observe what they do and collect their feedback. GOMS analysis estimates the time and effort required to complete tasks in an interface. It is recommended to use multiple evaluation methods and data types to get a comprehensive understanding of the user experience.
Heuristic evaluation is a usability inspection method where 3-5 evaluators examine a user interface and judge its compliance with recognized usability principles called "heuristics." Each evaluator independently explores the interface twice and notes any violations of heuristics, such as consistency, visibility of system status, or flexibility of use. Evaluators then meet to aggregate their findings and determine the severity of usability problems. With 3-5 evaluators, heuristic evaluation can find around 75% of usability issues in a cost-effective manner.
The document discusses various methods for evaluating user experience design when users are located in different countries, including heuristic evaluation, usability testing, and GOMS analysis. Heuristic evaluation involves having 3-5 evaluators examine a user interface and note where it violates established usability heuristics. Usability testing involves testing an interface with real users performing representative tasks and collecting both quantitative and qualitative data. GOMS analysis estimates the time required to complete tasks based on the number and types of user actions involved.
Similar to Eliciting non functional requirements (20)
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfUndress Baby
The quest for the best AI face swap solution is marked by an amalgamation of technological prowess and artistic finesse, where cutting-edge algorithms seamlessly replace faces in images or videos with striking realism. Leveraging advanced deep learning techniques, the best AI face swap tools meticulously analyze facial features, lighting conditions, and expressions to execute flawless transformations, ensuring natural-looking results that blur the line between reality and illusion, captivating users with their ingenuity and sophistication.
Web:- https://undressbaby.com/
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
1. How Do I Elicit
Non-Functional
Requirements?
(Even when my business representative doesn’t understand them?)
2. In This Session You Will Learn
How vital non-functional requirements are
The value and definitions of several key non-
functional areas
Practical techniques for eliciting these
types of requirements.
3. Functional Versus Non-Functional
Functional Requirements: defines a function
of a system or its components. A function is
described as a set of inputs, behavior, and
outputs.
Non-Functional Requirements (NFR): specify
criteria that can be used to judge the
operation of a system, generally
architecturally significant requirements
4. NFRs Are A Huge Requirement Domain
Often referred to as the “-ility” requirements
The big ones are:
Usability
Availability
Scalability
Performance
But there are so many more…
5. Do I have to specify every category?
Probably not
Consider your
project, its preproduction and production environments
company’s plans for the product
company’s growth plans
customer’s sophistication
competition
Choose based upon your project’s considerations
6. NFRs Can Be Challenging
If you are uncomfortable with an NFR area, do
your research before addressing the topic
Plan elicitation ahead to frame the NFRs well
for the business
Once you’re ready, define the NFRs by
interpreting them into business-relatable ideas
7. NFRs Can Be Challenging
Frame your questions as real-world scenarios
using
What if…
Given, When, Then
Drill down techniques
8. Is Your Technical Team NFR Friendly?
Reasons for resistance to delving into NFRs
Not in the habit of planning ahead for NFRs
May not plan for them at all
There may be some unknowns that have to be
cleared
Team members may be at various levels of
comfort with the different NFR areas
Recruit a champion to help you get NFR buy-in
9. Break through with
Doing your “homework” ahead of time
Priming questions sent ahead of your meeting
Volunteering to help discovery efforts
Bringing people together, such as operations
and support
Emotional Intelligence
Scenario-based elicitation
10. Non-Functional Areas - Usability
The degree to which a software can be used by
specified consumers to achieve quantified
objectives with effectiveness, efficiency, and
satisfaction in a quantified context of use
11. Non-Functional Areas - Usability
Who are our target user populations?
What is the common context for use of the
software?
What are the most frequently performed
tasks?
What is the optimal time for each task?
What is the longest acceptable time for
each task?
What are the alternative flows for each
task?
12. Non-Functional Areas - Usability
What is the tolerance for user navigation
errors?
How do we define and measure user
satisfaction?
What is the target for ease of learning
(intuitive)?
What is the longest tolerable wait between
steps for the task?
13. Non-Functional Areas – Availability
The proportion of time a system is in a
functioning condition, expressed as 100% minus
the percentage of time a system is unavailable
15. Non-Functional Areas – Availability
When the system is down, or sluggish, what does
this mean to our customer?
How is our reputation affected if the system is
unavailable more than our stated service level
agreement (SLA)?
When the user is in the middle of a session and
the DB or application goes down, how is the user
affected? How is our reputation affected?
16. Non-Functional Areas – Availability
What are your employer’s and your customers’
tolerances for system unavailability or lack of
reliability?
Is this function critical to the business, to the
customer, to the technical team?
Do any other systems which may be critical to
customer, business, or technical team rely on the
system or its output?
If a certain module becomes unavailable, how
does that affect the system’s availability?
17. Non-Functional Areas – Availability
If a certain piece of hardware is unavailable,
what is the effect on the system and how does
that affect our system’s availability?
What is the business’ or the customer’s
tolerance for the system to be down for
scheduled maintenance?
What are the contractual obligations specified
for the client(s)?
What compliance requirements might affect
our system’s acceptable availability? How can
those be mitigated?
18. Non-Functional Areas - Scalability
Refers to the capability of a system, network, or
process to handle a growing amount of work or
its potential to accommodate growth
19. Non-Functional Areas - Scalability
What is the projected user growth over the
lifetime of the system?
What is the projected resource use per user
over the lifetime of the system?
How large is an average user’s data set?
What is the demand for the CPU under normal
working conditions?
20. Non-Functional Areas - Scalability
What would be considered a very heavy load
day for users/data/computing?
What plan can we have in place in the event
that we receive an unusually heavy load?
What monitors can we put into place to be
advised when we are reaching a peak in
users/computing/storage?
What would constitute a very high number of
users accessing the system?
21. Non-Functional Areas - Scalability
What would constitute a high load on our
CPUs?
What would constitute a high storage usage?
Who should be notified in the event of such
large loads?
How many transactions per second can we
expect in normal load and peak load?
22. Non-Functional Areas - Performance
The amount of work accomplished by a
computer system. It may involve one or more of
the following:
Short response time for a given piece of work
High rate of processing work (throughput)
Low utilization of computing resources
High bandwidth
Short data transmission time
23. Non-Functional Areas - Performance
What are the time constraints does the user
have when performing this task?
What if the system slows to the point that the
users are unable to complete the task in a
timely manner?
What if our system exceeds the contractually
agreed upon SLA?
24. Non-Functional Areas - Performance
What have we heard from the customer
regarding response time from the existing
system?
When working on this task, how quickly will
other users need to have access to the data?
What will happen if the user does not
receive a response to their submission
within X seconds?
25. Non-Functional Areas - Performance
How many transactions per second should the
system be able to handle in normal and peak
usage times?
What constraints are there on CPU usage in
normal and peak times?
What other systems are running on this server
that may impact performance? How can that
be mitigated?
26. Non-Functional Areas - Performance
What is our network bandwidth? How will that
be impacted by our system at normal and peak
times?
How quickly does the data need to be
available for use by other users and/or
systems?
27. In This Session You Will Learn
How vital non-functional requirements are
The value and definitions of several key non-
functional areas
Practical techniques for eliciting these
types of requirements.
Editor's Notes
Functional Requirements are things like “The system must allow users to access their account information.” or “The system must calculate the employee’s pay and print it on a check.” They are statements of what the system must do in order to fulfill its purpose. Non-Functional requirements define the attributes of how well the system fulfills its purpose today and tomorrow. For instance “The system must perform all payroll calculations using six decimal places and use Monte Carlo arithmetic for rounding to two decimal places for actual pay and display.” or “The system should use end-to-end encryption when transmitting account information.” As you can see, these requirements are getting a little into the how of the system, but are essential because they describe what the system will need to enforce and how it will need to behave in order to meet and fulfill the customer’s needs.
Fortunately, most products will not require you to write requirements for every single non-functional requirement category. Good news, huh? You should, however think about most of them at the beginning and ask yourself if they need apply. Always remember to think about the future as well as current plans. What works fine today may not work so hot in the future.
Sometimes, even we BAs are not 100% comfortable with non-functional requirements, so imagine how your business team members might feel. It is important for us to become conversant in these project aspects so that we can best serve our clients and represent them and their needs in the best way possible. Fortunately, the only thing that stands in our way is learning and we do that all day, every day. The Internet is a wonderful tool to help with just-in-time knowledge acquisition and reminders. I “Google” things constantly to help jog my memory or to learn a new tool or technique.
Once we know what the NFR area we need is all about, we can more easily frame scenarios and come up with probing questions to surface our client’s expectations or help them consider things they may not have even thought of yet. This latter point is often the case, since they don’t generally live and breathe software. Scalability is not something on the minds of healthcare documentation administrators.
Sometimes, even we BAs are not 100% comfortable with non-functional requirements, so imagine how your business team members might feel. It is important for us to become conversant in these project aspects so that we can best serve our clients and represent them and their needs in the best way possible. Fortunately, the only thing that stands in our way is learning and we do that all day, every day. The Internet is a wonderful tool to help with just-in-time knowledge acquisition and reminders. I “Google” things constantly to help jog my memory or to learn a new tool or technique.
Once we know what the NFR area we need is all about, we can more easily frame scenarios and come up with probing questions to surface our client’s expectations or help them consider things they may not have even thought of yet. This latter point is often the case, since they don’t generally live and breathe software. Scalability is not something on the minds of healthcare documentation administrators.
When working with your architecture team on NFRs for the technical requirements, you will need to use your knowledge of your team members and some emotional intelligence. I have had teams resist NFR collection in the discovery stages. I had to go through some discovery of my own to find out why they were pushing back. In my experience, it is most often the result of teams being in the habit of waiting till later to make their plans, usually toward a project’s end, close to deployment time. Sometimes, teams just don’t collect NFRs and that’s a bit scary. If that is the case, you must work with influencers in the development group to promote the benefits of NFR elaboration early in a project. Recruiting a champion to help you get a foothold into doing NFR elicitation will be your best bet.
Sometimes, teams don’t have the answers they need to tell you everything. That’s fine. Work with the team to identify what you know and what you don’t know. That will help make the tasks ahead less daunting. If there is some new architecture or technology being used, that needs to be captured as risk. Either way, you can work with your development team to answer the unknowns and facilitate decision making so that NFRs can be determined early as possible.
Finally, some team members, especially junior ones or members who specialize in particular areas of software development may not be comfortable with every NFR area. If that is the case, pare down the people you work with to elicit your NFRs. That way, people don’t feel uncomfortable or that their time is being wasted. If you need people to be engaged but sense hesitance, you can use your “I’m a newbie” card and get the more senior team members to help explain things or talk through the NFR so that everyone is informed but not put on the spot when they may feel like should have known a topic.
Be sure to have your knowledge of the NFR areas primed and ready to go before you engage in discussion with any of your SMEs but be really primed and ready to go when you talk to your development teams. In most organizations, BAs exist in slight tension with the development teams since it is our jobs to advocate for the business in the face of technical concerns. For that reason, we should be in good form when engaging our developers so that we can represent the business in all facets of discussion.
I have found that sending the developers priming questions in the agenda helps get the conversation rolling. Since developers are problem solvers at heart, they generally can’t resist thinking about things, once you get them started.
If your team realizes there is a good deal of discovery needed, especially when it involves other teams, such as operations and infrastructure, volunteer to get the people together and find out some of the information for them. That shows you are in it with them and builds bonds of trust. Make sure you follow through and communicate your findings well.
Emotional intelligence is one of the most important tools you have. If you see resistance building or someone digging in about something, if your development team is not forthcoming in discussions or is reticent to talk to others, use your emotional intelligence to help you discover the root causes of the issue. Then, use it again t help resolve the issue. If you are unfamiliar with emotional intelligence, read about it here: http://www.talentsmart.com/products/emotional-intelligence-2.0/
Many, many organizations gloss over usability requirements and measurement, much to the regret of users and, sometimes, of the organization. Companies are especially guilty of this when developing applications for internal use. Why?
Usability is difficult to define and measure. What may be easy to use for one person with expert computer skills may be nearly impossible for someone with limited exposure to computer interfaces. Fortunately, there are ways to specify and measure usability that can help software development companies avoid mistakes that can doom a piece of software to obscurity.
https://www.usability.gov/what-and-why/usability-evaluation.html
http://www.usabilitynet.org/prue/requirements.htm
If you start your design and specification process with the target users in mind and even assisting in the process, it is much easier to accomplish usability targets than if you think of them later or only expose them to the product at user acceptance testing. Contextual considerations will enhance your understanding of the user and therefore the considerations and psychology of the moment when they access and use the software. Is your software something they will need to use casually? Is it something that they will need to use during times of pressure? Is it related to something very important to them? What are they trying to do? Are the users under a time crunch, such as in a setting where transactions per minute are used for performance appraisal purposes? What is their tolerance for the system making them wait while it performs necessary tasks in the background? If there are possible alternative flows for the tasks, what triggers them? In the case of an alternate workflow, what support does the user need in a less familiar navigation pattern?
Talk through these considerations either as a separate discussion, or include them in your functional requirement gathering as you work with your users. This user driven focus will help to ensure you have a happy user community at the end.
Reference: Ben Shneiderman, Jakob Nielsen
Availability is a non-functional area all of it’s own, but it is contributed to by many other areas. Often times, it’s difficult to talk about one without considering the others. For that reason, I suggest that when you talk about availability, you make sure you at least touch on these related areas so that you have a full picture of the contributing and related areas.
We all want our user base to grow. It’s part of the reason we make software products, to get it into more and more people’s hands. Scalability is achieved through the ability to add resources. Resources may include more memory, more storage, a load balancer, etc. Scalability can also be achieve through the design of highly efficient algorithms and the writing of efficient code so that it can handle situations where large input sets are supplied, where the output for a scenario is very large, or when there are large spikes in users.