Class 1 - Requirements Flashcards
Requirement
A specific description of your client’s needs
What are the 5 different requirement activities that happen when creating a product for a client?
- Eliciting
- Expressing
- Prioritizing
- Analyzing
- Managing
Want
A functionality or feature that a client would like the product to have, which may add value, but is not necessarily core to the product itself
Need
A core functionality that the product must have in order to fulfill the product’s purpose
Eliciting Requirements
The process of determining what a client needs and wants. It is an in-depth discussion and collaboration between client(s) and the development team
Expressing Requirements
Framing the requirements identified through discussion in a way that allows a product to be built. This is where use cases, user stories, and story maps are created
Use Cases
A usage scenario for a piece of software
User Story
Written description of what a user wants to achieve with a system
Prioritizing Requirements
Prioritizing client needs to ensure the most important needs will be completed. MoSCoW is often used to prioritize requirements
MoSCoW
Must Have
Should Have
Could Have
Would like but won’t get
Analyzing Requirements
Weighing what is possible given scope, schedule, and budget
What are the most important types of requirements?
- User requirements
- Functional requirements
- Non-functional requirements
User Requirements
- Use cases
- User stories
- Story maps
Non-functional Requirements
Quality Requirements. Examples include:
- Accuracy
- Dependability
- Security
- Usability
- Efficiency
- Performance
- Maintainability
Product Vision
The purpose and value of a product to the client. Includes the needs a project solves.
True or False: Changes to a project can change the product vision
False. A project should never move away from the client’s vision. However, it is possible that a project may not fulfill the entire vision (only part of it)
Scope
What a project can realistically achieve
User Story Format
As a who, I want to what, so that why.
E.g. As a customer, I want to be able to identify dietary restrictions, so that I know I can eat the food I order
Scope Creep
Happens when the scope of a project grows as the result of an increase or change in requirements
How can you determine if a user story is good?
Recall INVEST. User stories should be:
- Independent
- Negotiable
- Valuable
- Estimatable
- Small
- Testable
Independent (INVEST)
A requirement can exist outside of other user stories and still be meaningful
Negotiable (INVEST)
User stories should be general enough for the development team and client to work around their implementation. They should not focus on specific technical details
Valuable (INVEST)
User stories should bring value to the client
Estimatable (INVEST)
It should be possible to estimate how much time it would take to design and implement the requirement in the user story