mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-23 03:06:37 +00:00
more detailed SDLC plan
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Data Model Design
|
||||
|
||||
## Initial data:
|
||||
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||
- Components: `@_docs/02_components`
|
||||
|
||||
## Role
|
||||
You are a professional database architect
|
||||
|
||||
## Task
|
||||
- Analyze solution and components to identify all data entities
|
||||
- Design database schema that supports all component requirements
|
||||
- Define relationships, constraints, and indexes
|
||||
- Consider data access patterns for query optimization
|
||||
- Plan for data migration if applicable
|
||||
|
||||
## Output
|
||||
|
||||
### Entity Relationship Diagram
|
||||
- Create ERD showing all entities and relationships
|
||||
- Use Mermaid or draw.io format
|
||||
|
||||
### Schema Definition
|
||||
For each entity:
|
||||
- Table name
|
||||
- Columns with types, constraints, defaults
|
||||
- Primary keys
|
||||
- Foreign keys and relationships
|
||||
- Indexes (clustered, non-clustered)
|
||||
- Partitioning strategy (if needed)
|
||||
|
||||
### Data Access Patterns
|
||||
- List common queries per component
|
||||
- Identify hot paths requiring optimization
|
||||
- Recommend caching strategy
|
||||
|
||||
### Migration Strategy
|
||||
- Initial schema creation scripts
|
||||
- Seed data requirements
|
||||
- Rollback procedures
|
||||
|
||||
### Storage Estimates
|
||||
- Estimated row counts per table
|
||||
- Storage requirements
|
||||
- Growth projections
|
||||
|
||||
Store output to `_docs/02_components/data_model.md`
|
||||
|
||||
## Notes
|
||||
- Follow database normalization principles (3NF minimum)
|
||||
- Consider read vs write optimization based on access patterns
|
||||
- Plan for horizontal scaling if required
|
||||
- Ask questions to clarify data requirements
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# API Contracts Design
|
||||
|
||||
## Initial data:
|
||||
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||
- Components: `@_docs/02_components`
|
||||
- Data Model: `@_docs/02_components/data_model.md`
|
||||
|
||||
## Role
|
||||
You are a professional API architect
|
||||
|
||||
## Task
|
||||
- Define API contracts between all components
|
||||
- Specify external API endpoints (if applicable)
|
||||
- Define data transfer objects (DTOs)
|
||||
- Establish error response standards
|
||||
- Plan API versioning strategy
|
||||
|
||||
## Output
|
||||
|
||||
### Internal Component Interfaces
|
||||
For each component boundary:
|
||||
- Interface name
|
||||
- Methods with signatures
|
||||
- Input/Output DTOs
|
||||
- Error types
|
||||
- Async/Sync designation
|
||||
|
||||
### External API Specification
|
||||
Generate OpenAPI/Swagger spec including:
|
||||
- Endpoints with HTTP methods
|
||||
- Request/Response schemas
|
||||
- Authentication requirements
|
||||
- Rate limiting rules
|
||||
- Example requests/responses
|
||||
|
||||
### DTO Definitions
|
||||
For each data transfer object:
|
||||
- Name and purpose
|
||||
- Fields with types
|
||||
- Validation rules
|
||||
- Serialization format (JSON, Protobuf, etc.)
|
||||
|
||||
### Error Contract
|
||||
- Standard error response format
|
||||
- Error codes and messages
|
||||
- HTTP status code mapping
|
||||
|
||||
### Versioning Strategy
|
||||
- API versioning approach (URL, header, query param)
|
||||
- Deprecation policy
|
||||
- Breaking vs non-breaking change definitions
|
||||
|
||||
Store output to `_docs/02_components/api_contracts.md`
|
||||
Store OpenAPI spec to `_docs/02_components/openapi.yaml` (if applicable)
|
||||
|
||||
## Notes
|
||||
- Follow RESTful conventions for external APIs
|
||||
- Keep internal interfaces minimal and focused
|
||||
- Design for backward compatibility
|
||||
- Ask questions to clarify integration requirements
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
# Risk Assessment
|
||||
|
||||
## Initial data:
|
||||
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||
- Components: `@_docs/02_components`
|
||||
- Estimation: `@_docs/02_components/estimation.md`
|
||||
|
||||
## Role
|
||||
You are a technical risk analyst
|
||||
|
||||
## Task
|
||||
- Identify technical and project risks
|
||||
- Assess probability and impact
|
||||
- Define mitigation strategies
|
||||
- Create risk monitoring plan
|
||||
|
||||
## Output
|
||||
|
||||
### Risk Register
|
||||
|
||||
| ID | Risk | Category | Probability | Impact | Score | Mitigation | Owner |
|
||||
|----|------|----------|-------------|--------|-------|------------|-------|
|
||||
| R1 | | Tech/Schedule/Resource/External | High/Med/Low | High/Med/Low | H/M/L | | |
|
||||
|
||||
### Risk Scoring Matrix
|
||||
|
||||
| | Low Impact | Medium Impact | High Impact |
|
||||
|--|------------|---------------|-------------|
|
||||
| High Probability | Medium | High | Critical |
|
||||
| Medium Probability | Low | Medium | High |
|
||||
| Low Probability | Low | Low | Medium |
|
||||
|
||||
### Risk Categories
|
||||
|
||||
#### Technical Risks
|
||||
- Technology choices may not meet requirements
|
||||
- Integration complexity underestimated
|
||||
- Performance targets unachievable
|
||||
- Security vulnerabilities
|
||||
|
||||
#### Schedule Risks
|
||||
- Scope creep
|
||||
- Dependencies delayed
|
||||
- Resource unavailability
|
||||
- Underestimated complexity
|
||||
|
||||
#### Resource Risks
|
||||
- Key person dependency
|
||||
- Skill gaps
|
||||
- Team availability
|
||||
|
||||
#### External Risks
|
||||
- Third-party API changes
|
||||
- Vendor reliability
|
||||
- Regulatory changes
|
||||
|
||||
### Top Risks (Ranked)
|
||||
|
||||
#### 1. [Highest Risk]
|
||||
- **Description**:
|
||||
- **Probability**: High/Medium/Low
|
||||
- **Impact**: High/Medium/Low
|
||||
- **Mitigation Strategy**:
|
||||
- **Contingency Plan**:
|
||||
- **Early Warning Signs**:
|
||||
- **Owner**:
|
||||
|
||||
#### 2. [Second Highest Risk]
|
||||
...
|
||||
|
||||
### Risk Mitigation Plan
|
||||
|
||||
| Risk ID | Mitigation Action | Timeline | Cost | Responsible |
|
||||
|---------|-------------------|----------|------|-------------|
|
||||
| R1 | | | | |
|
||||
|
||||
### Risk Monitoring
|
||||
|
||||
#### Review Schedule
|
||||
- Daily standup: Discuss blockers (potential risks materializing)
|
||||
- Weekly: Review risk register, update probabilities
|
||||
- Sprint end: Comprehensive risk review
|
||||
|
||||
#### Early Warning Indicators
|
||||
| Risk | Indicator | Threshold | Action |
|
||||
|------|-----------|-----------|--------|
|
||||
| | | | |
|
||||
|
||||
### Contingency Budget
|
||||
- Time buffer: 20% of estimated duration
|
||||
- Scope flexibility: [List features that can be descoped]
|
||||
- Resource backup: [Backup resources if available]
|
||||
|
||||
### Acceptance Criteria for Risks
|
||||
Define which risks are acceptable:
|
||||
- Low risks: Accepted, monitored
|
||||
- Medium risks: Mitigation required
|
||||
- High risks: Mitigation + contingency required
|
||||
- Critical risks: Must be resolved before proceeding
|
||||
|
||||
Store output to `_docs/02_components/risk_assessment.md`
|
||||
|
||||
## Notes
|
||||
- Update risk register throughout project
|
||||
- Escalate critical risks immediately
|
||||
- Consider both likelihood and impact
|
||||
- Ask questions to uncover hidden risks
|
||||
|
||||
Reference in New Issue
Block a user