Skip to main content

Creating Requirements

Learn how to create and configure requirements in your project.

Creating a New Requirement

From the Requirements Page

  1. Navigate to Requirements

    • Open your project
    • Click "Requirements" in the sidebar
  2. Click "New Requirement"

    • Button appears at top of requirements tree
    • Opens the requirement creation modal
  3. Fill in Details

  4. Save

    • Click "Create" or "Save"
    • Requirement appears in tree immediately

From an Existing Requirement

To create a child requirement:

  1. Select Parent

    • Click on any requirement in the tree
    • Click "New Requirement" button
  2. Parent is Pre-Selected

    • Modal shows with parent already set
    • You can change parent or set to "Root"
  3. Choose Type

    • Type must follow hierarchy rules
    • Only valid child types are shown
  4. 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)
info

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
Hierarchy Rules

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:

  1. Requirement Type: Uses type abbreviation (CR, SYS, SUB, etc.)
  2. Parent: Prepends parent's custom ID
  3. 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 counter
  • CR-001.SYS-003 (System #3)

Moving Requirements

You can change a requirement's parent after creation.

How to Move

  1. Edit Requirement

    • Click requirement in tree
    • Click "Edit" button
  2. Change Parent

    • Select new parent from dropdown
    • Or select "Root" for top-level
  3. 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
warning

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 TypeAllowed Child Types
(Root)Customer Request, System Requirement
Customer RequestSystem Requirement
System RequirementSubsystem Requirement
Subsystem RequirementFunction Requirement
Function RequirementSubfunction Requirement, Detailed Requirement
Subfunction RequirementDetailed Requirement
Detailed Requirement(leaf - no children)
info

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

  1. Create Top-Down: Start with high-level, decompose gradually
  2. Consistent Depth: Keep similar requirements at same level
  3. Logical Parents: Group related requirements together
  4. 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?