Analyze, classify, detect conflicts, assess feasibility, and prioritize gathered requirements per IEEE 29148 Section 6.5 and Wiegers Practices 7-9.
This skill transforms raw elicitation artifacts into a structured analysis report. It classifies requirements by type and priority, detects conflicts between competing requirements, assesses feasibility across five dimensions (TELOS), and applies a stakeholder-selected prioritization method. The output serves as the authoritative analysis baseline before specification and validation activities begin.
elicitation_log.md with raw requirements| Attribute | Value |
|---|
| Inputs | projects/<ProjectName>/<phase>/<document>/elicitation_log.md, vision.md, features.md, business_rules.md |
| Output | projects/<ProjectName>/<phase>/<document>/requirements_analysis_report.md |
| Tone | Analytical, objective, evidence-based; no subjective adjectives |
| Standards | IEEE 29148-2018 Section 6.5, IEEE 830-1998, IEEE 1233-1998 |
| File | Location | Required | Purpose |
|---|---|---|---|
| elicitation_log.md | projects/<ProjectName>/<phase>/<document>/elicitation_log.md | Yes | Raw requirements gathered from stakeholders |
| vision.md | projects/<ProjectName>/_context/vision.md | Yes | Business goals for traceability and prioritization |
| features.md | projects/<ProjectName>/_context/features.md | Yes | Feature descriptions for classification |
| business_rules.md | projects/<ProjectName>/_context/business_rules.md | No | Business rules for conflict detection |
| File | Location | Description |
|---|---|---|
| requirements_analysis_report.md | projects/<ProjectName>/<phase>/<document>/requirements_analysis_report.md | Complete analysis with classification, conflicts, feasibility, and prioritization |
Follow these steps in order. Halt and notify the user if a required input file is missing.
Read elicitation_log.md, vision.md, features.md, and optionally business_rules.md from projects/<ProjectName>/_context/. Assign a temporary identifier (e.g., RAW-001) to each requirement that lacks one. Log the total count of raw requirements discovered.
Classify each requirement along two axes:
By Type (IEEE 29148 Section 6.5.2):
| Type | Definition | Identifier Prefix |
|---|---|---|
| Functional | A capability the system shall provide (stimulus-response) | FR- |
| Non-Functional | A quality attribute or constraint the system shall satisfy | NFR- |
| Constraint | A design or implementation restriction imposed externally | CON- |
| Interface | A requirement on system boundaries and external interactions | IR- |
By Obligation (IEEE 1233):
| Level | Keyword | Meaning |
|---|---|---|
| Mandatory | shall | Non-negotiable; system fails acceptance without it |
| Desirable | should | Expected but negotiable under constraint pressure |
| Optional | may | Nice-to-have; included only if resources permit |
Produce a classification matrix table listing every requirement with its type, obligation level, and source reference.
Scan the classified requirements for four conflict types per Wiegers Practice 8:
[CONFLICT-CONTRADICTION].[CONFLICT-REDUNDANCY].[CONFLICT-SUBSUMPTION].[CONFLICT-BOUNDARY].For each detected conflict, document:
See references/conflict-detection.md for the detection algorithm and resolution strategies.
Evaluate every mandatory requirement against five feasibility dimensions:
| Dimension | Question | Score Range |
|---|---|---|
| Technical | Can the requirement be implemented with available technology? | 1-5 |
| Economic | Can the requirement be implemented within budget constraints? | 1-5 |
| Legal | Does the requirement comply with applicable regulations? | 1-5 |
| Operational | Can the organization support this requirement operationally? | 1-5 |
| Schedule | Can the requirement be delivered within the project timeline? | 1-5 |
Compute a composite feasibility score:
$FeasibilityScore = \frac{T + E + L + O + S}{5}$
Apply the following thresholds:
[FEASIBILITY-FAIL])See references/feasibility-analysis.md for the scoring rubric and go/no-go decision criteria.
Apply the prioritization method selected by the stakeholder team. If no method has been chosen, recommend one using the decision tree in references/requirements-prioritization.md.
Supported Methods:
MoSCoW (Wiegers Practice 9): Assign each requirement to Must Have, Should Have, Could Have, or Won't Have. Validate that Must Have requirements do not exceed 60% of total effort capacity.
Kano Model: Classify requirements as Basic (expected), Performance (linear satisfaction), or Excitement (delight). Ensure all Basic requirements are included before Performance requirements.
WSJF (Weighted Shortest Job First): Calculate priority score: $WSJF = \frac{UserValue + TimeCriticality + RiskReduction}{JobSize}$
100-Dollar Method: Distribute 100 hypothetical dollars across requirements. Aggregate stakeholder allocations and rank by total investment.
Produce a prioritized requirements list sorted by priority score or category, with justification for each ranking decision.
If business goals in vision.md are complex or hierarchical, decompose them using goal-oriented requirements engineering:
See references/goal-modeling.md for KAOS and i* modeling guidance.
Write the completed analysis to projects/<ProjectName>/<phase>/<document>/requirements_analysis_report.md using the output format below. Log summary statistics: total requirements, classifications, conflicts detected, feasibility failures, and priority distribution.
The generated requirements_analysis_report.md SHALL contain the following sections:
# Requirements Analysis Report: [Project Name]
## 1. Document Information
## 2. Analysis Summary
### 2.1 Scope and Objectives
### 2.2 Input Artifacts Analyzed
### 2.3 Key Findings
## 3. Requirements Classification Matrix
### 3.1 By Type (Functional / Non-Functional / Constraint / Interface)
### 3.2 By Obligation (Mandatory / Desirable / Optional)
### 3.3 Classification Summary Statistics
## 4. Conflict Detection Report
### 4.1 Contradictions
### 4.2 Redundancies
### 4.3 Subsumptions
### 4.4 Boundary Conflicts
### 4.5 Resolution Recommendations
## 5. Feasibility Assessment
### 5.1 TELOS Scoring Matrix
### 5.2 Go / Conditional / No-Go Summary
### 5.3 Risk Register for Conditional Requirements
## 6. Requirements Prioritization
### 6.1 Method Selected and Rationale
### 6.2 Prioritized Requirements List
### 6.3 Priority Distribution Analysis
## 7. Goal Model (if applicable)
## 8. Recommendations and Next Steps
## 9. Appendix: Standards Traceability
[FEASIBILITY-FAIL] and excluded from prioritization.| Direction | Skill | Relationship |
|---|---|---|
| Upstream | 02-requirements-engineering/fundamentals/during/03-* | Consumes elicitation artifacts |
| Downstream | 02-requirements-engineering/fundamentals/during/05-* | Feeds classified requirements to data modeling |
| Downstream | 02-requirements-engineering/fundamentals/during/06-* | Feeds prioritized requirements to patterns |
| Downstream | 02-requirements-engineering/waterfall/05-* | Feeds into SRS feature decomposition |
| Standard | Governs |
|---|---|
| IEEE 29148-2018 | Requirements analysis activities and classification scheme |
| IEEE 830-1998 | Quality attributes for well-formed requirements |
| IEEE 1233-1998 | Obligation levels and requirement well-formedness |
| Laplante Ch.5 | Analysis techniques and feasibility assessment |
| Wiegers Ch.7-9 | Classification, conflict detection, and prioritization |
references/conflict-detection.md -- Conflict types, detection algorithm, resolution strategiesreferences/feasibility-analysis.md -- TELOS framework with scoring rubricreferences/requirements-prioritization.md -- Four prioritization methods comparedreferences/goal-modeling.md -- KAOS and i* goal-oriented requirements engineering