II.
Page JSON
Structured · livepage:library-waterfall
Waterfall Methodology (Library) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:library-waterfall",
"_kind": "Page",
"_file": "wiki/library/waterfall.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"title": "Waterfall Methodology (Library)",
"displayName": "Waterfall Methodology (Library)",
"slug": "library/waterfall",
"articlePath": "wiki/library/waterfall.md",
"article": "\n# Waterfall Methodology\n\n> Sequential SDLC methodology with distinct phases: Requirements → Design → Implementation → Testing → Deployment → Maintenance\n\n**Creator**: Winston W. Royce (1970)\n**Category**: Sequential SDLC\n**Process ID**: `methodologies/waterfall`\n\n## Overview\n\nThe Waterfall model is a linear and sequential approach to software development where progress flows steadily downward (like a waterfall) through distinct phases. Each phase must be completed and formally approved before the next phase begins.\n\nThis implementation provides a complete Waterfall SDLC process for the Babysitter SDK orchestration framework, with:\n- Six sequential phases with formal phase gates\n- Comprehensive documentation at each stage\n- Optional V-Model integration for testing traceability\n- Support for regulatory compliance requirements\n- Formal approvals and sign-offs throughout\n\n### Key Characteristics\n\n- **Sequential Phases**: No phase overlap - one phase completes before next begins\n- **Document-Driven**: Heavy documentation requirements at each phase\n- **Phase Gates**: Formal approval required before proceeding to next phase\n- **Requirements Fixed Early**: All requirements defined and frozen upfront\n- **No Backtracking**: Expensive to return to previous phases\n- **Well-Suited For**: Stable requirements, regulatory environments, clear specifications, fixed-price contracts\n\n### Six Sequential Phases\n\n1. **Requirements Gathering** - Comprehensive requirements analysis and documentation (SRS)\n2. **System Design** - Architecture and detailed design specifications (SDD)\n3. **Implementation** - Sequential module-by-module coding with reviews\n4. **Testing** - Integration, system, performance, security, and UAT\n5. **Deployment** - Production release with verification and rollback planning\n6. **Maintenance** - Support procedures, updates, and end-of-life planning\n\n## Usage\n\n### Basic Usage\n\n```bash\n# Using Babysitter SDK CLI\nbabysitter run:create \\\n --process-id methodologies/waterfall \\\n --entry library/methodologies/waterfall/waterfall.js#process \\\n --inputs inputs.json \\\n --run-id my-waterfall-project\n\n# Orchestrate the run\nbabysitter run:iterate .a5c/runs/my-waterfall-project\n```\n\n### Input Schema\n\n**Required Fields**:\n- `projectName` (string): Name of the project/system\n- `projectDescription` (string): High-level description of what needs to be built\n\n**Optional Fields**:\n- `stakeholders` (array): List of project stakeholders with roles\n- `requirementsSource` (string): Source of requirements (default: \"stakeholder-interviews\")\n- `testingStrategy` (string): Testing approach (default: \"comprehensive\")\n- `deploymentTarget` (string): Target deployment environment (default: \"production\")\n- `includeVModel` (boolean): Use V-Model for testing traceability (default: true)\n- `regulatoryCompliance` (string): Compliance requirements (e.g., \"FDA\", \"ISO-9001\", \"HIPAA\")\n\n### Input Example\n\n```json\n{\n \"projectName\": \"Enterprise Customer Management System\",\n \"projectDescription\": \"Comprehensive system for managing customer relationships, orders, and support tickets with reporting capabilities\",\n \"stakeholders\": [\n { \"name\": \"John Smith\", \"role\": \"Product Owner\", \"department\": \"Business\" },\n { \"name\": \"Jane Doe\", \"role\": \"Technical Lead\", \"department\": \"Engineering\" },\n { \"name\": \"Mike Johnson\", \"role\": \"QA Manager\", \"department\": \"Quality\" }\n ],\n \"requirementsSource\": \"stakeholder-interviews\",\n \"testingStrategy\": \"comprehensive\",\n \"deploymentTarget\": \"production\",\n \"includeVModel\": true,\n \"regulatoryCompliance\": \"ISO-9001\"\n}\n```\n\n### Output Schema\n\nThe process returns:\n\n```json\n{\n \"success\": true,\n \"projectName\": \"string\",\n \"phase1Requirements\": { /* Full requirements data */ },\n \"phase2Design\": { /* Complete design artifacts */ },\n \"phase3Implementation\": { /* Implementation details */ },\n \"phase4Testing\": { /* All test results */ },\n \"phase5Deployment\": { /* Deployment status */ },\n \"phase6Maintenance\": { /* Maintenance plan */ },\n \"projectMetrics\": { /* Comprehensive metrics */ },\n \"summary\": {\n \"phasesCompleted\": 6,\n \"totalRequirements\": 150,\n \"componentsDesigned\": 25,\n \"modulesImplemented\": 80,\n \"linesOfCode\": 45000,\n \"totalTestsExecuted\": 1500,\n \"testPassRate\": \"98.5%\",\n \"deploymentStatus\": \"deployed\",\n \"productionReady\": true,\n \"maintenancePlanActive\": true\n },\n \"artifacts\": { /* All artifact paths */ }\n}\n```\n\n## Phase Details\n\n### Phase 1: Requirements Gathering and Analysis\n\n**Deliverables**:\n- Software Requirements Specification (SRS)\n- Functional requirements list\n- Non-functional requirements list\n- Use case diagrams and descriptions\n- Requirements traceability matrix\n- Stakeholder sign-offs\n\n**Phase Gate**: Requirements Review and Approval\n- All stakeholders review and approve SRS\n- Requirements are complete, unambiguous, and verifiable\n- Scope boundaries are clearly defined\n\n### Phase 2: System and Software Design\n\n**Deliverables**:\n- Software Design Document (SDD)\n- High-level architecture diagram\n- Component design specifications\n- Database schema with ER diagrams\n- Interface specifications (APIs, UI)\n- Security architecture\n- Technology stack definition\n\n**Phase Gate**: Design Review and Approval\n- Technical leads review and approve design\n- Design fully addresses all requirements\n- Feasibility confirmed\n\n### Phase 3: Implementation (Coding)\n\n**Deliverables**:\n- Implemented code for all modules\n- Unit tests for each module\n- Code review reports\n- Implementation documentation\n- Code metrics report\n\n**Phase Gate**: Code Review and Unit Test Approval\n- All code reviewed and approved\n- Unit tests passing with adequate coverage\n- Code meets coding standards\n\n### Phase 4: Testing Phase\n\n**Deliverables**:\n- Master test plan\n- Integration test report\n- System test report\n- Performance test report\n- Security test report\n- UAT report with sign-offs\n- Defect logs\n\n**Phase Gate**: Testing Sign-off\n- All critical defects resolved\n- Test pass rates meet targets\n- UAT approved by stakeholders\n- System ready for production\n\n### Phase 5: Deployment\n\n**Deliverables**:\n- Deployment plan\n- Deployment execution report\n- Post-deployment verification results\n- Rollback plan\n- Release notes\n- Production environment documentation\n\n**Phase Gate**: Production Release Approval\n- Deployment successful\n- Verification tests passing\n- System operational in production\n- Rollback tested and ready\n\n### Phase 6: Maintenance Planning\n\n**Deliverables**:\n- Maintenance plan\n- Support procedures with SLA\n- Bug tracking process\n- Update/patch management procedures\n- Training materials\n- Backup and recovery procedures\n- End-of-life plan\n\n**Phase Gate**: Maintenance Plan Approval & Project Closure\n- Support procedures in place\n- Training completed\n- Handoff to maintenance team complete\n\n## V-Model Integration\n\nWhen `includeVModel: true`, the process implements V-Model testing traceability:\n\n```\nRequirements ←→ User Acceptance Testing (UAT)\nDesign ←→ System Testing\nArchitecture ←→ Integration Testing\nModules ←→ Unit Testing\n```\n\nEach test level validates its corresponding development level, ensuring complete traceability from requirements to tests.\n\n## Best Practices\n\n### When to Use Waterfall\n\n**Good Fit**:\n- Requirements are clear, documented, and stable\n- Technology is well-understood and mature\n- Project has fixed scope and budget\n- Regulatory compliance requires extensive documentation\n- Large, complex systems with many dependencies\n- Long-term projects (6+ months)\n\n**Poor Fit**:\n- Requirements are unclear or likely to change\n- Rapid prototyping or MVP needed\n- Innovative or experimental projects\n- Small projects with tight timelines\n- User feedback needed during development\n\n### Success Factors\n\n1. **Complete Requirements**: Invest heavily in Phase 1 to get requirements right\n2. **Stakeholder Engagement**: Maintain stakeholder involvement throughout, especially at phase gates\n3. **Documentation**: Keep all documentation up-to-date and accessible\n4. **Phase Gate Discipline**: Don't skip or rush phase gate approvals\n5. **Risk Management**: Identify and mitigate risks early, especially in design\n6. **Quality Focus**: Address quality issues in each phase, don't defer to later\n7. **Communication**: Maintain clear communication channels across all teams\n\n### Common Pitfalls\n\n- **Insufficient Requirements**: Rushing Phase 1 leads to costly changes later\n- **Phase Overlap**: Allowing phases to overlap defeats the waterfall structure\n- **Late Testing**: Waiting until Phase 4 to find defects is expensive\n- **Scope Creep**: Changes after Phase 1 approval are extremely costly\n- **Lack of Stakeholder Buy-in**: Missing sign-offs causes issues later\n- **Over-documentation**: Balance documentation with actual value\n\n## Integration with Other Methodologies\n\nThe Waterfall process can be composed with other methodologies:\n\n### Waterfall + Domain-Driven Design (DDD)\n\nUse DDD practices during the design phase for complex domain modeling:\n\n```javascript\n// Phase 2 can delegate to DDD process\nconst designResult = await ctx.task(dddDesignTask, {\n requirements: requirementsResult,\n bounded contexts: true\n});\n```\n\n### Waterfall + V-Model\n\nEnable comprehensive test planning aligned with development phases:\n\n```json\n{\n \"includeVModel\": true\n}\n```\n\n### Waterfall within Agile Portfolio\n\nUse Waterfall for specific regulatory or infrastructure projects within an otherwise agile portfolio.\n\n## Artifacts Generated\n\nAll artifacts are organized under `artifacts/waterfall/`:\n\n```\nartifacts/waterfall/\n├── phase-1-requirements/\n│ ├── srs.md # Software Requirements Specification\n│ ├── requirements.json # Structured requirements data\n│ ├── use-cases.md # Use case documentation\n│ ├── traceability-matrix.md # Requirements traceability\n│ └── stakeholder-signoffs.md # Sign-off documentation\n├── phase-2-design/\n│ ├── sdd.md # Software Design Document\n│ ├── architecture-diagram.md # Architecture visualization\n│ ├── database-schema.md # Database design\n│ ├── component-diagram.md # Component breakdown\n│ ├── interface-specifications.json\n│ └── data-flow-diagrams.md\n├── phase-3-implementation/\n│ ├── implementation-report.md\n│ ├── modules.json\n│ ├── code-review-summary.md\n│ ├── unit-test-report.md\n│ └── code-metrics.json\n├── phase-4-testing/\n│ ├── test-plan.md\n│ ├── integration-test-report.md\n│ ├── system-test-report.md\n│ ├── performance-test-report.md\n│ ├── security-test-report.md\n│ ├── uat-report.md\n│ ├── defect-log.json\n│ └── requirements-coverage.md\n├── phase-5-deployment/\n│ ├── deployment-plan.md\n│ ├── deployment-report.md\n│ ├── verification-results.md\n│ ├── rollback-plan.md\n│ ├── release-notes.md\n│ └── environment-configuration.json\n├── phase-6-maintenance/\n│ ├── maintenance-plan.md\n│ ├── support-procedures.md\n│ ├── sla.md\n│ ├── bug-tracking-workflow.md\n│ ├── training-materials.md\n│ ├── backup-recovery-procedures.md\n│ └── eol-plan.md\n├── project-summary.md\n├── project-metrics.json\n├── lessons-learned.md\n└── final-documentation-index.md\n```\n\n## Examples\n\nSee the `examples/` directory for complete input samples:\n- `enterprise-system.json` - Large enterprise application\n- `medical-device-software.json` - FDA-regulated medical software\n- `financial-system.json` - Banking system with compliance\n- `government-project.json` - Government contract project\n- `infrastructure-upgrade.json` - Infrastructure modernization\n- `data-migration-project.json` - Legacy system migration\n\n## Regulatory Compliance\n\nThe Waterfall methodology is particularly well-suited for regulated industries:\n\n### FDA (Medical Devices)\n- Complete requirements traceability\n- Design verification and validation\n- Comprehensive test documentation\n- Change control procedures\n\n### ISO 9001\n- Quality management system requirements\n- Document control\n- Management review\n- Continuous improvement\n\n### HIPAA (Healthcare)\n- Security requirements in design\n- Access control implementation\n- Audit trail requirements\n- Privacy by design\n\nSet `regulatoryCompliance` to enable compliance-specific documentation.\n\n## Comparison with Agile\n\n| Aspect | Waterfall | Agile |\n|--------|-----------|-------|\n| **Requirements** | All defined upfront | Evolve over time |\n| **Flexibility** | Low - changes expensive | High - change expected |\n| **Documentation** | Extensive | Lightweight |\n| **Feedback** | End of project | Every iteration |\n| **Risk** | High upfront | Distributed |\n| **Best For** | Stable requirements | Evolving requirements |\n| **Timeline** | Months to years | Weeks to months |\n\n## References\n\n### Original Paper\n- Winston W. Royce (1970). \"Managing the Development of Large Software Systems\"\n\n### Standards\n- IEEE 12207: Software Life Cycle Processes\n- IEEE 1016: Software Design Descriptions\n- IEEE 829: Software Test Documentation\n- ISO/IEC 12207: Systems and software engineering\n\n### Books\n- \"Software Engineering: A Practitioner's Approach\" by Roger Pressman\n- \"Software Engineering\" by Ian Sommerville\n- \"Managing the Software Process\" by Watts Humphrey\n\n### Online Resources\n- [Waterfall Model - Wikipedia](https://en.wikipedia.org/wiki/Waterfall_model)\n- [SDLC Waterfall Model - TutorialsPoint](https://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm)\n- [Waterfall Methodology - GeeksforGeeks](https://www.geeksforgeeks.org/software-engineering-waterfall-model/)\n\n## License\n\nPart of the Babysitter SDK orchestration framework.\n\n## Support\n\nFor issues or questions:\n- GitHub Issues: [babysitter repository]\n- Documentation: See SDK documentation\n- Examples: Check the `examples/` directory\n",
"documents": [
"specialization:waterfall"
]
},
"outgoingEdges": [
{
"from": "page:library-waterfall",
"to": "specialization:waterfall",
"kind": "documents"
}
],
"incomingEdges": [
{
"from": "page:index",
"to": "page:library-waterfall",
"kind": "contains_page"
}
]
}