Skip to main content

complexity-analysis

Complexity analysis for user stories with known work, risks, and scenarios. Use when you need to estimate effort, points, size, or analyze complexity of a user story. Do not use for sprint estimates (use devsquad.sprint) or for artifact quality validation (use quality-gate).

Informations de source

Dépôt
microsoft/devsquad-copilot
Dernière activité de la source
18 mars 2026 à 19:38
Langue détectée de SKILL.md
anglais
Étoiles
48
Forks
11

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
complexity-analysis
description
Complexity analysis for user stories with known work, risks, and scenarios. Use when you need to estimate effort, points, size, or analyze complexity of a user story. Do not use for sprint estimates (use devsquad.sprint) or for artifact quality validation (use quality-gate).
## Principle Focus on the unknowns, not the knowns. Unknown work dominates software projects. ## Evidence Rule Every classification (known/unknown) must cite the evidence that supports it. Reference code, ADR, spec, or absence thereof. If uncertain, say so and indicate what information would resolve the uncertainty. ## Analysis Structure ### 1. Known Work Tasks whose effort can be estimated with confidence: - We have done something similar in this project - Established pattern in ADR or existing code - Well-defined scope in the spec - Existing test coverage in the affected area - Localized change (few impacted dependencies) For each item, indicate *why* it is known (e.g., "CRUD endpoint, same pattern as `src/api/users`"). ### 2. Unknown Work (Risks) Signals of uncertainty: - First time (new technology, integration, or pattern) - External dependency (third-party API, another team's service) - Vague requirement ("must be fast", "easy to use") - Pending decision (no ADR exists for technical choice) - Legacy code (area without tests or documentation) - Concurrency/scale (behavior under load not tested) - Cross-team coordination without agreed interface For each risk, indicate: **what** the risk is, **why** it is a risk, and **impact** if it materializes. ### 3. Dependencies | Dependency | Owner (team/service) | Status | Impact if delayed | |------------|----------------------|--------|-------------------| Flag tentative dependencies, without commitment, or without agreed timeline. ### 4. Open Questions Before proposing scenarios, list decisions or information that need a human response: - Decisions needed before starting - Pending requirement clarifications - Access or approvals not granted ### 5. Scenarios (2-3 approaches) | Scenario | Approach | If it goes well | If risks materialize | Trade-offs | |----------|----------|-----------------|----------------------|------------| ### 6. Recommendation Indicate the recommended scenario with explicit justification ("recommended because..."), linking to evidence and identified risks. For high risks, suggest a spike or timebox to reduce uncertainty before committing. ## Risk Classification | Risk | Criteria | Implication | |------|----------|-------------| | High | 2+ unknown risks, critical external dependency, or missing ADR | Mandatory supervision, consider spike | | Medium | 1 manageable risk, or complex logic | Validation checkpoints | | Low | Only known work, established pattern | Candidate for autonomous execution | ## Format for Work Items In the User Story body (GitHub/Azure DevOps): ```markdown ## Complexity Analysis **Risk:** [High/Medium/Low] ### Known Work - Item 1 (estimate) - Item 2 (estimate) ### Identified Risks - Risk 1: [description and potential impact] - Risk 2: [description and potential impact] ### Scenarios | Scenario | Base effort | If risks materialize | Recommended? | |----------|-------------|----------------------|--------------| | A | X days | Y days | | | B | X days | Y days | yes | ### Decision [Chosen scenario and justification, or "Awaiting team decision"] ``` ## When to Revisit Analysis The analysis should be updated when: - A risk materializes (document actual impact) - A new risk is discovered during implementation - The scenario decision is changed - A relevant ADR is created or modified ## Anti-patterns - Do not give a number without justification (e.g., "3 story points") - Do not ignore risks to appear faster - Do not list only known work - Do not present a single scenario as "the solution" - Do not hide assumptions: always make them explicit - Do not claim confidence you do not have: declare the uncertainty
Voir sur GitHub