78 lines
3.7 KiB
Org Mode
Executable File
78 lines
3.7 KiB
Org Mode
Executable File
#+TITLE: Requirements, features, user stories, tasks, walking skeletons
|
||
#+OPTIONS: num:nil tags:t toc:t
|
||
#+DATE: <2025-11-06 Thu 22:01>
|
||
#+FILETAGS: :learning:notes:
|
||
#+WIP:
|
||
#+COMMENTS: t
|
||
#+SLUG: requirements-features
|
||
|
||
** Requirements
|
||
- Definition: High-level descriptions of what the system must do or how it should behave.
|
||
- Types:
|
||
- *Functional*: Specific behaviors (e.g., “The system must allow users to reset passwords”).
|
||
- *Non-functional*: Quality attributes (e.g., performance, security, usability).
|
||
- Agile Context: Requirements are often evolving and are captured incrementally through user stories and feedback loops.
|
||
|
||
** Epic
|
||
An epic is a high-level objective or initiative that’s too big to complete in a single sprint. It represents a major business goal or capability and is broken down into smaller deliverables:
|
||
|
||
- Purpose: Organise related work under a common theme.
|
||
|
||
- Scope: Broad and strategic; spans multiple sprints.
|
||
|
||
- Example: “Enable secure user access” could be an epic that includes login, signup, password reset, and multi-factor authentication.
|
||
|
||
“An epic serves to manage tasks. It's a defined body of work that is segmented into specific tasks (called ‘stories’) based on the needs/requests of customers or end-users"
|
||
|
||
** Features
|
||
- Definition: Distinct pieces of functionality that deliver value to users.
|
||
- Scope: Larger than user stories but smaller than epics.
|
||
- Example: “User profile management” could be a feature encompassing login, profile editing, and avatar upload.
|
||
|
||
** User Stories
|
||
- Definition: Short, simple descriptions of a feature told from the perspective of the user.
|
||
- Format: “As a [user], I want [goal] so that [reason].”
|
||
- Purpose: Helps teams focus on user needs and prioritize work.
|
||
- Agile Role: Central to backlog grooming, sprint planning, and iterative delivery.
|
||
|
||
** Tasks
|
||
- Definition: Technical or operational steps needed to implement a user story.
|
||
- Granularity: Smallest unit of work, often assigned to individual team members.
|
||
- Example: For a story like “User can upload avatar,” tasks might include:
|
||
- Create upload UI
|
||
- Validate image format
|
||
- Store image in database
|
||
|
||
** Walking Skeleton
|
||
- Definition: A minimal, end-to-end version of the system that includes the core architecture and basic functionality.
|
||
- Purpose: Validates the system’s structure early and allows incremental development.
|
||
- Agile Benefit: Enables early integration, testing, and feedback while avoiding big-bang delivery.
|
||
|
||
** Hierarchy Overview
|
||
|
||
| Level | Description | Agile Artifact |
|
||
|----------------+----------------------------+------------------|
|
||
| Vision | Broad business goals | Epics |
|
||
| Feature | Functional chunks of value | Features |
|
||
| User Need | Specific user goals | User Stories |
|
||
| Implementation | Technical execution steps | Tasks |
|
||
| Skeleton | Minimal working system | Walking Skeleton |
|
||
|
||
|
||
Here is a summary of the agile hierarchy:
|
||
|
||
|
||
| Level | Example | Description |
|
||
|----------------+--------------------------------------+----------------------------------------|
|
||
| **Epic** | Enable secure user access | Broad goal spanning multiple features |
|
||
| **Feature** | User Login | Functional unit delivering user value |
|
||
| **User Story** | “Log in with email/password” | Specific user goal within the feature |
|
||
| **Task** | Build login form, connect to backend | Technical steps to implement the story |
|
||
|
||
* Example from work:
|
||
<2025-10-09 Thu>
|
||
The user story creation we did for a particular made up project (not the proudest but team voted on this sadly).
|
||
|
||
|
||
[[../../assets/images/user_stories.jpg]]
|