Technology Selection Methodology
Preface
React or Vue? MySQL or PostgreSQL? Technology selection is one of the most important decisions at the start of any project. Choose wrong, and you may spend months rewriting; choose right, and team productivity doubles.
This chapter helps you build a systematic approach to technology selection — no more choosing tech based on gut feeling.
What will you learn in this article?
| Chapter | Content | Core Concepts |
|---|---|---|
| Chapter 1 | Technology radar | Understanding technology maturity |
| Chapter 2 | Selection dimensions | What angles to evaluate technology from |
| Chapter 3 | Decision matrix | Quantitative comparison for decisions |
| Chapter 4 | Common pitfalls | Avoiding traps in technology selection |
After reading this chapter, you will master a systematic technology selection method and be able to make rational technology decisions for your projects.
0. The Big Picture: The Essence of Technology Selection
Technology selection is not about "which technology is best" — it's about "which technology is best suited for the current scenario." It's like choosing transportation: airplanes are fastest, but you don't need to fly to the neighborhood next door.
Core Principles of Selection
- No Silver Bullet: No single technology fits all scenarios
- Scenario-Driven: Define requirements first, then choose technology
- Team First: The technology the team is familiar with is often the best choice
- Reversibility: Prefer solutions that are easy to replace
Use the interactive component below to explore the landscape of the current technology ecosystem:
1. Selection Dimensions
1.1 Core Evaluation Dimensions
| Dimension | Focus | Suggested Weight |
|---|---|---|
| Team Capability | Is the team familiar with it? How steep is the learning curve? | High |
| Community Ecosystem | Documentation quality, third-party libraries, Stack Overflow answers | High |
| Performance Requirements | Does it meet performance needs? | Medium-High |
| Maintenance Status | Is it actively maintained? When was the last release? | Medium |
| License | Is it compatible with the project's business model? | Medium |
| Hiring Market | Can you hire people who know this technology? | Medium |
1.2 Real-World Example: Frontend Framework Selection
Project: Enterprise internal management system
Team: 5 people, 3 familiar with Vue, 1 familiar with React, 1 beginner
Requirements: Form-heavy, complex permissions, no SEO needed
Analysis:
- 60% of team familiar with Vue → Vue preferred
- Form-heavy → Element Plus ecosystem is mature
- No SSR needed → Next.js/Nuxt not necessary
- Conclusion: Vue 3 + Element Plus2. Decision Matrix
When multiple options are hard to judge by intuition alone, use a decision matrix for quantitative comparison.
Use the interactive component below to experience the decision matrix method:
Technologies to compare
Evaluation dimensions and weights
Scores (1-5)
| Dimension | React | Vue | Svelte |
|---|---|---|---|
| Learning curve | |||
| Ecosystem | |||
| Performance | |||
| Community activity | |||
| Hiring difficulty |
Weighted total ranking
2.1 How to Use a Decision Matrix
- List candidates: e.g., React vs Vue vs Svelte
- Define evaluation dimensions: team capability, ecosystem, performance, learning curve
- Assign weights: Based on project needs, assign a weight to each dimension (totaling 100%)
- Score each item: Rate each option on each dimension from 1-5
- Calculate weighted sum: Arrive at the final score
2.2 Example
| Dimension | Weight | React | Vue | Svelte |
|---|---|---|---|---|
| Team Capability | 30% | 3 | 5 | 1 |
| Community Ecosystem | 25% | 5 | 4 | 2 |
| Learning Curve | 20% | 3 | 4 | 5 |
| Performance | 15% | 4 | 4 | 5 |
| Hiring Market | 10% | 5 | 4 | 2 |
| Weighted Total | 3.75 | 4.35 | 2.75 |
3. Common Pitfalls
3.1 Resume-Driven Development
"Using this new tech means I can add another line to my resume"
Technology selection should be based on project requirements, not personal resumes. New technology means more unknown risks and less community support.
3.2 Blindly Chasing the New
| Mindset | Reality |
|---|---|
| "Newer must be better" | New tech may have undiscovered bugs |
| "Big tech companies use it, so should we" | Their use cases may be completely different from yours |
| "This tech has the most GitHub stars" | Star count doesn't mean it's right for your project |
3.3 Ignoring Migration Costs
When selecting technology, consider not only "how it works in use" but also "how much it costs to switch away." Prefer solutions that:
- Follow standard protocols (e.g., SQL vs proprietary query languages)
- Have clear migration paths
- Don't create deep lock-in
4. AI-Powered: Using LLMs to Assist Technology Selection
LLMs can help you quickly research technology options, compare pros and cons, and generate decision reports.
4.1 Technology Comparison
Prompt:
I need to choose a database for an e-commerce project. Candidates: MySQL, PostgreSQL, MongoDB. Project characteristics: read-heavy, write-light; needs complex queries; data volume expected to reach tens of millions. Please compare the three options across these dimensions: performance, ecosystem, learning curve, operational costs, scalability. Present in table format and give a final recommendation with reasoning.
4.2 Generating Architecture Decision Records (ADR)
Prompt:
Help me write an Architecture Decision Record (ADR) in this format: - Title: Choosing Vue 3 as the frontend framework - Background: [project background and requirements] - Candidates: React, Vue 3, Svelte - Decision: Vue 3 - Reasoning: [based on team capability, ecosystem, performance, etc.] - Consequences: [impact and risks of this choice]
4.3 Researching New Technologies
Prompt:
I'm considering introducing Bun to replace Node.js in my project. Please analyze: 1. Core advantages and disadvantages of Bun compared to Node.js 2. Current ecosystem maturity (npm compatibility, mainstream framework support) 3. Risk points for production use 4. Scenarios where Bun is and isn't appropriate Provide an objective assessment — don't only mention the positives.
AI Usage Advice
AI knowledge has a time limit — it may not be aware of changes in the latest versions. For rapidly iterating technologies, after using AI for initial research, always check official documentation to confirm the latest information.
5. Summary
- Technology Radar: Understand technology maturity, distinguish between Adopt/Trial/Assess/Hold
- Selection Dimensions: Team capability > Community ecosystem > Performance needs > Maintenance status
- Decision Matrix: Quantitative comparison to reduce subjective bias
- Avoid Pitfalls: Don't chase the new, don't follow trends blindly, consider migration costs
Final Thought
The best technology selection is often the most boring one. Choose mature, stable technologies that the team is familiar with, and save your innovative energy for the business itself. Remember: technology is a means, not an end. Users don't care what framework you used — they only care whether the product works well.
Further Reading
- ThoughtWorks Technology Radar: Published every six months, it's an authoritative reference for understanding technology trends.
- Practical Advice: Next time you make a technology selection, try using a decision matrix for quantitative comparison.
- Architecture Decision Records (ADR): Document the reasoning and trade-offs for every technology selection.
- Cautionary Tales: Learn from cases where poor technology choices led to project failure.