Skip to content

[Feature]: Documentation retrofit #208

@thwbh

Description

@thwbh

Category

New Feature

Target Platform

Common (both platforms)

Feature Description

I want to switch to a BDD/SDD setup. Currently, I have troubles keeping track of features and how they are supposed to work, because decision records are missing.

Proposed Solution / Mockup

I want to incorporate a BDD or SDD workflow where each use case/functional requirement is formulated in prose first.

Options:
https://openspec.dev/ as a loose harness
https://speckit.org/ as a tight harness

Features then could be described following different approaches.

Example:
The system SHALL provide a means to track weight. The user SHALL be able to see progress continuously.

Or the Gherkins method:
AS a user
I WANT to daily track my weight
SO THAT I can see my progress continuously.

Acceptance criteria or scenarios provide a fine-grained use case description.

Scenario [ID-XXX]: Weight tracked today

  • WHEN the user tracked their weight today
  • THEN the weight score displays the value
  • AND WHEN previous progress existings
  • THEN the weight scored displays a trend indicating weight gain or loss
  • AND WHEN a target is set
  • THEN the end date and progress percentage are displayed

Those directly translate into test cases. An ID allows tracing across the codebase and test failure logs. CI gatekeeps PRs to ensure new scenarios are covered by tests.

A bigger refactoring needs to happen because some use cases need to be retrofit which will most likely surface missing tests. The current coverage indicates some gaps.

Problem Statement (Optional)

No response

Alternatives Considered (Optional)

No response

Additional Context (Optional)

Many UI components share behavior, those should be put up as convention to ensure new features inherit them as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestreview requiredIssue has not been assigned yettarget:commonBug/Feature concerns all build targets

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions