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).

معلومات المصدر

المستودع
microsoft/devsquad-copilot
آخر نشاط في المصدر
١٨ مارس ٢٠٢٦ في ١٩:٣٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٥٠
التفرعات
١٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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
عرض على GitHub