Creating Requirements
Learn how to create and configure requirements in your project.
Creating a New Requirement
From the Requirements Page
-
Navigate to Requirements
- Open your project
- Click "Requirements" in the sidebar
-
Click "New Requirement"
- Button appears at top of requirements tree
- Opens the requirement creation modal
-
Fill in Details
- See Requirement Fields below
-
Save
- Click "Create" or "Save"
- Requirement appears in tree immediately
From an Existing Requirement
To create a child requirement:
-
Select Parent
- Click on any requirement in the tree
- Click "New Requirement" button
-
Parent is Pre-Selected
- Modal shows with parent already set
- You can change parent or set to "Root"
-
Choose Type
- Type must follow hierarchy rules
- Only valid child types are shown
-
Complete and Save
- Fill in other details
- Click "Create"
Requirement Fields
Required Fields
Type *
Select the requirement type from dropdown:
- Customer Request (CR)
- System Requirement (SYS)
- Subsystem Requirement (SUB)
- Function Requirement (FUN)
- Subfunction Requirement (SFUN)
- Detailed Requirement (L6)
Types shown depend on:
- Your organization's hierarchy configuration
- Selected parent (only valid children shown)
Title *
A concise description of the requirement (< 100 characters recommended).
Examples:
- "Vehicle shall transport 5 passengers"
- "System shall start within 3 seconds"
- "Display shall update at 60 Hz"
Tips:
- Use "shall" for mandatory requirements
- Start with subject (System, Engine, Display, etc.)
- Be specific and measurable
Optional Fields
Description
Detailed specification and acceptance criteria.
Example:
The vehicle shall safely transport up to 5 adult passengers
(95th percentile male, 225 lbs each) plus 100 lbs of cargo
under normal operating conditions.
Acceptance Criteria:
- Crash test rating ≥ 5 stars
- Seatbelts for all 5 positions
- Total payload capacity ≥ 1225 lbs
Parent
Select the parent requirement:
- Root: Top-level requirement (no parent)
- CR-001: Existing requirement custom ID
You can only select parents that make sense in the hierarchy:
- Customer Requests can only be root
- System Requirements can be root or under Customer Request
- Subsystems must be under System
- And so on...
Priority
Importance level:
- High: Critical functionality
- Medium: Important but not critical
- Low: Nice-to-have features
Status
Development state:
- Draft: Work in progress
- Under Review: Awaiting approval
- Approved: Ready for implementation
- Implemented: Development complete
- Verified: Testing complete
Owner
Assign to team member responsible for this requirement.
Custom ID Generation
How IDs are Created
IntelliSE automatically generates custom IDs based on:
- Requirement Type: Uses type abbreviation (CR, SYS, SUB, etc.)
- Parent: Prepends parent's custom ID
- Siblings: Counts existing requirements of same type under same parent
Examples
Root Requirements
First Customer Request:
Type: Customer Request
Parent: Root
→ Custom ID: CR-001
Second Customer Request:
Type: Customer Request
Parent: Root
→ Custom ID: CR-002
Child Requirements
First System Requirement under CR-001:
Type: System Requirement
Parent: CR-001
→ Custom ID: CR-001.SYS-001
Second System Requirement under CR-001:
Type: System Requirement
Parent: CR-001
→ Custom ID: CR-001.SYS-002
First Subsystem under CR-001.SYS-001:
Type: Subsystem Requirement
Parent: CR-001.SYS-001
→ Custom ID: CR-001.SYS-001.SUB-001
Type-Specific Counting
Numbering counts only same type under same parent.
Example under CR-001:
CR-001.SYS-001(System #1)CR-001.SYS-002(System #2)CR-001.FUN-001(Function #1) ← Independent counterCR-001.SYS-003(System #3)
Moving Requirements
You can change a requirement's parent after creation.
How to Move
-
Edit Requirement
- Click requirement in tree
- Click "Edit" button
-
Change Parent
- Select new parent from dropdown
- Or select "Root" for top-level
-
Save
- Click "Save"
- Custom ID updates automatically
- All descendants update recursively
Custom ID Updates
When you move a requirement, its ID regenerates:
Before:
CR-001.SYS-001.SUB-001
Move to: CR-002.SYS-001
After:
CR-002.SYS-001.SUB-001
All children also update:
CR-002.SYS-001.SUB-001.FUN-001
CR-002.SYS-001.SUB-001.FUN-002
Moving requirements updates all IDs in the subtree. References in external documents may break.
Validation Rules
Hierarchy Enforcement
The system prevents:
❌ Invalid Parent-Child Combinations
- Can't make a Subsystem parent of a System
- Can't skip hierarchy levels (System → Function without Subsystem)
❌ Circular References
- Can't make a requirement its own descendant
- Parent chain must be acyclic
✅ Allowed Operations
- Any requirement can be root
- Proper hierarchy level transitions
- Multiple children of same type
Type Constraints
Default hierarchy rules:
| Parent Type | Allowed Child Types |
|---|---|
| (Root) | Customer Request, System Requirement |
| Customer Request | System Requirement |
| System Requirement | Subsystem Requirement |
| Subsystem Requirement | Function Requirement |
| Function Requirement | Subfunction Requirement, Detailed Requirement |
| Subfunction Requirement | Detailed Requirement |
| Detailed Requirement | (leaf - no children) |
Admins can customize these rules via Hierarchy Configuration
Best Practices
Naming Requirements
✅ Good Titles:
- "Engine shall generate 300 HP at 6000 RPM"
- "Display shall render UI at 60 FPS minimum"
- "Battery shall last 8 hours under normal use"
❌ Poor Titles:
- "Fast engine" (not specific)
- "Good display" (not measurable)
- "Long battery life" (ambiguous)
Organizing Tree
- Create Top-Down: Start with high-level, decompose gradually
- Consistent Depth: Keep similar requirements at same level
- Logical Parents: Group related requirements together
- Avoid Gaps: Don't skip hierarchy levels
Editing Tips
- Draft First: Mark as "Draft" until finalized
- Review Changes: Check impact before moving requirements
- Use Descriptions: Add detailed specs in description field
- Track Ownership: Assign owners for accountability
Troubleshooting
Can't Create Requirement
Problem: "New Requirement" button grayed out
Solutions:
- Check project limit for your tier (Free = limited projects)
- Ensure you have write permissions
- Try refreshing the page
Wrong Custom ID
Problem: Expected CR-002 but got CR-003
Cause: Likely deleted requirement CR-002 previously
Solution: IDs don't reuse. This is by design to avoid confusion.
Can't Select Parent
Problem: Desired parent doesn't appear in dropdown
Cause: Violates hierarchy rules (e.g., trying to make Subsystem parent of System)
Solution: Check hierarchy configuration for valid parent-child relationships
What's Next?
- Managing Hierarchy - Navigate and organize requirements
- AI Import - Import from documents (Pro/Enterprise)
- Editing Requirements - Modify existing requirements