After managing several requirements migrations, I’ve developed a field normalization framework that balances these concerns:
Field Mapping Decision Matrix:
Use this criteria to decide custom attribute vs standard field:
- Usage Frequency: If field is used in >20% of requirements, consider custom attribute
- Search Dependency: If field is searched/filtered independently, needs to be custom attribute
- Workflow Integration: If field drives state transitions or approvals, must be custom attribute
- Reporting Requirements: If field appears in executive dashboards or compliance reports, custom attribute preferred
- Regulatory Traceability: If field is required for audit trails, use custom attribute for explicit tracking
Custom Attribute Support - When to Use:
Create custom attributes for:
- Fields with controlled vocabularies (picklists) that drive business logic
- Numeric fields used in calculations or threshold validations
- Date fields tracked for compliance or milestone reporting
- Fields that need independent access control or visibility rules
For your specific example (Business Justification, Technical Rationale, Regulatory Driver):
- If these drive approval routing or compliance reporting → Custom attributes
- If they’re informational context → Combine into structured description with XML tags for potential future extraction
Standard Field Normalization - Best Practices:
Map to standard fields when:
- Legacy field semantics align with Windchill standard field purpose
- Field usage is primarily display/read rather than search/filter
- Data type matches (text to text, date to date)
- No complex validation rules on the legacy field
Traceability Link Mapping Strategy:
For your 15 link types, apply this three-tier approach:
Tier 1: Direct Mapping (High-Value Links)
Map your most-used 4-5 link types to Windchill standard types:
- derives-from → Derived From
- refines → Refines
- depends-on → Depends On
- validates → Verified By
Tier 2: Consolidated Custom Links (Medium-Value)
Group similar semantics into 2-3 custom link types:
- conflicts-with, incompatible-with → “Conflicts” custom link type
- impacts, affects, influences → “Impacts” custom link type
Tier 3: Metadata Preservation (Low-Value)
For rarely-used link types, use a generic “Related” link and store original type in link description:
Link Type: Related
Description: [LEGACY: enhances] Original enhancement relationship from legacy system
Field Normalization Strategies:
- Structured Text Approach:
Combine related fields into description using XML or markdown structure:
<description>
<businessJustification>Cost reduction initiative</businessJustification>
<technicalRationale>Legacy system EOL</technicalRationale>
<regulatoryDriver>FDA 21 CFR Part 11 compliance</regulatoryDriver>
</description>
This preserves structure for potential future extraction while using standard fields.
- Hybrid Approach:
Use standard fields for high-frequency attributes, custom attributes for specialized fields:
- Standard: Name, Description, Priority, Status, Owner
- Custom: RegulatoryDriver (picklist), ComplianceCategory (picklist), ValidationStatus (enum)
- Metadata Table Approach:
For extensive custom data, create a separate metadata table linked to requirements:
- Core requirement uses standard fields
- Extended attributes stored in related metadata object
- Maintains clean requirement model while preserving all legacy data
Analysis Before Migration:
Run these queries on your legacy data:
- Field usage frequency (% of requirements with non-null values)
- Search/filter frequency (from system logs)
- Report dependency analysis (which fields appear in active reports)
- Workflow integration (which fields trigger actions)
This data-driven approach helps justify custom attribute decisions with objective metrics.
Potential Data Loss Mitigation:
When normalizing fields, implement these safeguards:
- Export complete legacy data snapshot before migration
- Document all field mapping decisions in a traceability matrix
- Store original field values in a migration metadata custom attribute
- Create a post-migration validation report comparing source vs target data
For your specific scenario, I’d recommend:
- Keep Regulatory Driver as custom attribute (likely compliance reporting requirement)
- Combine Business Justification and Technical Rationale into Description with structured format
- Map your top 5 link types directly, consolidate others into 2-3 custom types
- Preserve original link type in description field for audit purposes
This balances system simplicity with data preservation and supports both current workflows and future flexibility.