← 返回
数据分析 中文

Decision Frameworks

Structured decision-making patterns for common engineering choices — library selection, architecture, build vs buy, prioritization, reversibility analysis, and ADRs. Use when choosing between tools, architectures, or approaches, or when documenting technical decisions.
针对常见工程选择(如库选型、架构设计、自建与采购权衡、优先级排序、可逆性分析及ADR)的结构化决策模式。适用于工具、架构或方案的抉择,以及技术决策文档的记录。
wpank
数据分析 clawhub v1.0.0 1 版本 99672.1 Key: 无需
★ 0
Stars
📥 2,432
下载
💾 34
安装
1
版本
#latest

概述

Decision Frameworks (Meta-Skill)

Structured approaches for making engineering decisions with confidence and traceability.

Installation

OpenClaw / Moltbot / Clawbot

npx clawhub@latest install decision-frameworks

When to Use

  • Choosing between libraries, frameworks, or tools
  • Facing a build-vs-buy decision
  • Selecting an architecture pattern (monolith vs microservices, SQL vs NoSQL, etc.)
  • Multiple valid options exist and the team needs alignment
  • Prioritizing a backlog or technical roadmap
  • Documenting a significant technical decision for future reference

Decision Matrix Template

Use a weighted scoring matrix when comparing 3+ options across measurable criteria.

CriteriaWeightOption AOption BOption C
------------------------------------------------------------
Performance54 (20)3 (15)5 (25)
Developer Experience45 (20)4 (16)3 (12)
Community Support35 (15)3 (9)2 (6)
Learning Curve33 (9)4 (12)2 (6)
Cost25 (10)3 (6)4 (8)
Total745857

How to use:

  1. List criteria relevant to the decision
  2. Assign weights (1-5) based on project priorities
  3. Score each option per criterion (1-5)
  4. Multiply score x weight, sum per option
  5. Highest total wins — but sanity-check the result against gut feel

Build vs Buy Framework

Follow this decision tree:

Is it a core differentiator for your product?
├── YES → Build it (own the competitive advantage)
└── NO
    ├── Does a mature, well-maintained solution exist?
    │   ├── YES → Buy / adopt it
    │   └── NO → Build, but keep it minimal
    └── Is the integration cost higher than building?
        ├── YES → Build
        └── NO → Buy / adopt

Factor comparison:

FactorBuildBuy / Adopt
---------------------------------------------------------------------------------------
Maintenance costOngoing — your team owns itVendor/community maintains it
CustomizationUnlimited flexibilityLimited to extension points
Time to marketSlower — development requiredFaster — ready-made
Team expertiseMust have or acquire skillsAbstracted away
Long-term costScales with internal capacityLicense/subscription fees
Vendor lock-in riskNoneMedium to high
Security controlFull audit capabilityDependent on vendor transparency

Library / Framework Selection

Evaluate candidate libraries against these criteria before adopting:

CriterionWhat to CheckRed Flag
------------------------------------------------------------------------------------------------------------------
Maintenance activityCommits in last 90 days, open issues trendNo commits in 6+ months
Community sizeGitHub stars, npm weekly downloads, Discord/forum< 1k weekly downloads for critical lib
Bundle sizeBundlephobia, tree-shaking support> 50 KB gzipped for a utility lib
TypeScript supportBuilt-in types vs DefinitelyTyped, type qualityNo types or outdated @types
Breaking change historyChangelog, semver adherence, migration guidesFrequent majors without guides
LicenseOSI-approved, compatible with your projectAGPL in a SaaS product, no license
Security auditSnyk/Socket score, CVE history, dependency depthKnown unpatched CVEs
Documentation qualityGetting started guide, API reference, examplesREADME-only, no examples

Quick heuristic: If you cannot replace the library within one sprint, treat the decision as a one-way door (see Reversibility Check below).


Architecture Decision Framework

Use these tradeoff tables when choosing between architectural approaches.

Monolith vs Microservices

FactorMonolithMicroservices
---------------------------------------------------------------------------------------------
ComplexityLow at start, grows over timeHigh from day one
DeploymentSingle artifactIndependent per service
Team scalingHarder beyond 10-15 engineersEnables autonomous teams
Data consistencyACID transactionsEventual consistency, sagas
DebuggingSingle process, easy tracingDistributed tracing required
Best whenEarly-stage, small team, MVPProven domain boundaries, scale needs

SQL vs NoSQL

FactorSQL (Relational)NoSQL (Document/Key-Value)
---------------------------------------------------------------------------------------------
SchemaStrict, enforcedFlexible, schema-on-read
RelationshipsNative joins, foreign keysDenormalized, application-level joins
ScalingVertical (read replicas help)Horizontal by design
ConsistencyStrong (ACID)Tunable (eventual to strong)
Query flexibilityAd-hoc queries, aggregationsLimited to access patterns
Best whenComplex relations, reportingHigh write volume, flexible schema

