Creating Requirements Modules for Software Projects

1. Overview

This guide defines the standard structure, content, and best practices for creating a requirements module in Antora documentation projects for software systems. It ensures consistency across projects and comprehensive coverage of requirements documentation.

Location: This guide is maintained in the doc-standard repository and referenced by all software documentation projects.

Purpose: Establish consistent structure and content for requirements modules across all software projects.

1.1. When to Use This Guide

Use this guide when:

  • Creating requirements documentation for a new software system

  • Documenting the modernization or replacement of an existing system

  • Structuring business requirements, functional specifications, and user stories

  • Converting Business Requirements Documents (BRDs) into structured Antora documentation

1.2. Key Principles

  • Comprehensive Coverage - Address all aspects of requirements (functional, data, integration, UI)

  • Structured Organization - Follow consistent module structure across projects

  • Placeholder Transparency - Clearly mark missing or incomplete content

  • Cross-Reference Integration - Link requirements to architecture, design, and implementation docs

  • Living Documentation - Requirements evolve; documentation must be maintainable

2. Requirements Module Structure

2.1. Standard Directory Layout

modules/requirements/
├── nav.adoc                        # Navigation structure
├── pages/
│   ├── index.adoc                  # Requirements overview and index
│   │
│   ├── business-context.adoc       # Business context and overview
│   ├── functional-overview.adoc    # High-level functional capabilities
│   ├── business-processes.adoc     # Process models and workflows
│   ├── user-stories.adoc           # Detailed user stories
│   │
│   ├── data-model.adoc             # Data entities and relationships
│   ├── data-migration.adoc         # Legacy data migration requirements
│   │
│   ├── integrations.adoc           # System integration requirements
│   ├── api-requirements.adoc       # API specifications
│   │
│   ├── screen-designs.adoc         # UI mockups and specifications
│   └── ux-requirements.adoc        # User experience requirements
│
├── images/                         # Process diagrams, ERDs, wireframes
└── examples/                       # Sample data, API examples

2.2. Navigation Structure

The nav.adoc file should organize requirements hierarchically:

* xref:index.adoc[Requirements Overview]

** Functional Requirements
*** xref:business-context.adoc[Business Context]
*** xref:functional-overview.adoc[Functional Overview]
*** xref:business-processes.adoc[Business Processes]
*** xref:user-stories.adoc[User Stories]

** Data Requirements
*** xref:data-model.adoc[Data Model]
*** xref:data-migration.adoc[Data Migration]

** Integration Requirements
*** xref:integrations.adoc[System Integrations]
*** xref:api-requirements.adoc[API Requirements]

** User Interface
*** xref:screen-designs.adoc[Screen Designs]
*** xref:ux-requirements.adoc[User Experience]

3. Core Requirements Pages

3.1. 1. Requirements Index (index.adoc)

Purpose: Overview and navigation hub for all requirements documentation.

Required Content:

  • Lead paragraph summarizing the system and its purpose

  • Overview of the system scope and business context

  • Organization of requirements into categories

  • Links to all requirements pages

  • Source documentation references

  • Document status and known gaps

  • Related documentation links

Template Structure:

= [System Name] Requirements
:description: Business and functional requirements for [system]
:keywords: requirements, [domain-specific keywords]

[.lead]
This module contains the business and functional requirements for [system],
derived from [source documents] and stakeholder input.

== Overview

[Brief description of the system, its business purpose, and scope]

== Requirements Categories

=== Functional Requirements
* xref:business-context.adoc[Business Context]
* xref:functional-overview.adoc[Functional Overview]
* xref:business-processes.adoc[Business Processes]
* xref:user-stories.adoc[User Stories]

=== Data Requirements
* xref:data-model.adoc[Data Model]
* xref:data-migration.adoc[Data Migration]

=== Integration Requirements
* xref:integrations.adoc[System Integrations]
* xref:api-requirements.adoc[API Requirements]

