mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-23 05:26:36 +00:00
more detailed SDLC plan
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
# Tech Stack Selection
|
||||
|
||||
## Initial data:
|
||||
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||
- Security approach: `@_docs/00_problem/security_approach.md`
|
||||
- Solution draft: `@_docs/01_solution/solution.md`
|
||||
|
||||
## Role
|
||||
You are a software architect evaluating technology choices
|
||||
|
||||
## Task
|
||||
- Evaluate technology options against requirements
|
||||
- Consider team expertise and learning curve
|
||||
- Assess long-term maintainability
|
||||
- Document selection rationale
|
||||
|
||||
## Output
|
||||
|
||||
### Requirements Analysis
|
||||
|
||||
#### Functional Requirements
|
||||
| Requirement | Tech Implications |
|
||||
|-------------|-------------------|
|
||||
| [From acceptance criteria] | |
|
||||
|
||||
#### Non-Functional Requirements
|
||||
| Requirement | Tech Implications |
|
||||
|-------------|-------------------|
|
||||
| Performance | |
|
||||
| Scalability | |
|
||||
| Security | |
|
||||
| Maintainability | |
|
||||
|
||||
#### Constraints
|
||||
| Constraint | Impact on Tech Choice |
|
||||
|------------|----------------------|
|
||||
| [From restrictions] | |
|
||||
|
||||
### Technology Evaluation
|
||||
|
||||
#### Programming Language
|
||||
|
||||
| Option | Pros | Cons | Score (1-5) |
|
||||
|--------|------|------|-------------|
|
||||
| | | | |
|
||||
|
||||
**Selection**: [Language]
|
||||
**Rationale**: [Why this choice]
|
||||
|
||||
#### Framework
|
||||
|
||||
| Option | Pros | Cons | Score (1-5) |
|
||||
|--------|------|------|-------------|
|
||||
| | | | |
|
||||
|
||||
**Selection**: [Framework]
|
||||
**Rationale**: [Why this choice]
|
||||
|
||||
#### Database
|
||||
|
||||
| Option | Pros | Cons | Score (1-5) |
|
||||
|--------|------|------|-------------|
|
||||
| | | | |
|
||||
|
||||
**Selection**: [Database]
|
||||
**Rationale**: [Why this choice]
|
||||
|
||||
#### Infrastructure/Hosting
|
||||
|
||||
| Option | Pros | Cons | Score (1-5) |
|
||||
|--------|------|------|-------------|
|
||||
| | | | |
|
||||
|
||||
**Selection**: [Platform]
|
||||
**Rationale**: [Why this choice]
|
||||
|
||||
#### Key Libraries/Dependencies
|
||||
|
||||
| Category | Library | Version | Purpose | Alternatives Considered |
|
||||
|----------|---------|---------|---------|------------------------|
|
||||
| | | | | |
|
||||
|
||||
### Evaluation Criteria
|
||||
|
||||
Rate each technology option against these criteria:
|
||||
1. **Fitness for purpose**: Does it meet functional requirements?
|
||||
2. **Performance**: Can it meet performance requirements?
|
||||
3. **Security**: Does it have good security track record?
|
||||
4. **Maturity**: Is it stable and well-maintained?
|
||||
5. **Community**: Active community and documentation?
|
||||
6. **Team expertise**: Does team have experience?
|
||||
7. **Cost**: Licensing, hosting, operational costs?
|
||||
8. **Scalability**: Can it grow with the project?
|
||||
|
||||
### Technology Stack Summary
|
||||
|
||||
```
|
||||
Language: [Language] [Version]
|
||||
Framework: [Framework] [Version]
|
||||
Database: [Database] [Version]
|
||||
Cache: [Cache solution]
|
||||
Message Queue: [If applicable]
|
||||
CI/CD: [Platform]
|
||||
Hosting: [Platform]
|
||||
Monitoring: [Tools]
|
||||
```
|
||||
|
||||
### Risk Assessment
|
||||
|
||||
| Technology | Risk | Mitigation |
|
||||
|------------|------|------------|
|
||||
| | | |
|
||||
|
||||
### Learning Requirements
|
||||
|
||||
| Technology | Team Familiarity | Training Needed |
|
||||
|------------|-----------------|-----------------|
|
||||
| | High/Med/Low | Yes/No |
|
||||
|
||||
### Decision Record
|
||||
|
||||
**Decision**: [Summary of tech stack]
|
||||
**Date**: [YYYY-MM-DD]
|
||||
**Participants**: [Who was involved]
|
||||
**Status**: Approved / Pending Review
|
||||
|
||||
Store output to `_docs/01_solution/tech_stack.md`
|
||||
|
||||
## Notes
|
||||
- Avoid over-engineering - choose simplest solution that meets requirements
|
||||
- Consider total cost of ownership, not just initial development
|
||||
- Prefer proven technologies over cutting-edge unless required
|
||||
- Document trade-offs for future reference
|
||||
- Ask questions about team expertise and constraints
|
||||
|
||||
Reference in New Issue
Block a user