Files
gps-denied-onboard/.cursor/commands/1.research/1.35_tech_stack_selection.md
T
Oleksandr Bezdieniezhnykh fd75243a84 more detailed SDLC plan
2025-12-10 19:05:17 +02:00

3.4 KiB

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