REST vs GraphQL

FactorRESTGraphQL
---------------------------------------------------------------------------------------------
SimplicitySimple, well-understoodSchema definition required
Over/under-fetchingCommon — multiple endpointsClients request exact fields
CachingHTTP caching built-inRequires custom caching layer
ToolingMature ecosystemGrowing — Apollo, Relay, urql
VersioningURL or header versioningSchema evolution, deprecation
Best whenCRUD APIs, public APIsComplex UIs, mobile + web clients

SSR vs CSR vs SSG

FactorSSRCSRSSG
--------------------------------------------------------------------------------------------------
Initial loadFast (HTML from server)Slow (JS bundle parse)Fastest (pre-built HTML)
SEOExcellentPoor without hydrationExcellent
Best whenPersonalized pagesDashboards, SPAsBlogs, docs, marketing

Monorepo vs Polyrepo

FactorMonorepoPolyrepo
---------------------------------------------------------------------------------------------
Code sharingTrivial — same repoRequires published packages
CI/CD complexityNeeds smart filtering (Turborepo)Simple per-repo pipelines
Best whenShared libs, aligned releasesIndependent teams, different stacks

Priority Matrices — RICE Scoring

Score and rank features/tasks:

RICE Score = (Reach x Impact x Confidence) / Effort
FactorScale
--------------------------------------------------------------------
ReachNumber of users/events affected per quarter
Impact3 = massive, 2 = high, 1 = medium, 0.5 = low, 0.25 = minimal
Confidence100% = high, 80% = medium, 50% = low
EffortPerson-weeks (or person-sprints)

MoSCoW Method

CategoryMeaningBudget Target
------------------------------------------------------------------------------
MustNon-negotiable for this release~60% of effort
ShouldImportant but not critical~20% of effort
CouldDesirable if time permits~15% of effort
Won'tExplicitly out of scope (this time)~5% (planning)

Reversibility Check

Classify every significant decision as a one-way or two-way door.

AspectOne-Way Door (Type 1)Two-Way Door (Type 2)
--------------------------------------------------------------------------------------------
DefinitionIrreversible or very costly to undoEasily reversed with low cost
ExamplesDatabase engine migration, public API contract, language rewriteUI framework for internal tool, feature flag experiment, library swap behind interface
How to identifyWould reverting require > 1 sprint of rework? Data migration? Customer communication?Can you revert with a config change, flag toggle, or single PR?
ApproachInvest in analysis, prototype, get stakeholder sign-offDecide fast, ship, measure, iterate
Time to decideDays to weeks — thorough evaluationHours — bias toward action

Rule of thumb: Wrap risky choices behind interfaces/abstractions. This converts many one-way doors into two-way doors by isolating the implementation from consumers.


ADR Template

Document significant decisions using a lightweight Architecture Decision Record.

# ADR-NNNN: [Short Title]

## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-XXXX]

## Context
What is the problem or situation that motivates this decision?
Include constraints, requirements, and forces at play.

## Decision
What is the change being proposed or adopted?
State the decision clearly and concisely.

## Consequences

### Positive
- [Benefit 1]
- [Benefit 2]

### Negative
- [Tradeoff 1]
- [Tradeoff 2]

### Risks
- [Risk and mitigation]

Store in docs/adr/ or decisions/. Number sequentially. Never delete — mark superseded. Review during onboarding and quarterly audits.


Anti-Patterns

Anti-PatternDescriptionCounter
-----------------------------------------------------------------------------------------------------------------------------
Analysis ParalysisEndless evaluation, no decision madeSet a decision deadline; use the matrix
HiPPOHighest Paid Person's Opinion overrides dataRequire data or a scored matrix for all options
Sunk Cost FallacyContinuing because of past investment, not future valueEvaluate options as if starting fresh today
Bandwagon EffectChoosing because "everyone uses it"Score against your actual criteria
Premature OptimizationOptimizing before measuring or validating needProfile first; optimize only proven bottlenecks
Resume-Driven DevelopmentPicking tech to pad a resume, not to solve the problemAlign choices with team skills and project goals
Not Invented HereRejecting external solutions out of prideRun the Build vs Buy framework honestly

NEVER Do

  1. NEVER skip writing down the decision — undocumented decisions get relitigated endlessly
  2. NEVER decide by committee without a single owner — assign a DRI (Directly Responsible Individual)
  3. NEVER treat all decisions as equal weight — classify by reversibility and impact first
  4. NEVER ignore second-order effects — ask "and then what?" at least twice
  5. NEVER lock in without an exit plan — define how you would migrate away before committing
  6. NEVER conflate familiarity with superiority — evaluate on criteria, not comfort
  7. NEVER defer a one-way door decision indefinitely — the cost of delay often exceeds the cost of a wrong choice

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-28 21:43 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 367 📥 139,997
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 198 📥 64,874
data-analysis

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 163 📥 59,690