Skip to content

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?

ChapterContentCore Concepts
Chapter 1Technology radarUnderstanding technology maturity
Chapter 2Selection dimensionsWhat angles to evaluate technology from
Chapter 3Decision matrixQuantitative comparison for decisions
Chapter 4Common pitfallsAvoiding 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:

Technology radar - click a technology for details
Adopt
Trial
Assess
Hold
TypeScript
React
Vue
Go
Rust
Svelte
Bun
Deno
jQuery
LanguageFrameworkToolPlatform

1. Selection Dimensions

1.1 Core Evaluation Dimensions

DimensionFocusSuggested Weight
Team CapabilityIs the team familiar with it? How steep is the learning curve?High
Community EcosystemDocumentation quality, third-party libraries, Stack Overflow answersHigh
Performance RequirementsDoes it meet performance needs?Medium-High
Maintenance StatusIs it actively maintained? When was the last release?Medium
LicenseIs it compatible with the project's business model?Medium
Hiring MarketCan 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 Plus

2. 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:

📊Decision MatrixQuantify tradeoffs for technology selection
Technologies to compare
React Vue Svelte
Evaluation dimensions and weights
Learning curve3
Ecosystem4
Performance3
Community activity3
Hiring difficulty2
Scores (1-5)
DimensionReactVueSvelte
Learning curve
Ecosystem
Performance
Community activity
Hiring difficulty
Weighted total ranking
🏆React
64.0
#2Vue
58.0
#3Svelte
49.0
💡How to use: Adjust weights to reflect project priorities, score each technology on each dimension, and the matrix calculates weighted totals automatically. Higher-weight dimensions affect the final result more.

2.1 How to Use a Decision Matrix

  1. List candidates: e.g., React vs Vue vs Svelte
  2. Define evaluation dimensions: team capability, ecosystem, performance, learning curve
  3. Assign weights: Based on project needs, assign a weight to each dimension (totaling 100%)
  4. Score each item: Rate each option on each dimension from 1-5
  5. Calculate weighted sum: Arrive at the final score

2.2 Example

DimensionWeightReactVueSvelte
Team Capability30%351
Community Ecosystem25%542
Learning Curve20%345
Performance15%445
Hiring Market10%542
Weighted Total3.754.352.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

MindsetReality
"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

  1. Technology Radar: Understand technology maturity, distinguish between Adopt/Trial/Assess/Hold
  2. Selection Dimensions: Team capability > Community ecosystem > Performance needs > Maintenance status
  3. Decision Matrix: Quantitative comparison to reduce subjective bias
  4. 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.