Notations
MOSCOW
MOSCOW is a prioritization technique used in project management and software development to categorize requirements or features. It stands for Must have, Should have, Could have and Won’t have. This method helps in clarifying priorities and aligning expectations:
-
Must have:
These are the essential requirements or features without which the project would fail. They are non-negotiable.- Example: “User authentication must be implemented to ensure system security.”
-
Should have:
Important features that add significant value but are not critical for the initial release. They can be postponed if necessary.- Example: “The system should have a reporting dashboard for monitoring performance metrics.”
-
Could have:
Desirable features that enhance user experience or add extra value but are not essential. These are often considered if time and resources allow.- Example: “The application could have a dark mode to improve usability in low-light environments.”
-
Won’t have:
Requirements or features that have been agreed to be out of scope for the current phase or release. These are deferred for future consideration.- Example: “Integration with third-party services won’t be implemented in the current version.”
Requirements
User Story Format
- who, what, why
- add acceptance criteria to it
- add context
- common practice in software development
- it never describes the solution
as administrator I want to be able to see who all has an account because I want to be able to adjust who has access.
If the why
part is logical, you may omit it, otherwise you get redundancy:
as user I want to be able to log in to be logged in
Acceptance Criteria
- it must be measurable, well defined
- specific
- concrete
- testable / reproducible by someone else
This is attached to a user story.
For the user story: as user I want to be able to log in
, you can attach the requirements:
Password input field
Username validation
Error messages that do not tell whether the user exists or not.
or something like this
case diagram
abstract representation of how a system should work.