Lecture_05 Flashcards
Journey Concepts Writing
What is a Customer Journey Map (CJM)?
A visual representation of a user’s experience with a system, showing touchpoints, emotions, and interactions over time.
How is a Customer Journey Map different from UML diagrams?
Unlike UML activity or sequence diagrams, CJMs focus on user emotions, interactions, and pain points rather than system behavior.
What are the key elements of a Customer Journey Map?
Personas (user characteristics)
Timeline (phases of interaction)
Emotions (frustration, happiness)
Touchpoints (actions and interactions)
Channels (where interaction happens, e.g., website, app, store)
Why are Customer Journey Maps useful in Requirements Engineering?
Identify pain points and improvement areas.
Help understand user expectations.
Improve usability and user experience (UX).
What is an example of a Customer Journey Map for an online shopping system?
Phases: Awareness → Consideration → Purchase → Delivery → Support.
Pain Points: Long checkout time, unclear return policy.
How would a Bike Rental System Journey Map look?
Phases: Bike selection → Payment → Confirmation → Ride → Return → Feedback.
Pain Points: Unavailable bikes, unclear rental terms, return process issues.
How does a Journey Map help identify usability issues?
By tracking user emotions at each step and pinpointing frustration areas (e.g., confusion during sign-up).
What are the four levels of requirements in IEEE Standard 29148 (2018)?
-Business Requirements (BRS): High-level goals (e.g., “Increase online sales by 20%”).
-Stakeholder Requirements (StRS): User needs (e.g., “Customers should view previous orders”).
-System Requirements (SyRS): Defines system constraints and scope.
-Software Requirements (SRS): Technical specifications for development.
How do user needs differ from stakeholder needs?
Users interact with the system, while stakeholders may fund, regulate, or be affected by it.
Give an example of a stakeholder requirement vs. a system requirement.
Stakeholder Requirement: “The system should allow quick bike rentals.”
System Requirement: “The rental process should be completed within 2 minutes 80% of the time.”
What is the difference between functional and non-functional requirements?
Functional Requirements (FRs): Define what the system must do (e.g., “The system shall allow users to rent bikes”).
Non-Functional Requirements (NFRs): Define how well the system does it (e.g., “The system should process payments within 3 seconds”).
Why are NFRs critical in system design?
Even if a system meets all functional requirements, poor performance, usability, or security can cause it to fail.
Give examples of common NFRs.
Usability: “80% of users should complete sign-up in < 1 min.”
Performance: “Process 500 transactions per second.”
Security: “Encrypt user data with AES-256.”
Availability: “99.99% uptime required.”
What is an NFR hierarchy, and why is it useful?
A tree structure organizing high-level qualities (e.g., security) into sub-characteristics (e.g., encryption, access control).
What is the difference between domain properties, requirements, and constraints?
Domain Properties: Facts that hold regardless of the system (e.g., “Bikes require maintenance”).
Requirements: Define what the system must achieve (e.g., “System should allow bike reservations”).
Constraints: External limitations on system design (e.g., “Must comply with GDPR”).
Give an example of a constraint affecting a bike rental system.
“Payment processing must follow PCI-DSS security standards.”
“Bikes must be accessible for disabled users.”
Why are writing requirements in natural language challenging?
-Ambiguity (words can have multiple meanings).
-Lack of precision (vague descriptions).
-Inconsistent interpretations (different stakeholders may understand the same sentence differently).
What are the advantages of using natural language for requirements?
Easily understood by all stakeholders.
No special training is needed (unlike UML or formal logic).
What is a user story in Agile development?
A simple, structured way to capture user needs. Format:
“As a [type of user], I want [goal], so that [reason].”
Give an example of a user story for a bike rental system.
“As a bike renter, I want to see bike availability in real-time, so that I don’t waste time looking for bikes.”
What are the three key elements of a user story?
Written description (brief goal).
Conversation (discuss details with team).
Acceptance criteria (how to confirm it’s done).
What is an epic in Agile?
A large user story that needs to be broken down into smaller, manageable stories.
Give an example of an epic vs. a user story.
Epic: “As a user, I want to search for a job.”
User Story 1: “As a user, I want to search jobs by location.”
User Story 2: “As a user, I want to filter jobs by salary range.”
What is acceptance criteria in Agile?
A high-level test that confirms whether a user story is complete.
What is an example of acceptance criteria using Given/When/Then format?
Story: “As a user, I want to sign in securely.”
Acceptance Criteria:
Given I enter valid credentials,
When I click “Sign In”,
Then I am logged in and redirected to my dashboard.
What are key best practices for writing clear requirements?
Use precise language (avoid vague terms like “fast”).
Ensure testability (every requirement should be verifiable).
Write from the user’s perspective (focus on needs, not implementation).
Why is requirement quality important?
Poorly written requirements cause project failures, misunderstandings, and wasted development effort.
How do customer journey maps, NFRs, and user stories improve requirement quality?
They ensure better alignment with user needs, clearer goals, and measurable outcomes.
What are the four key phases in a customer journey map?
Awareness: User first learns about the system.
Consideration: User researches and evaluates options.
Engagement: User interacts with the system (purchase, usage).
Retention: User provides feedback, renews, or returns.
How does customer journey mapping improve user experience (UX)?
Highlights pain points and frustration areas.
Identifies gaps in service and missing features.
Helps prioritize features that impact user satisfaction.
How can journey maps be combined with goal models?
By aligning touchpoints with stakeholder goals, ensuring business and technical goals meet user needs.
Rewrite this unclear requirement into a better format:
Bad: “The system should be fast.”
Improved: “The system shall process search results within 2 seconds for 95% of users under normal load conditions.”
Rewrite this vague requirement into a testable one:
Bad: “The app should be user-friendly.”
Improved: “The app shall achieve a usability score of at least 80% on the SUS (System Usability Scale) after beta testing.”
Convert this high-level goal into specific requirements:
Goal: “Improve website accessibility.”
Requirement 1: “The website shall meet WCAG 2.1 Level AA accessibility standards.”
Requirement 2: “All images must have alternative text descriptions for screen readers.”