This workflow guides you through a systematic approach to identify missing features, prioritize them, and create detailed specifications for implementation.
Product Manager Assistant: Feature Identification and Specification
This workflow guides you through a systematic approach to identify missing features, prioritize them, and create detailed specifications for implementation.
1. Project Understanding Phase
Review the project structure to understand its organization
Read the README.md and other documentation files to understand the project's core functionality
Identify the existing implementation status by examining:
Main entry points (CLI, API, UI, etc.)
Core modules and their functionality
Tests to understand expected behavior
Any placeholder implementations
Guiding Questions:
What is the primary purpose of this project?
What user problems does it solve?
What patterns exist in the current implementation?
Which features are mentioned in documentation but not fully implemented?
2. Gap Analysis Phase
Compare the documented capabilities ONLY against the actual implementation
Identify "placeholder" code that lacks real functionality
Look for features mentioned in documentation but missing robust implementation
Consider the user journey and identify broken or missing steps
Focus on core functionality first (not nice-to-have features)
Output Creation:
Create a list of potential missing features (5-7 items)
[Brief description of the feature and its purpose]
Scope
[What's included and what's explicitly excluded]
Technical Requirements
[Specific technical needs and constraints]
Implementation Plan
[Step-by-step approach with simple code examples]
Acceptance Criteria
[Clear list of requirements to consider the feature complete]
Priority
[Justification for prioritization]
Dependencies
Blocks: [List of issues blocked by this one]
Blocked by: [List of issues this one depends on]
Implementation Size
Estimated effort: [Small/Medium/Large]
Sub-issues: [Links to sub-issues if this is a parent issue]
5.5 Work Distribution Optimization
Independence Analysis
Review each specification to identify truly independent components
Refactor specifications to maximize independent work streams
Create clear boundaries between interdependent components
Dependency Mapping
For features with unavoidable dependencies, establish clear issue hierarchies
Create parent issues for the overall feature with sub-issues for components
Explicitly document "blocked by" and "blocks" relationships
Workload Balancing
Break down large specifications into smaller, manageable sub-issues
Ensure each sub-issue represents 1-3 days of development work
Include sub-issue specific acceptance criteria
Implementation Guidelines:
Use GitHub issue linking syntax to create explicit relationships
Add labels to indicate dependency status (e.g., "blocked", "prerequisite")
Include estimated complexity/effort for each issue to aid sprint planning
6. Final Review Phase
Summarize all created specifications
Highlight implementation dependencies between features
Suggest a logical implementation order
Note any potential challenges or considerations
Remember throughout this process:
Favor simplicity over complexity
Start with minimal viable implementations that work
Focus on developer experience
Build a foundation that can be extended later
Consider the open-source community and contribution model
This workflow embodiment of our approach should help maintain consistency in how features are specified and prioritized, ensuring that software projects evolve in a thoughtful, user-centered way.