=== User Interface Requirements
* xref:screen-designs.adoc[Screen Designs]
* xref:ux-requirements.adoc[User Experience]

== Source Documentation

[List source BRDs, specifications, and input documents]

== Document Status

[NOTE or IMPORTANT block describing completeness and gaps]

== Related Documentation

* xref:ROOT:index.adoc[Project Overview]
* xref:design:index.adoc[System Design] (if exists)
* xref:non-functional:index.adoc[Non-Functional Requirements] (if exists)

3.2. 2. Business Context (business-context.adoc)

Purpose: Provide business context, stakeholder landscape, and domain overview.

Required Content:

  • Business domain overview

  • Product or service descriptions

  • Key stakeholders (internal and external)

  • Business environment and regulatory context

  • Business lifecycle or workflow summary

  • Alignment with organizational strategy (if applicable)

Key Sections:

  • [Product/Service] Overview - Description of what the system manages

  • Key Stakeholders - Internal and external stakeholders with their roles

  • Business Environment - Regulatory, competitive, and market context

  • [Business Process] Lifecycle - High-level business workflow stages

  • Integration with [Strategy] - How this system aligns with broader initiatives

  • Related Requirements - Cross-references to other requirement pages

Example:

= Business Context
:description: Business context and overview of [system] operations
:keywords: [domain], business context, stakeholders

