|
Epic
|
An Epic can be defined as a big chunk of work that has one common objective. It could be a feature, customer request or business requirement. Basically, epic is a requirement that is just too big to deliver in a single sprint. Epics need to be broken into smaller deliverables (stories).
Tips For Writing Better Requirements
- Requirements should be unambiguous
- Requirements should be short
- Requirements must be feasible
- Requirements should be prioritized
- Requirements should be testable
- Requirements should be consistent
- Requirements shouldn’t include conjunctions like “and” / “or”
|
|
User Story
|
A user story is an informal, natural language description of one or more features of a software system. User stories are often written from the perspective of an end user or user of a system.
In Agile methodology, story is a requirement that the business wants. It is something that is deliverable within a single sprint.
|
|
Business Requirement
|
High-level statements of the goals, objectives, or needs of an organization. They usually describe opportunities that an organization wants to realise or problems that they want to solve. Often stated in a business case.
|
|
User Requirement
|
While Business Requirements define the objectives and what problems the stakeholder intends to solve with the product, User Requirements describe how user expectations and how they will interact with the product. Use the features, functions, and content described in your scenarios to develop your requirements.
How do you develop user requirements?
Getting Realistic User Requirements
- Don't assume you know what the customer wants, ask!
- Involve the users from the start.
- Define and agree on the scope of the project.
- Ensure requirements are specific, realistic and measurable.
- Get clarity if there is any doubt.
- Create a clear, concise and thorough requirements document (living documents) and share it with the customer.
- Confirm your understanding of the requirements with the customer by playing them back.
- Avoid talking technology or solutions until the requirements are fully understood.
- Get the requirements agreed with the stakeholders before the project starts.
- Create a prototype, if necessary, to confirm or refine the customers' requirements.
- Use a recognised notation, such as the Unified Modelling Language (UML), for modelling the software.
- Cross-check the software design against the requirements and review regularly.
|
|
Requirements elicitation
|
Why Elicit Business Requirements?
Requirements elicitation is the practice of researching and discovering the requirements of a system from users, customers, and other stakeholders. The practice is also sometimes referred to as "requirement gathering". There are a number of requirements elicitation methods: Interviews, Survey/Questionnaire, Use Case Approach, Observation (job shadowing), Prototyping etc.
The challenges for requirements elicitation:
- Problems of scope: The boundary of the system is ill-defined or the customers/users specify unnecessary technical details that may confuse, rather than clarify, overall system objectives.
- Problems of understanding: The customers/users are not completely sure of what is needed, have a poor understanding of the capabilities and limitations of their computing environment, don’t have a full understanding of the problem domain, have trouble communicating needs to the system engineer, omit information that is believed to be “obvious,” specify requirements that conflict with the needs of other customers/users, or specify requirements that are ambiguous or untestable.
Learn more: Business Requirements vs Functional Requirements? Why Elicit Business Requirements?
|
|
Non-functional Requirement
|
A non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.
User requirements are functional requirements. They deal with functionality that is visible and important to users that a system has to deliver to satisfy the business objectives that the system is designed to fulfill. System requirements are non-functional requirements.
|
|
System Requirement
|
System requirements are the configuration that a system must have in order for a hardware or software application to run smoothly and efficiently. Failure to meet these requirements can result in installation problems or performance problems. The former may prevent a device or application from getting installed, whereas the latter may cause a product to malfunction or perform below expectation or even to hang or crash.
Most software defines two sets of system requirements: minimum and recommended. With increasing demand for higher processing power and resources in newer versions of software, system requirements tend to increase over time
|
|
Feature
|
A feature is a unit of functionality of a software system that satisfies a requirement, represents a design decision, and provides a potential configuration option.
|
|
MoSCoW method
|
The MoSCoW method is a prioritization technique used in management, business analysis, project management, and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement; it is also known as MoSCoW prioritization or MoSCoW analysis.
|
|
Usability |
Usability is part of the broader term “user experience” and refers to the ease of access and/or use of a product or website. A design is not usable or unusable per se; its features, together with the context of the user (what the user wants to do with it and the user's environment), determine its level of usability.
From the user's point of view, usability is important because it can make the users complete the task accurately, and users can operate it with a pleasant mood rather than feeling stupid. Any product that lacks usability will waste more time and energy.
|
|
User Experience |
User experience (UX) is a person's emotions and attitudes about using a particular product, system or service. It includes the practical, experiential, affective, meaningful and valuable aspects of human–computer interaction and product ownership.
Gamification is such UX. Gamification works by encouraging users to engage in desired behaviors, by showing a path to mastery, and by making positive change in students' behavior and attitude towards learning, to improve their motivation and engagement. Smart marketers use it to increase consumer engagement and influence consumer behavior.
|
|
Nice-to-haves features |
A feature that a product or service being designed would ideally have, though it may be impractical at present.
|