Agile Product Owner
When to Use This Skill
Use this skill when you need to manage the ORE Studio product backlog, create new stories, prioritize work, plan sprints, or capture future work items. This includes creating stories for new features, bugs, technical debt, and cleanup tasks that emerge during development.
How to Use This Skill
- Understand the current context: Identify the current sprint and product version.
- Determine story type: Decide if the story belongs in the current sprint, product backlog (near or far), or a previous sprint (for reference only).
- Create or update stories: Add new stories to the appropriate location with proper formatting.
- Prioritize work: Order stories by priority within their respective backlogs.
- Plan sprints: Allocate stories from the product backlog to sprint backlogs when planning new sprints.
- Maintain version direction: Update the major version manifest with milestones and strategic direction.
Detailed Instructions
Step 1: Understand the Agile Structure
Directory Organization
All agile artifacts are stored under doc/agile/:
- Current major version:
v0 - Version-specific files:
doc/agile/v0/ - Product backlog:
doc/agile/product_backlog.org - Major version manifest:
doc/agile/v0/version_zero.org
Sprint Backlogs
Sprint backlogs are located at doc/agile/v0/sprint_backlog_NN.org where NN is
the sprint number:
- Latest sprint backlog: Contains stories for the current sprint under active
development. e.g.,
sprint_backlog_05.org. - Older sprint backlogs: Contains completed work; consult occasionally when
researching past decisions or completed features. e.g.,
sprint_backlog_01.orgthroughsprint_backlog_04.org.
To identify the current sprint:
- List files in
doc/agile/v0/matching the patternsprint_backlog_*.org. - Find the file with the highest sprint number - e.g.,
sprint_backlog_05.orgmeans sprint 5 is current. - Read the sprint mission at the top of the file to understand current focus.
Product Backlog
Location: doc/agile/product_backlog.org.
The product backlog is organized into two sections:
- Near Stories
Stories that may be tackled in the near future (next 1-3 sprints):
- High priority items.
- Well-understood requirements.
- Clear business value.
- Ready or nearly ready for sprint allocation.
- Far Stories
Interesting ideas that may be explored later but are not immediate priorities:
- Future enhancements.
- Exploratory work.
- Nice-to-have features.
- Low priority but valuable long-term.
Major Version Manifest
Location: doc/agile/v0/version_zero.org.
Contains:
- Overall direction for the major version.
- Strategic goals and vision.
- Project planning and roadmap.
- Near-term milestones.
- Links to all sprint backlogs.
Step 2: Creating New Stories
When to Create Stories
Create stories in the following situations:
- New feature requests: User-facing functionality.
- Bug fixes: Defects that need resolution.
- Technical debt: Code quality improvements, refactoring.
- Infrastructure work: Build system, CI/CD, tooling.
- Cleanup tasks discovered during development: Technical improvements identified while working on other tasks
- Research and analysis: Investigations, proof of concepts.
- Documentation: User guides, developer documentation.
Choosing Story Location
- Current Sprint Backlog
Add to
doc/agile/v0/sprint_backlog_NN.org(latest NN) when:- Work aligns with current sprint mission.
- Work is needed to complete current sprint goals.
- Urgent bug fixes or critical issues.
- Small cleanup tasks related to current work.
- Product Backlog (Near)
Add to
doc/agile/product_backlog.orgunder "Near Stories" when:- Work is important but not for this sprint.
- Requirements are clear and understood.
- Could be tackled in next 1-3 sprints.
- Has clear business value.
- Product Backlog (Far)
Add to
doc/agile/product_backlog.orgunder "Far Stories" when:- Interesting idea worth capturing.
- Low priority or unclear value.
- Requires more analysis before prioritisation.
- Long-term enhancement.
Story Format
Stories in ORE Studio use org-mode format with specific structure:
- Sprint Backlog Stories
Stories in sprint backlogs should include:
#+begin_src fundamental ,**** STARTED Story title :tag1:tag2: DEADLINE:
Description of the story and acceptance criteria.
- Tasks
[ ]Task 1[ ]Task 2[ ]Task 3
- Notes
Any additional context, decisions, or links to related work. #+end_src
Status options:
STARTED– Currently in progress.COMPLETED– Finished and verified.CANCELLED– No longer needed.POSTPONED– Deferred to future sprint.BLOCKED– Cannot proceed due to dependencies.
Common tags:
:code:– Code implementation.:infra:– Infrastructure work.:analysis:– Research or analysis.:agile:– Agile process work.:doc:– Documentation.
- Tasks
- Product Backlog Stories
Stories in product backlog are simpler:
*** Story title Description and rationale. - Acceptance criteria 1 - Acceptance criteria 2
Step 3: Prioritizing Stories
Within Sprint Backlog
Stories within the current sprint backlog should be ordered by:
- Blockers first: Work that blocks other team members.
- Sprint mission alignment: Work directly supporting sprint goals.
- Dependencies: Work that other tasks depend on.
- Value delivery: Work that delivers user value sooner.
Within Product Backlog
- Near Stories Priority
Order by:
- Business value: Impact on users or business goals.
- Strategic alignment: Fit with major version direction.
- Risk reduction: Technical debt that creates risk.
- Dependencies: Work that unblocks other work.
- Effort: Consider quick wins.
- Far Stories Priority
Less critical to order precisely:
- Group related stories together.
- Keep most interesting ideas toward the top.
- Archive or remove stories that are no longer relevant.
Step 4: Planning Sprints
When planning a new sprint (typically done using the new-sprint skill):
- Review product backlog – Identify candidate stories from "Near" section.
- Define sprint mission – Determine the sprint's primary focus.
- Select stories – Move stories from product backlog to new sprint backlog.
- Balance work – Mix of features, bugs, technical debt, and infrastructure.
- Estimate capacity – Don't overcommit.
- Update backlogs – Remove moved stories from product backlog.
Step 5: Capturing Emergent Work
During development, new work items are often discovered:
Technical Debt and Cleanup
When you identify cleanup work during implementation:
- Assess urgency:
- Can it be done now? → Do it immediately.
- Needed for current sprint? → Add to current sprint backlog.
- Can wait? → Add to product backlog.
- Document context:
- What needs cleaning up?
- Why is it needed?
- Where is the code located?
- What is the impact if not done?
- Tag appropriately:
- Use
:code:for refactoring - Use
:infra:for build/tooling improvements - Use
:analysis:if investigation needed first
- Use
Future Enhancements
When users or team members suggest enhancements:
- Capture the idea in product backlog (Far section)
- Document the value proposition
- Note any dependencies or prerequisites
- Add to appropriate section based on priority
Research Items
When you need to investigate something:
- Create a research story in appropriate backlog
- Define clear research questions
- Specify deliverables (report, proof of concept, decision)
- Tag with
:analysis:
Step 6: Maintaining the Major Version Manifest
The major version manifest doc/agile/v0/version_zero.org should be updated when:
Adding Milestones
- Significant feature completions
- Release candidates
- Integration points with external systems
Updating Strategic Direction
- Major architectural decisions
- Technology choices
- Platform decisions
- User experience direction
Linking Sprint Backlogs
- Ensure all sprint backlogs are linked in the manifest
- Keep descriptions up to date
- Note sprint completion status
Step 7: Best Practices
Story Creation
- Be specific – Clear, actionable descriptions
- Include context – Why is this work needed?
- Define acceptance criteria – How do we know it's done?
- Link related work – Reference other stories, commits, or documentation
- Use appropriate tags – Helps with reporting and filtering
Story Sizing
- Break down large stories – Keep stories small enough to complete in a few days
- Create epics – Use parent stories for large features
- Separate concerns – Split technical and user-facing work if it helps
Backlog Hygiene
- Review regularly – Product backlog should be reviewed at least monthly
- Archive completed work – Keep sprint backlogs but mark them as historical
- Remove stale stories – Delete stories that are no longer relevant
- Refine stories – Add detail to stories as they get closer to implementation
- Move stories – Promote stories from Far to Near as priorities change
Sprint Discipline
- Respect the sprint mission – New stories should align with sprint goals
- Limit work in progress – Focus on completing stories before starting new ones
- Track time – Use org-mode clocking for time tracking
- Update status – Keep story status current (STARTED, COMPLETED, etc.)
- Document decisions – Add notes to stories as work progresses
Session Continuity and Progress Tracking
To ensure work can be resumed after session restarts or context switches:
Mark tasks as COMPLETED immediately – When a task within a story's implementation plan is finished, mark it as COMPLETED in the sprint backlog (not just in the TodoWrite tool). Change
- [ ]to- [X]and add status:***** COMPLETED Task 1: Description CLOSED: [2025-11-17 Sun] - [X] Subtask 1 - [X] Subtask 2
Document modified files – Add a "Modified files" section under each completed task listing the files changed and what was done:
Modified files: - =path/to/file.cpp= - Brief description of changes - =path/to/other.hpp= - Brief description of changes
Mark entire stories as COMPLETED – When all tasks in a story are done, change the story status from
STARTEDtoCOMPLETEDand add a CLOSED timestamp:*** COMPLETED Story title :tag: CLOSED: [2025-11-17 Sun] :LOGBOOK: CLOCK: [2025-11-17 Mon 23:40] :END:- Update incrementally – Don't wait until the end of a story to update the sprint backlog. Update it as each task completes so progress is always visible and resumable.
- Benefits of incremental updates:
- Session restarts can quickly identify what's done and what remains
- User can see progress in real-time
- Multiple sessions can collaborate without duplicating work
- Work history is preserved for future reference
- Easier to track actual time spent vs. estimated time
Step 8: Working with Story Tags
ORE Studio uses org-mode tags for categorisation:
Standard Tags
:code:– Implementation work, programming:infra:– Build system, CI/CD, deployment, tooling:analysis:– Research, investigation, design:agile:– Sprint planning, backlog grooming:doc:– Documentation, guides, diagrams
Using Tags
- Multiple tags allowed – Stories can have several tags
- Use for reporting – Tags enable time tracking by category
- Be consistent – Follow established tag patterns
- Don't over-tag – Use tags that add value for reporting
Step 9: Org-mode Time Tracking
Sprint backlogs use org-mode's time tracking features:
Clocking Time
- Use
org-clock-inandorg-clock-outto track work - Time is automatically summed in clock tables
- Helps understand actual vs. estimated effort
Clock Tables
Sprint backlogs include two clock tables:
- Today's summary – Shows work done today
- Sprint summary – Shows total work for the sprint
These tables auto-update and provide insights into:
- Time per story
- Time per tag (code vs. infra vs. analysis)
- Progress toward sprint goals