Files
org_web/posts/career/requirements-features.org
Zaine bb299b2f98
Some checks failed
Build Org Website / build (push) Has been cancelled
gitea runners
2026-05-06 14:55:10 +01:00

3.8 KiB
Executable File
Raw Blame History

Requirements, features, user stories, tasks, walking skeletons

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/career/2025-10-10-user_stories.jpg