Requirements Specification
Overview
Problem Statement
The trainee landing page uses outdated code, which adds technical debt, and it doesn't focus on what trainees need when they sign in. Trainees spend too long on the landing page before getting into a course or seeing urgent items.
Goal
Show trainees what needs their attention and get them back into learning in one click. Success means a shorter time from sign-in to course launch and less time spent on the landing page.
Success Metrics
| Metric | Target | How measured |
|---|---|---|
| Time to launch | Reduced vs. baseline | Timestamp: sign-in → course launch |
| Time to task | Reduced vs. baseline | Time on landing page before first action |
| Overdue required training | Reduced vs. baseline | % of assigned items completed after their due date |
Out of Scope
- Course player changes (other than resuming where the trainee left off).
- Manager and administrator authoring tools for messages and assignments.
- Full catalog search and browse pages.
Users
| Persona | Description | Primary Need |
|---|---|---|
| Trainee | Signs in to take assigned and self-enrolled training between other work | Get back into a course quickly and not miss deadlines |
| Manager | Assigns and recommends training to their team (secondary user) | Make sure assigned training and updates are seen |
| System Administrator | Runs the platform (secondary user) | Communicate system events and required actions |
Assumptions & Constraints
- Assumptions:
- Trainees are already signed in when they reach the landing page.
- Course progress, due dates and credential expiry dates are available from existing data.
- Constraints:
- Must fit within the existing design system without new components where possible.
- Must replace the outdated landing page code.
- Must meet WCAG 2.1 AA.
- Dependencies:
- Course, enrollment and progress data.
- Credential data.
- Recommendation data (role-based and peer-based).
- Course player support for resuming playback state.
User Stories
Epic A: Actionable Items & Compliance
US-01: See what needs my attention
As a trainee, I want urgent items shown at the top of the page, so that I don't miss due dates or let credentials expire.
Priority: Must
Acceptance Criteria
- AC1: Given I have required training due soon, when I open the landing page, then it is shown with its due date.
- AC2: Given I have required training due soon, when I open the landing page, then I have a quick action button to direct me where I can address it.
- AC3: Given I have a certification expiring soon, when I open the landing page, then it is shown with how long until it expires.
- AC4: Given I have a certification expiring soon, when I open the landing page, then I have a quick action button to direct me where I can address it.
- AC5: Given there are urgent items, when I view the section, then I see a count of items due soon.
- AC6: Given I have no urgent items, when I open the landing page, then the section is hidden or shows that I'm all caught up.
Epic B: Resume & Recently Active Courses
US-02: Resume my most recent course
As a trainee, I want to resume my most recent course in one click, so that I can pick up exactly where I left off.
Priority: Must
Acceptance Criteria
- AC1: Given I have a course in progress, when I open the landing page, then my most recently active course is shown first under a continue section.
- AC2: Given I select resume, when the course opens, then my scroll and video position are restored.
- AC3 (error case): Given my saved position can't be restored, when the course opens, then it starts at the beginning of the last module I was in.
US-03: See my progress on active courses
As a trainee, I want clear progress on each active course card, so that I know how much is left.
Priority: Must
Acceptance Criteria
- AC1: Given a course is in progress, when I view its card, then I see percent complete, modules completed out of total, and a marker for each module.
- AC2: Given a course card, when I view it, then I see the course name, instructor, short description, estimated duration, module count, level and skills taught.
US-04: Tell assigned training from self-enrolled training
As a trainee, I want assigned and required courses clearly marked, so that I can prioritize what my manager or company requires.
Priority: Must
Acceptance Criteria
- AC1: Given a course card, when I view it, then it has a badge for Assigned or Self-enrolled, and Required where it applies.
- AC2: Given a course card, when I view it, then its status (Not started, In progress) is shown as a badge.
- AC3: Given badges are shown, when read by a screen reader, then their meaning is announced as text, not color alone.
Epic C: Discovery & Credentials
US-05: See recommended courses
As a trainee, I want recommendations based on my role and what my peers take, so that I can find useful courses without searching.
Priority: Should
Acceptance Criteria
- AC1: Given recommendations exist, when I view recommended, then each course shows its level, duration, module count and skills.
- AC2: Given a recommended course, when I select its action, then I can start it (assigned) or explore it (self-enroll).
US-06: See my certifications
As a trainee, I want to see my certifications, so that I know what I've earned and when it expires.
Priority: Should
Acceptance Criteria
- AC1: Given I have earned certifications, when I view them, then each shows the date earned and the date it is valid until.
Epic D: Post-MVP
US-07: See announcements from managers and admins
As a trainee, I want to see system events and messages from my manager or admins, so that I don't miss important updates.
Priority: Could
Acceptance Criteria
- AC1: Given an announcement is active, when I open the landing page, then it is shown without pushing urgent items out of view.
Non-Functional Requirements
| ID | Category | Requirement | Acceptance Criteria |
|---|---|---|---|
| NFR-01 | Accessibility | Meets WCAG 2.1 AA | Passes WCAG audit with 0 critical issues |
| NFR-02 | Performance | Page loads quickly | LCP < 2.5s on 4G |
| NFR-03 | Maintainability | Replaces outdated landing page code | Built only from existing design system components; legacy landing page code removed |
| NFR-04 | Responsive | Works on desktop, tablet and phone | Layout stacks to one column on narrow screens with no horizontal scroll |
| NFR-05 | Browser support | Latest 2 versions of major browsers | Verified in Chrome, Safari, Firefox, Edge |
Prioritized MVP List
The smallest set of stories that shortens time to launch and keeps trainees on track.
| Rank | ID | Story | Priority | Why it's in MVP |
|---|---|---|---|---|
| 1 | US-02 | Resume my most recent course | Must | Core job; directly reduces time to launch |
| 2 | US-01 | See what needs my attention | Must | Prevents missed deadlines and expired credentials |
| 3 | US-03 | See my progress on active courses | Must | Helps trainees choose what to work on next |
| 4 | US-04 | Tell assigned training from self-enrolled training | Must | Needed for compliance priorities |
| 5 | US-06 | See my certifications | Should | Low effort; supports compliance |
| 6 | US-05 | See recommended courses | Should | Helps trainees with no active courses |
Post-MVP Backlog
| ID | Story | Priority | Reason deferred |
|---|---|---|---|
| US-07 | See announcements from managers and admins | Could | Needs authoring tools for managers and admins first |
MVP Release Criteria
- All Must stories meet their acceptance criteria
- All NFRs pass
- Product owner sign-off