This document was created with the objective of helping us to raise up the requirements during the discovery, spikes, POCs, technical refinements, and acceptance criteria definition.
Functional Requirements
- List which brands and markets must be impacted with a feature. E.g. PLK ES, BK PT, FHS?FHS…
- Sanity:
- Sanity UX, field groups, labels, field type, field description, field position, field and document validation, etc.
- Take into account new and existing documents.
- Timezone
- Take into account new and existing data. E.g: Existing users will be impacted by the new feature.
- Take into account different states of the app. E.g: When the user installs the app for the first time; uninstalls and reinstalls the app, the app closes, the app runs in the background, the app runs, etc.
- Content:
- Site content (text) of the entire site/system: static page content, field labels, link titles, forms, field descriptions, warnings.
- Images, videos and files.
- Translation/Localize.
- Forms:
- Field types (text fields, checkboxes, radios, dropdowns, multi-selects, text areas, date).
- Default value of each field. E.g: checkboxes and radio buttons should generally be empty when the form loads.
- Values are listed in a combo/list box. Eg. alphabetical/chronological.
- Form validation (after submitting). For more details see the "Fields validation" section.
- Forms error/warning messages.
- Fields validation:
- Field required, value accepted or not, max length field, special chars, calculated fields, positive and negative values, masks, etc.
- Layout:
- The “Look and feel” following the mockups.
- Font style (font-family, font-size, font-style, font-weight, font-color).
- Size and position of the elements on the screen (margin and padding).
- Colors (there is usually a standard color palette provided by the client).
- Special characters display.
- Modals and overlapping elements.
- Responsive/adaptive.
- Navigation:
- link that returns the User to the homepage (usually this link is in the brand logo in the header).
- Users can resume the flow where it left off with or without an error.
- Navigation for the buttons: "back to previous page", "go to next page", "reload current page" and "go to home".
- Analytics
- Marketing notification: push message, email, and in-app messages.
Non-Functional requirements
- Non native implementation
- Native implementation
- Platform versions that must be reached. e.g Android 11+, iOS+14
- Screen sizes and breakpoints.
- Architecture design to display other systems/APIs involved in the feature.
- Backend:
- Review contract/interface info.
- User permissions
- Performance
- Security
- System logs