[.lead]
This section provides an overview of [organization's] [business domain],
including the types of [products/services] offered, key stakeholders,
and the business environment.

== [Product/Service] Overview

[Description of what the system manages - products, services, transactions]

=== [Category 1]
[Details of first category]

=== [Category 2]
[Details of second category]

== Key Stakeholders

=== Internal Stakeholders
* **[Role 1]** - [Responsibilities]
* **[Role 2]** - [Responsibilities]

=== External Stakeholders
* **[Role 1]** - [Relationships]
* **[Role 2]** - [Relationships]

== Business Environment

[Regulatory context, market dynamics, competitive landscape]

== [Business Process] Lifecycle

[High-level stages of the business process]

== Integration with [Organizational Strategy]

[How this system supports broader organizational goals]

3.3. 3. Functional Overview (functional-overview.adoc)

Purpose: High-level functional capabilities and features of the system.

Required Content:

  • Core functional areas (major capability groups)

  • Brief description of each functional area’s purpose

  • Key features within each functional area

  • Integration touchpoints

  • User roles and access requirements

  • Data migration requirements (if replacing legacy system)

Key Sections:

  • Core Functional Areas - Major feature groups (e.g., Application Management, Transaction Processing)

  • Integration Requirements - Summary of external system touchpoints

  • User Roles and Access - Role-based access requirements

  • Data Migration Requirements - Legacy system migration needs

Example:

= Functional Overview
:description: High-level functional capabilities of [system]
:keywords: functional requirements, capabilities, features

[.lead]
This section provides a high-level overview of the functional capabilities
required for [system].

== Core Functional Areas

=== [Functional Area 1]

[Purpose and scope of this functional area]

* **[Capability 1]** - [Description]
* **[Capability 2]** - [Description]
* **[Capability 3]** - [Description]

=== [Functional Area 2]

[Purpose and scope]

* **[Capability 1]** - [Description]
* **[Capability 2]** - [Description]

== Integration Requirements

The system must integrate with:

* **[System 1]** - [Integration purpose]
* **[System 2]** - [Integration purpose]

See xref:integrations.adoc[System Integrations] for details.

== User Roles and Access

[Table of roles, functions, and access levels]

== Data Migration Requirements

[Summary of legacy data migration needs]

3.4. 4. Business Processes (business-processes.adoc)

Purpose: Document business process models, workflows, and process narratives.

Required Content:

  • BPMN diagrams for core processes

  • Process narratives describing each step

  • Decision points and business rules

  • Process inputs and outputs

  • Performance metrics and SLAs (if applicable)

Key Sections:

  • Critical Processes - List of core business processes requiring documentation

  • Supporting Processes - Secondary processes

  • Recommended Documentation Approach - Standards for process modeling

  • Impact on System Design - How missing processes affect design

  • Next Steps - Actions to complete process documentation

Handling Missing Content:

[WARNING]
====
**PLACEHOLDER - CONTENT MISSING**

This section requires detailed business process documentation including:

* Process flow diagrams showing workflow steps
* Swim-lane diagrams showing roles and handoffs
* Decision points and business rules
* Process inputs and outputs
* Performance metrics and SLAs
====

== Missing Content

The source documentation does not include comprehensive process diagrams.
The following processes should be documented:

=== Critical Processes

1. **[Process 1 Name]**
   * [Step descriptions]
   * [Key decision points]
   * [Inputs/outputs]

[Continue for each critical process]

== Recommended Documentation Approach

Business process documentation should include:

* **BPMN 2.0 diagrams** - Standard business process notation
* **Swim-lane diagrams** - Showing role responsibilities
* **Decision trees** - For complex business rules
* **Process narratives** - Textual description of each step
* **Exception handling** - How errors and exceptions are managed

== Next Steps

[Table with Priority, Action, Owner columns]

3.5. 5. User Stories (user-stories.adoc)

Purpose: Detailed user stories with acceptance criteria.

Required Content:

  • User stories in standard format (As a…​ I want…​ So that…​)

  • Acceptance criteria for each story

  • Story organization by functional area

  • Story prioritization (if known)

Standard Format:

= User Stories
:description: Detailed user stories for [system] functionality
:keywords: user stories, requirements, acceptance criteria

[.lead]
This section contains detailed user stories for [system] functionality.

== User Story Format

User stories follow the standard format:

[quote]
____
**As a** [role]
**I want** [capability]
**So that** [benefit]

**Acceptance Criteria:**

* [Criterion 1]
* [Criterion 2]
* [Criterion 3]
____

== Story Categories

=== [Functional Area 1] Stories

==== US-001: [Story Title]

**As a** [role]
**I want** [capability]
**So that** [benefit]

**Acceptance Criteria:**

* [Criterion 1]
* [Criterion 2]

**Priority:** [High/Medium/Low]

**Dependencies:** [Other stories or systems]

Handling Extraction Needed:

[WARNING]
====
**PLACEHOLDER - CONTENT TO BE EXTRACTED**

User stories need to be extracted from the Business Requirements Document
and structured in standard format.
====

== Next Steps

Extract user stories from the BRD and supporting documentation.

3.6. 6. Data Model (data-model.adoc)

Purpose: Document data entities, relationships, and data dictionary.

Required Content:

  • Entity Relationship Diagrams (ERD)

  • Data dictionary with field definitions

  • Referential integrity rules

  • Data validation rules

  • Historical data and audit requirements

Key Sections:

  • Core Entities - List of major data entities

  • Relationships - Entity relationships

  • Data Model Diagrams - ERDs (using PlantUML or images)

  • Data Dictionary - Comprehensive field definitions

  • Data Migration Considerations - Legacy data mapping

  • Data Quality Requirements - Validation, integrity, audit requirements

Example PlantUML ERD:

.Entity Relationship Diagram
[source,plantuml]

@startuml entity Entity1 { * entity_id : INT  —  name : VARCHAR description : TEXT }

entity Entity2 { * id : INT  —  * entity1_id : INT [FK] status : VARCHAR }

Entity1 ||--o{ Entity2 @enduml


Handling Missing Content:

[WARNING]
====
**PLACEHOLDER - CONTENT MISSING**

This section requires:

* Entity Relationship Diagrams (ERD)
* Data dictionary with field definitions
* Referential integrity rules
* Data validation rules
====

== Next Steps

[Table with actions for data analysis, ERD creation, data dictionary]

3.7. 7. Data Migration (data-migration.adoc)

Purpose: Requirements for migrating data from legacy systems.

Required Content:

  • Migration scope (what data to migrate)

  • Migration strategy (approach and phasing)

  • Data mapping specifications

  • Data cleansing requirements

  • Cutover planning considerations

Example:

= Data Migration Requirements
:description: Requirements for migrating data from legacy systems
:keywords: data migration, legacy systems, data mapping

[.lead]
Requirements for migrating [business data] from legacy [system] to the modern platform.

== Migration Scope

=== Data to Migrate

* [Data category 1] - [Description]
* [Data category 2] - [Description]

=== Migration Strategy

Aligns with [organization's architecture/strategy document].

[NOTE]
====
**PLACEHOLDER:** Define detailed migration strategy including:

* Migration approach (big bang vs. phased)
* Data mapping specifications
* Data cleansing requirements
* Cutover planning
* Rollback procedures
====

3.8. 8. System Integrations (integrations.adoc)

Purpose: Document integration points with external systems.

Required Content:

  • List of internal system integrations

  • List of external system integrations

  • Integration patterns (API, file transfer, messaging)

  • Integration architecture approach

  • Security and authentication requirements

Example:

= System Integrations
:description: Integration requirements with external systems
:keywords: integrations, APIs, external systems

[.lead]
Integration requirements for [system] with internal and external systems.

== Integration Points

=== Internal [Organization] Systems

* **[System 1]** - [Purpose and data exchanged]
* **[System 2]** - [Purpose and data exchanged]

=== External Systems

* **[System 1]** - [Purpose and data exchanged]
* **[System 2]** - [Purpose and data exchanged]

=== Integration Architecture

[Reference to architectural approach - API-first, event-driven, etc.]

3.9. 9. API Requirements (api-requirements.adoc)

Purpose: Specify API design principles and required endpoints.

Required Content:

  • API design principles (REST, GraphQL, etc.)

  • Authentication and security approach

  • Required API endpoints (high-level)

  • API versioning strategy

  • API documentation standards

Example:

= API Requirements
:description: API specifications and requirements
:keywords: API, REST, integration, specifications

[.lead]
API requirements for exposing [system] functionality.

== API Principles

* **RESTful Design** - Standard REST conventions
* **JSON Format** - JSON request/response payloads
* **API Gateway** - Expose via [gateway technology]
* **Security** - OAuth 2.0 authentication and authorization
* **Versioning** - Semantic versioning strategy
* **Documentation** - OpenAPI/Swagger specifications

== Required API Endpoints

[NOTE]
====
**PLACEHOLDER:** Define specific API endpoints for:

* [Functional area 1] APIs
* [Functional area 2] APIs
* Reporting and analytics APIs
====

3.10. 10. Screen Designs (screen-designs.adoc)

Purpose: UI mockups, wireframes, and screen specifications.

Required Content:

  • Screen mockups or wireframes

  • Navigation flows

  • Responsive design requirements

  • Accessibility requirements

  • UI design standards

Handling Missing Content:

= Screen Designs
:description: User interface mockups and screen specifications
:keywords: UI, screen designs, mockups, wireframes

[.lead]
This section should contain screen designs, wireframes, and UI specifications.

[WARNING]
====
**PLACEHOLDER - CONTENT MISSING**

This section requires:

* Screen mockups and wireframes
* UI component specifications
* Navigation flows
* Responsive design specifications
* Accessibility requirements
====

== Missing Content

The source documentation does not include comprehensive UI designs.
The following screens should be documented:

=== [Functional Area 1] Screens

* **[Screen 1]** - [Purpose and key elements]
* **[Screen 2]** - [Purpose and key elements]

== UI Design Principles

* **Clear Navigation** - Intuitive menu structure
* **Consistent Layout** - Standard page templates
* **Responsive Design** - Support all device sizes
* **Accessibility** - WCAG 2.1 AA compliance

== Next Steps

[Table with design tasks and ownership]

3.11. 11. User Experience Requirements (ux-requirements.adoc)

Purpose: UX principles, usability requirements, and accessibility standards.

Required Content:

  • UX design principles

  • Usability requirements

  • Accessibility standards (WCAG compliance)

  • Performance expectations (page load times)

  • Browser and device support matrix

4. Creating a Requirements Module

4.1. Pre-Generation Questions

Before creating the requirements module, gather the following information:

  1. What is the system name and purpose?

  2. What source documentation is available? (BRD, specifications, existing docs)

  3. Is this a new system or modernization of an existing system?

  4. Are there legacy systems being replaced? (migration requirements needed?)

  5. What is the business domain? (finance, insurance, healthcare, etc.)

  6. Are there known documentation gaps? (processes, UI designs, data models)

  7. Should I create placeholder pages for missing content? (recommended: yes)

4.2. Step-by-Step Creation Process

4.2.1. Step 1: Create Module Structure

cp -r module-template/ modules/requirements/

4.2.2. Step 2: Create Core Pages

Create all standard pages following the templates in this guide:

  • index.adoc (requirements overview)

  • business-context.adoc

  • functional-overview.adoc

  • business-processes.adoc (with placeholders if content missing)

  • user-stories.adoc (with extraction note if from source docs)

  • data-model.adoc (with placeholders if ERD missing)

  • data-migration.adoc (if legacy system exists)

  • integrations.adoc

  • api-requirements.adoc

  • screen-designs.adoc (with placeholders if mockups missing)

  • ux-requirements.adoc

4.2.3. Step 3: Populate Business Context

Based on source documentation and user input:

  • Describe the business domain and products/services

  • Identify key stakeholders (internal and external)

  • Document business environment and regulatory context

  • Summarize high-level business processes

4.2.4. Step 4: Document Functional Capabilities

  • Identify major functional areas (groupings of capabilities)

  • List key features within each area

  • Document user roles and access requirements

  • Note integration touchpoints

4.2.5. Step 5: Handle Missing Content Transparently

For any missing content, use clear placeholder warnings:

[WARNING]
====
**PLACEHOLDER - CONTENT MISSING**

This section requires [specific content type].
====

Include:

  • What content is missing

  • Why it’s important (impact on design/development)

  • Recommended approach to create the content

  • Next steps and ownership

4.2.6. Step 6: Create Navigation Structure

Update nav.adoc with hierarchical structure organized by requirement category.

4.2.7. Step 7: Register Module in antora.yml

nav:
- modules/ROOT/nav.adoc
- modules/requirements/nav.adoc

4.2.8. Step 8: Create TODO Tracking

Create or update project TODO.adoc documenting:

  • Identified documentation gaps

  • Priority and impact of gaps

  • Recommended actions to fill gaps

  • Ownership assignments

4.2.9. Step 9: Validate Cross-References

Ensure all xrefs work:

  • Within requirements module

  • To ROOT module

  • To design/architecture modules (if they exist)

  • To external architectural documentation

4.3. Step 10: Completion Summary

Document the following:

  • List of pages created

  • Summary of content included

  • List of identified gaps (with reference to TODO)

  • Next steps for completing documentation

5. Quality Checklist

Before finalizing the requirements module, verify:

5.1. Content Completeness

  • All 11 standard pages created

  • Business context clearly described

  • Functional areas comprehensively covered

  • Missing content clearly marked with placeholders

  • User roles and stakeholders identified

5.2. Structure and Navigation

  • Navigation hierarchy is logical and intuitive

  • All xrefs work correctly

  • Module registered in antora.yml

  • Page titles and descriptions are clear

5.3. Documentation Gaps

  • All missing content identified

  • Placeholders include impact assessment

  • Next steps documented for each gap

  • TODO.adoc created or updated with gap tracking

5.4. Cross-References

  • Links to architecture/design modules (if exist)

  • Links to organizational strategy documents (if applicable)

  • Links to related systems documentation

  • Internal links within requirements module work

5.5. AsciiDoc Standards

  • Page attributes included (description, keywords)

  • Consistent heading levels

  • Tables formatted properly

  • Admonitions used appropriately

  • Code blocks and examples properly formatted

6. Common Pitfalls to Avoid

DO NOT:

  • Invent requirements - Only document what’s in source materials or gathered from stakeholders

  • Ignore missing content - Always create placeholders and document gaps

  • Skip business context - Technical requirements need business justification

  • Forget cross-references - Requirements should link to architecture and design

  • Overlook data migration - Legacy system replacement requires migration planning

  • Neglect user roles - Access control and roles are critical requirements

  • Assume user stories exist - Often need extraction or creation from source documents

  • Create incomplete ERDs - Data model must be comprehensive or clearly marked as placeholder

7. Integration with Project Architecture

Requirements documentation should align with and reference:

7.1. Organizational Architecture Documentation

If the organization has architecture documentation (e.g., "Project Rise" for CGIC):

  • Reference strategic themes - Show how requirements align with strategy

  • Link to roadmaps - Cross-reference relevant roadmap initiatives

  • Align with technology standards - Ensure requirements follow approved tech stack

  • Reference architectural patterns - API-first, event-driven, microservices, etc.

Example alignment:

== Integration with [Organizational Strategy]

The [system] modernisation aligns with [strategy name] themes:

[cols="1,3"]
|===
|Theme |Impact on [System]

|**[Theme 1]**
|[How requirements support this theme]

|**[Theme 2]**
|[How requirements support this theme]
|===

See xref:[architecture-doc]:ROOT:roadmap.adoc[Strategic Roadmap] for context.

7.2. Design and Architecture Modules

If design/architecture modules exist or will be created:

  • Cross-reference design decisions - Link requirements to architectural choices

  • Reference integration patterns - Show how integration requirements map to architecture

  • Align with deployment model - Cloud, on-premises, hybrid considerations

8. Customization Guidelines

8.1. When to Customize the Standard Structure

The standard 11-page structure is comprehensive but can be adapted:

Add pages for:

  • Complex domain models - If business domain requires extensive modeling

  • Regulatory requirements - If compliance is a major driver (e.g., financial services)

  • Mobile-specific requirements - If mobile is a major delivery channel

  • Security requirements - If security requirements are extensive (can be separate from UX)

  • Performance requirements - If performance is critical (may warrant own page vs. NFR module)

Combine pages when:

  • Small system scope - Integrations + APIs can be combined for small systems

  • Limited UI complexity - Screen designs + UX can be one page

  • No legacy migration - Skip data-migration.adoc if new system

Split pages when:

  • Large functional scope - Multiple functional-overview pages by subsystem

  • Complex integrations - Separate pages per major integration

  • Extensive user base - Separate user-stories pages by user type or functional area

8.2. Domain-Specific Adaptations

8.2.1. Insurance Systems

  • Add pages for: product definitions, underwriting rules, claims workflows, regulatory compliance

  • Emphasize: business processes, data migration, integration with legacy systems

8.2.2. E-Commerce Systems

  • Add pages for: product catalog, order management, payment processing, fulfillment

  • Emphasize: user experience, API requirements, scalability, performance

8.2.3. Financial Systems

  • Add pages for: transaction processing, reconciliation, regulatory reporting, audit requirements

  • Emphasize: data integrity, security, compliance, audit trails

8.2.4. Healthcare Systems

  • Add pages for: patient data management, clinical workflows, regulatory compliance (HIPAA, etc.)

  • Emphasize: security, privacy, interoperability, clinical process modeling

9. Cross-Team Implementation Guidance

Many use cases span multiple implementation teams - for example, a frontend Angular team and a backend Java team. This section provides guidance for documenting implementation scope to enable clear work breakdown.

9.1. The Challenge

A single use case (e.g., "Manual Payment with QR Code") represents a coherent user journey but requires work from multiple teams:

  • Frontend Team - UI components, user interactions, client-side validation

  • Backend Team - APIs, business logic, integrations, data persistence

Without clear guidance, this creates ambiguity when creating Azure DevOps work items.

9.2. Implementation Scope Section

Add an Implementation Scope section to each scenario after the Acceptance Criteria. This section identifies the work required by each team/layer.

Template:

**Implementation Scope:**

[cols="1,1,2"]
|===
| Area | Component | Deliverables

| Frontend
| [UI Component Name]
| [Specific UI deliverables]

| Backend
| [Service Name]
| [Specific API/service deliverables]

| Integration
| [Integration Point]
| [End-to-end or cross-cutting deliverables]
|===

Example:

**Implementation Scope:**

[cols="1,1,2"]
|===
| Area | Component | Deliverables

| Frontend
| Registration Portal (Angular)
| Payment selection screen, QR code display component, payment status polling

| Backend
| admin-service (Java)
| Payment reference generation API, payment status endpoint, callback webhook handler

| Integration
| Payment Gateway
| Callback integration, payment confirmation flow
|===

9.3. Benefits

This approach provides:

  • Single coherent use case - User journey documented from user perspective

  • Clear team ownership - Each row maps to a team’s Area in Azure DevOps

  • Traceable work items - User Stories can be created per Area from a single use case

  • Reduced ambiguity - Teams know exactly what they’re responsible for

9.4. Azure DevOps Work Item Mapping

When creating Azure DevOps work items from use cases with implementation scope:

  1. Feature - One per major use case or group of related use cases

  2. User Stories - Create separate stories per Area (Frontend, Backend, etc.)

  3. Tasks - Technical tasks under each User Story

Use the Azure DevOps Area field to indicate the implementation layer. This enables:

  • Team-specific backlog views

  • Capacity planning per team

  • Clear sprint assignment

See Azure DevOps Integration Guide for detailed AI guidance on work item creation.

9.5. When to Use Implementation Scope

Always include when:

  • Multiple teams will implement the use case

  • Frontend and backend work is required

  • Third-party integrations are involved

Optional when:

  • Single team owns the entire use case

  • Use case is purely backend or purely frontend

  • Simple CRUD operations with no cross-cutting concerns

10. Example: CGIC Bonds Requirements Module

The CGIC Bonds system documentation serves as a reference implementation of this guide:

Context: Insurance guarantee and surety bonds system, part of organizational modernization (Project Rise)

Key Features:

  • Comprehensive placeholder strategy for missing content (processes, UI, data model)

  • Strong alignment with organizational architecture (Project Rise themes)

  • Clear documentation of gaps in TODO.adoc

  • Integration with broader CGIC architecture documentation

Pages Created:

  • business-context.adoc - Bonds business overview, stakeholders, product types

  • functional-overview.adoc - Facility management, guarantee issuance, premium management, claims

  • business-processes.adoc - Placeholder with detailed gap analysis

  • user-stories.adoc - Placeholder with extraction guidance

  • data-model.adoc - Placeholder with ERD requirements

  • data-migration.adoc - Adabas to SQL migration requirements

  • integrations.adoc - Internal and external system touchpoints

  • api-requirements.adoc - API-first design principles

  • screen-designs.adoc - Placeholder with comprehensive screen catalog

  • ux-requirements.adoc - Accessibility and usability requirements

Lessons Learned:

  • Binary source documents (DOCX, PDF, Excel) require explicit extraction planning

  • Placeholder pages with impact assessment are better than skipping missing content

  • Business process gaps have highest impact on downstream design and development

  • Cross-referencing organizational strategy strengthens requirements justification

11. Additional Resources


This guide ensures consistent, comprehensive requirements documentation across all software projects.