added makefile and cleaned backups

This commit is contained in:
2025-12-30 18:33:47 +00:00
parent 04f2f7b845
commit 78cfe20d64
56 changed files with 103 additions and 11 deletions

View File

@@ -0,0 +1,75 @@
#+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:
** 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 thats 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 systems 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]]