@wipal/agent-team 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/common/general-rules.md +141 -0
- package/.claude/rules/lessons/lessons.md +91 -0
- package/.claude/rules/role-rules/dev-fe-rules.md +146 -0
- package/.claude/rules/role-rules/sa-rules.md +226 -0
- package/.claude/skills/SKILL-INDEX.md +299 -0
- package/.claude/skills/community/security-validator/SKILL.md +392 -0
- package/.claude/skills/core/agent-creation/SKILL.md +338 -0
- package/.claude/skills/core/code-review/SKILL.md +154 -0
- package/.claude/skills/core/git-automation/SKILL.md +93 -0
- package/.claude/skills/core/retrospect-work/SKILL.md +172 -0
- package/.claude/skills/domain/architecture/adr-writing/SKILL.md +254 -0
- package/.claude/skills/domain/architecture/adr-writing/references/adr-best-practices.md +257 -0
- package/.claude/skills/domain/architecture/adr-writing/references/adr-examples.md +246 -0
- package/.claude/skills/domain/architecture/adr-writing/references/adr-template.md +160 -0
- package/.claude/skills/domain/architecture/architecture-patterns/SKILL.md +316 -0
- package/.claude/skills/domain/architecture/architecture-patterns/references/event-driven.md +393 -0
- package/.claude/skills/domain/architecture/architecture-patterns/references/microservices.md +315 -0
- package/.claude/skills/domain/architecture/architecture-patterns/references/monolith.md +321 -0
- package/.claude/skills/domain/architecture/architecture-patterns/references/serverless.md +457 -0
- package/.claude/skills/domain/architecture/performance-engineering/SKILL.md +227 -0
- package/.claude/skills/domain/architecture/performance-engineering/references/benchmarking.md +336 -0
- package/.claude/skills/domain/architecture/performance-engineering/references/caching-strategies.md +284 -0
- package/.claude/skills/domain/architecture/performance-engineering/references/optimization.md +298 -0
- package/.claude/skills/domain/architecture/security-architecture/SKILL.md +206 -0
- package/.claude/skills/domain/architecture/security-architecture/references/auth-patterns.md +209 -0
- package/.claude/skills/domain/architecture/security-architecture/references/compliance.md +246 -0
- package/.claude/skills/domain/architecture/security-architecture/references/threat-modeling.md +219 -0
- package/.claude/skills/domain/architecture/system-design/SKILL.md +227 -0
- package/.claude/skills/domain/architecture/system-design/references/distributed-systems.md +231 -0
- package/.claude/skills/domain/architecture/system-design/references/resilience.md +344 -0
- package/.claude/skills/domain/architecture/system-design/references/scalability.md +303 -0
- package/.claude/skills/domain/architecture/tech-selection/SKILL.md +192 -0
- package/.claude/skills/domain/architecture/tech-selection/references/build-vs-buy.md +258 -0
- package/.claude/skills/domain/architecture/tech-selection/references/evaluation-framework.md +203 -0
- package/.claude/skills/domain/architecture/tech-selection/references/tech-radar.md +257 -0
- package/.claude/skills/domain/backend/api-design/SKILL.md +121 -0
- package/.claude/skills/domain/backend/database-design/SKILL.md +156 -0
- package/.claude/skills/domain/backend/performance-be/SKILL.md +210 -0
- package/.claude/skills/domain/backend/security/SKILL.md +138 -0
- package/.claude/skills/domain/backend/testing-be/SKILL.md +203 -0
- package/.claude/skills/domain/devops/ci-cd/SKILL.md +188 -0
- package/.claude/skills/domain/devops/containerization/SKILL.md +177 -0
- package/.claude/skills/domain/devops/deployment/SKILL.md +198 -0
- package/.claude/skills/domain/devops/infrastructure-as-code/SKILL.md +178 -0
- package/.claude/skills/domain/devops/monitoring/SKILL.md +163 -0
- package/.claude/skills/domain/frontend/accessibility/SKILL.md +179 -0
- package/.claude/skills/domain/frontend/frontend-design/SKILL.md +138 -0
- package/.claude/skills/domain/frontend/performance-fe/SKILL.md +195 -0
- package/.claude/skills/domain/frontend/state-management/SKILL.md +190 -0
- package/.claude/skills/domain/frontend/testing-fe/SKILL.md +193 -0
- package/.claude/skills/domain/product/requirements-gathering/SKILL.md +136 -0
- package/.claude/skills/domain/product/roadmap-planning/SKILL.md +169 -0
- package/.claude/skills/domain/product/sprint-planning/SKILL.md +151 -0
- package/.claude/skills/domain/product/stakeholder-communication/SKILL.md +162 -0
- package/.claude/skills/domain/product/user-stories/SKILL.md +141 -0
- package/.claude/skills/domain/quality/bug-reporting/SKILL.md +150 -0
- package/.claude/skills/domain/quality/regression-testing/SKILL.md +178 -0
- package/.claude/skills/domain/quality/test-automation/SKILL.md +185 -0
- package/.claude/skills/domain/quality/test-planning/SKILL.md +177 -0
- package/.claude/skills/leadership/code-review-advanced/SKILL.md +167 -0
- package/.claude/skills/leadership/mentoring/SKILL.md +151 -0
- package/.claude/skills/leadership/technical-debt/SKILL.md +166 -0
- package/.claude/skills/leadership/technical-decision/SKILL.md +160 -0
- package/.claude/skills/security-reports/.gitkeep +0 -0
- package/.claude/skills/skills-registry.yaml +441 -0
- package/README.md +232 -0
- package/bin/agent-team.js +107 -0
- package/package.json +51 -0
- package/src/commands/add.js +227 -0
- package/src/commands/init.js +136 -0
- package/src/commands/list.js +66 -0
- package/src/commands/remove.js +71 -0
- package/src/commands/switch.js +53 -0
- package/src/index.js +11 -0
- package/src/interactive/prompts.js +153 -0
- package/src/server/api/agents.js +150 -0
- package/src/server/api/roles.js +97 -0
- package/src/server/api/skills.js +79 -0
- package/src/server/index.js +78 -0
- package/src/ui/agents.html +174 -0
- package/src/ui/css/styles.css +470 -0
- package/src/ui/index.html +107 -0
- package/src/ui/roles.html +371 -0
- package/src/ui/skills.html +332 -0
- package/src/utils/file-utils.js +193 -0
- package/src/utils/skill-resolver.js +594 -0
- package/src/utils/skill-scanner.js +154 -0
- package/templates/CLAUDE.md.tmpl +42 -0
- package/templates/knowledge.md.tmpl +31 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
# Build vs Buy Analysis
|
|
2
|
+
|
|
3
|
+
## Framework Overview
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
┌─────────────────────────────────────────────────────┐
|
|
7
|
+
│ BUILD VS BUY │
|
|
8
|
+
├─────────────────────────────────────────────────────┤
|
|
9
|
+
│ │
|
|
10
|
+
│ BUILD when: BUY when: │
|
|
11
|
+
│ - Core competency - Commodity │
|
|
12
|
+
│ - Differentiation - Time-critical │
|
|
13
|
+
│ - Control needed - Team lacks expertise │
|
|
14
|
+
│ - Custom needs - Mature solutions exist │
|
|
15
|
+
│ │
|
|
16
|
+
└─────────────────────────────────────────────────────┘
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Decision Matrix
|
|
20
|
+
|
|
21
|
+
### Quick Assessment
|
|
22
|
+
|
|
23
|
+
| Question | Build (+) | Buy (-) |
|
|
24
|
+
|----------|-----------|---------|
|
|
25
|
+
| Is this our core business? | Yes | No |
|
|
26
|
+
| Does solution exist? | No | Yes |
|
|
27
|
+
| Time to market critical? | No | Yes |
|
|
28
|
+
| Team has expertise? | Yes | No |
|
|
29
|
+
| Long-term maintenance OK? | Yes | No |
|
|
30
|
+
| Customization needed? | Extensive | Minimal |
|
|
31
|
+
| Budget available? | For dev | For license |
|
|
32
|
+
| Integration complexity? | Custom | Standard |
|
|
33
|
+
|
|
34
|
+
**Score**: If mostly (+), consider BUILD. If mostly (-), consider BUY.
|
|
35
|
+
|
|
36
|
+
## Build Analysis
|
|
37
|
+
|
|
38
|
+
### When to Build
|
|
39
|
+
```
|
|
40
|
+
STRATEGIC REASONS:
|
|
41
|
+
✅ Competitive advantage
|
|
42
|
+
- Custom functionality
|
|
43
|
+
- Unique user experience
|
|
44
|
+
- Proprietary algorithms
|
|
45
|
+
|
|
46
|
+
✅ Full control needed
|
|
47
|
+
- Data privacy requirements
|
|
48
|
+
- Custom SLA requirements
|
|
49
|
+
- Specific compliance needs
|
|
50
|
+
|
|
51
|
+
✅ No suitable solution exists
|
|
52
|
+
- Novel problem domain
|
|
53
|
+
- Unique requirements
|
|
54
|
+
- Emerging technology
|
|
55
|
+
|
|
56
|
+
PRACTICAL REASONS:
|
|
57
|
+
✅ Existing expertise
|
|
58
|
+
✅ Long-term cost advantage
|
|
59
|
+
✅ Learning/development opportunity
|
|
60
|
+
✅ Integration simplification
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Build Costs
|
|
64
|
+
```
|
|
65
|
+
DIRECT COSTS:
|
|
66
|
+
- Development time: [hours] × [rate]
|
|
67
|
+
- Infrastructure: [monthly] × [months]
|
|
68
|
+
- Tools/licenses: [$]
|
|
69
|
+
- Third-party services: [$]
|
|
70
|
+
|
|
71
|
+
HIDDEN COSTS:
|
|
72
|
+
- Requirements gathering: [$]
|
|
73
|
+
- Design and architecture: [$]
|
|
74
|
+
- Testing and QA: [$]
|
|
75
|
+
- Documentation: [$]
|
|
76
|
+
- Training: [$]
|
|
77
|
+
- Ongoing maintenance: 15-25% of dev cost/year
|
|
78
|
+
- Bug fixes and patches: [$]
|
|
79
|
+
- Feature additions: [$]
|
|
80
|
+
|
|
81
|
+
TOTAL BUILD COST (Year 1) = Direct + Hidden
|
|
82
|
+
ONGOING COST (Year 2+) = Maintenance + Operations
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Build Risks
|
|
86
|
+
```
|
|
87
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
88
|
+
|------|------------|--------|------------|
|
|
89
|
+
| Scope creep | High | High | Fixed scope MVP |
|
|
90
|
+
| Schedule delay | High | Medium | Agile, buffer |
|
|
91
|
+
| Quality issues | Medium | High | Code review, testing |
|
|
92
|
+
| Team turnover | Medium | High | Documentation |
|
|
93
|
+
| Tech debt | High | Medium | Refactoring time |
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Buy Analysis
|
|
97
|
+
|
|
98
|
+
### When to Buy
|
|
99
|
+
```
|
|
100
|
+
STRATEGIC REASONS:
|
|
101
|
+
✅ Commodity functionality
|
|
102
|
+
- Authentication (Auth0, Cognito)
|
|
103
|
+
- Payments (Stripe, PayPal)
|
|
104
|
+
- Email (SendGrid, Mailgun)
|
|
105
|
+
- Analytics (Mixpanel, Amplitude)
|
|
106
|
+
|
|
107
|
+
✅ Time to market critical
|
|
108
|
+
- Startup phase
|
|
109
|
+
- Competitive pressure
|
|
110
|
+
- Market window
|
|
111
|
+
|
|
112
|
+
✅ Complex domain
|
|
113
|
+
- Regulatory compliance
|
|
114
|
+
- Security requirements
|
|
115
|
+
- Specialized expertise needed
|
|
116
|
+
|
|
117
|
+
PRACTICAL REASONS:
|
|
118
|
+
✅ Team focus on core
|
|
119
|
+
✅ Vendor expertise
|
|
120
|
+
✅ Reduced maintenance
|
|
121
|
+
✅ Faster deployment
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Buy Costs
|
|
125
|
+
```
|
|
126
|
+
DIRECT COSTS:
|
|
127
|
+
- License/subscription: [monthly/yearly]
|
|
128
|
+
- Implementation: [$]
|
|
129
|
+
- Integration: [$]
|
|
130
|
+
- Training: [$]
|
|
131
|
+
- Support tier: [$]
|
|
132
|
+
|
|
133
|
+
HIDDEN COSTS:
|
|
134
|
+
- Customization limits: [$]
|
|
135
|
+
- Workarounds needed: [$]
|
|
136
|
+
- Vendor dependency: [risk cost]
|
|
137
|
+
- Migration (future): [$]
|
|
138
|
+
- Data export: [$]
|
|
139
|
+
|
|
140
|
+
TOTAL BUY COST (Year 1) = Direct + Hidden
|
|
141
|
+
ONGOING COST (Year 2+) = Subscription + Support
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Buy Risks
|
|
145
|
+
```
|
|
146
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
147
|
+
|------|------------|--------|------------|
|
|
148
|
+
| Vendor lock-in | High | High | Exit strategy |
|
|
149
|
+
| Price increases | Medium | Medium | Contract terms |
|
|
150
|
+
| Feature gaps | Medium | Medium | Roadmap alignment |
|
|
151
|
+
| Service outage | Low | High | SLA, backup plan |
|
|
152
|
+
| Company failure | Low | High | Vendor assessment |
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Comparison Framework
|
|
156
|
+
|
|
157
|
+
### 3-Year TCO Comparison
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
BUILD:
|
|
161
|
+
Year 1 Year 2 Year 3
|
|
162
|
+
Development $300k - -
|
|
163
|
+
Infrastructure $20k $25k $30k
|
|
164
|
+
Maintenance - $60k $75k
|
|
165
|
+
Operations $10k $15k $20k
|
|
166
|
+
Team (2 FTE) $200k $210k $220k
|
|
167
|
+
─────────────────────────────────────────────────
|
|
168
|
+
TOTAL $530k $310k $345k
|
|
169
|
+
3-Year Total: $1,185k
|
|
170
|
+
|
|
171
|
+
BUY:
|
|
172
|
+
Year 1 Year 2 Year 3
|
|
173
|
+
License/Subscription $150k $160k $170k
|
|
174
|
+
Implementation $50k - -
|
|
175
|
+
Integration $30k - -
|
|
176
|
+
Operations $5k $10k $15k
|
|
177
|
+
─────────────────────────────────────────────────
|
|
178
|
+
TOTAL $235k $170k $185k
|
|
179
|
+
3-Year Total: $590k
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Hybrid Approaches
|
|
183
|
+
|
|
184
|
+
### Option 1: Buy Core, Build Extensions
|
|
185
|
+
```
|
|
186
|
+
Base: Commercial platform (Buy)
|
|
187
|
+
Extensions: Custom features (Build)
|
|
188
|
+
|
|
189
|
+
Example:
|
|
190
|
+
- Buy: Shopify for e-commerce core
|
|
191
|
+
- Build: Custom checkout flow, integrations
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Option 2: Build Core, Buy Components
|
|
195
|
+
```
|
|
196
|
+
Core: Custom application (Build)
|
|
197
|
+
Components: Specialized services (Buy)
|
|
198
|
+
|
|
199
|
+
Example:
|
|
200
|
+
- Build: Main application logic
|
|
201
|
+
- Buy: Auth (Auth0), Search (Algolia), Email (SendGrid)
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Option 3: Open Source + Customization
|
|
205
|
+
```
|
|
206
|
+
Base: Open source project (Free)
|
|
207
|
+
Customization: Internal development
|
|
208
|
+
|
|
209
|
+
Example:
|
|
210
|
+
- Base: WordPress/WooCommerce
|
|
211
|
+
- Custom: Theme, plugins, integrations
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Decision Checklist
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
Before deciding to BUILD:
|
|
218
|
+
□ This is core to our business
|
|
219
|
+
□ No suitable solution exists
|
|
220
|
+
□ We have/will hire the expertise
|
|
221
|
+
□ We can afford the timeline
|
|
222
|
+
□ We're committed to long-term maintenance
|
|
223
|
+
|
|
224
|
+
Before deciding to BUY:
|
|
225
|
+
□ This is not a competitive advantage
|
|
226
|
+
□ Mature solutions exist
|
|
227
|
+
□ Time to market is critical
|
|
228
|
+
□ TCO analysis favors buying
|
|
229
|
+
□ We have an exit strategy
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Real-World Examples
|
|
233
|
+
|
|
234
|
+
### Build Examples
|
|
235
|
+
```
|
|
236
|
+
Netflix recommendation engine
|
|
237
|
+
- Core competitive advantage
|
|
238
|
+
- Massive scale requirements
|
|
239
|
+
- Proprietary algorithms
|
|
240
|
+
|
|
241
|
+
Uber pricing engine
|
|
242
|
+
- Real-time optimization
|
|
243
|
+
- Complex business logic
|
|
244
|
+
- Unique requirements
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Buy Examples
|
|
248
|
+
```
|
|
249
|
+
Stripe for payments
|
|
250
|
+
- Complex regulatory compliance
|
|
251
|
+
- Not core to most businesses
|
|
252
|
+
- Excellent developer experience
|
|
253
|
+
|
|
254
|
+
Auth0 for authentication
|
|
255
|
+
- Security-critical
|
|
256
|
+
- Complex to build correctly
|
|
257
|
+
- Commodity functionality
|
|
258
|
+
```
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Technology Evaluation Framework
|
|
2
|
+
|
|
3
|
+
## Comprehensive Evaluation Template
|
|
4
|
+
|
|
5
|
+
### 1. Requirements Gathering
|
|
6
|
+
|
|
7
|
+
#### Business Requirements
|
|
8
|
+
- [ ] Budget constraints defined
|
|
9
|
+
- [ ] Timeline requirements documented
|
|
10
|
+
- [ ] Business impact understood
|
|
11
|
+
- [ ] Stakeholder input collected
|
|
12
|
+
|
|
13
|
+
#### Technical Requirements
|
|
14
|
+
- [ ] Performance requirements quantified
|
|
15
|
+
- [ ] Scalability requirements defined
|
|
16
|
+
- [ ] Security requirements listed
|
|
17
|
+
- [ ] Integration requirements mapped
|
|
18
|
+
|
|
19
|
+
#### Team Requirements
|
|
20
|
+
- [ ] Current expertise assessed
|
|
21
|
+
- [ ] Learning capacity evaluated
|
|
22
|
+
- [ ] Hiring market analyzed
|
|
23
|
+
|
|
24
|
+
### 2. Option Identification
|
|
25
|
+
|
|
26
|
+
#### Sources
|
|
27
|
+
```
|
|
28
|
+
- Industry reports (Gartner, Forrester)
|
|
29
|
+
- Tech radar (ThoughtWorks, your company)
|
|
30
|
+
- Community recommendations
|
|
31
|
+
- Case studies from similar companies
|
|
32
|
+
- Consultant advice
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Long List Creation
|
|
36
|
+
```
|
|
37
|
+
Step 1: Cast wide net (5-10 options)
|
|
38
|
+
Step 2: Quick filter (must-have requirements)
|
|
39
|
+
Step 3: Short list (2-3 options)
|
|
40
|
+
Step 4: Deep evaluation
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 3. Evaluation Criteria
|
|
44
|
+
|
|
45
|
+
#### Must-Have Criteria (Pass/Fail)
|
|
46
|
+
```
|
|
47
|
+
Examples:
|
|
48
|
+
- Must support >100k concurrent users
|
|
49
|
+
- Must be GDPR compliant
|
|
50
|
+
- Must run on AWS
|
|
51
|
+
- Must have <10ms p99 latency
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Weighted Scoring Criteria
|
|
55
|
+
```
|
|
56
|
+
Category: Performance (25%)
|
|
57
|
+
├── Throughput: 10%
|
|
58
|
+
├── Latency: 10%
|
|
59
|
+
└── Resource efficiency: 5%
|
|
60
|
+
|
|
61
|
+
Category: Scalability (20%)
|
|
62
|
+
├── Horizontal scaling: 10%
|
|
63
|
+
└── Vertical scaling: 10%
|
|
64
|
+
|
|
65
|
+
Category: Developer Experience (15%)
|
|
66
|
+
├── Ease of use: 10%
|
|
67
|
+
└── Documentation: 5%
|
|
68
|
+
|
|
69
|
+
Category: Operations (15%)
|
|
70
|
+
├── Monitoring: 8%
|
|
71
|
+
└── Debugging: 7%
|
|
72
|
+
|
|
73
|
+
Category: Cost (15%)
|
|
74
|
+
├── Licensing: 8%
|
|
75
|
+
└── Infrastructure: 7%
|
|
76
|
+
|
|
77
|
+
Category: Risk (10%)
|
|
78
|
+
├── Maturity: 5%
|
|
79
|
+
└── Community: 5%
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 4. Scoring Guide
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
5/5 - Excellent
|
|
86
|
+
- Exceeds requirements significantly
|
|
87
|
+
- Best-in-class
|
|
88
|
+
- No concerns
|
|
89
|
+
|
|
90
|
+
4/5 - Good
|
|
91
|
+
- Meets requirements well
|
|
92
|
+
- Minor concerns
|
|
93
|
+
|
|
94
|
+
3/5 - Adequate
|
|
95
|
+
- Meets minimum requirements
|
|
96
|
+
- Some concerns
|
|
97
|
+
|
|
98
|
+
2/5 - Poor
|
|
99
|
+
- Partially meets requirements
|
|
100
|
+
- Significant concerns
|
|
101
|
+
|
|
102
|
+
1/5 - Inadequate
|
|
103
|
+
- Does not meet requirements
|
|
104
|
+
- Disqualifying concerns
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 5. Risk Assessment
|
|
108
|
+
|
|
109
|
+
#### Technical Risks
|
|
110
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
111
|
+
|------|------------|--------|------------|
|
|
112
|
+
| Performance degradation | M | H | Load testing |
|
|
113
|
+
| Security vulnerability | L | H | Security audit |
|
|
114
|
+
| Scalability limits | M | M | Architecture review |
|
|
115
|
+
|
|
116
|
+
#### Organizational Risks
|
|
117
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
118
|
+
|------|------------|--------|------------|
|
|
119
|
+
| Team resistance | H | M | Training, involvement |
|
|
120
|
+
| Skill gap | M | H | Training plan |
|
|
121
|
+
| Vendor lock-in | M | M | Exit strategy |
|
|
122
|
+
|
|
123
|
+
### 6. Total Cost of Ownership
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
Direct Costs:
|
|
127
|
+
├── Licensing/Subscription: $/year
|
|
128
|
+
├── Infrastructure: $/year
|
|
129
|
+
├── Support contracts: $/year
|
|
130
|
+
└── Training: $ (one-time)
|
|
131
|
+
|
|
132
|
+
Indirect Costs:
|
|
133
|
+
├── Development time: $ (setup, learning)
|
|
134
|
+
├── Maintenance: $/year
|
|
135
|
+
├── Migration: $ (one-time)
|
|
136
|
+
└── Opportunity cost: $
|
|
137
|
+
|
|
138
|
+
3-Year TCO = Direct + Indirect
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 7. POC Checklist
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
POC Goals:
|
|
145
|
+
- [ ] Primary use case validated
|
|
146
|
+
- [ ] Performance requirements met
|
|
147
|
+
- [ ] Integration points tested
|
|
148
|
+
- [ ] Team feedback collected
|
|
149
|
+
- [ ] Operational concerns addressed
|
|
150
|
+
|
|
151
|
+
POC Scope:
|
|
152
|
+
- [ ] Time-boxed (2-4 weeks)
|
|
153
|
+
- [ ] Limited to key requirements
|
|
154
|
+
- [ ] Representative workload
|
|
155
|
+
- [ ] Real data (or realistic test data)
|
|
156
|
+
|
|
157
|
+
POC Success Criteria:
|
|
158
|
+
- [ ] Must pass: [criteria]
|
|
159
|
+
- [ ] Should pass: [criteria]
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 8. Decision Matrix Example
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
Project: E-commerce Platform Database
|
|
166
|
+
Date: 2024-01-15
|
|
167
|
+
Decision Makers: Team A
|
|
168
|
+
|
|
169
|
+
| Criteria | Weight | PostgreSQL | MongoDB | DynamoDB |
|
|
170
|
+
|----------|--------|------------|---------|----------|
|
|
171
|
+
| ACID Compliance | 20% | 5 (1.0) | 2 (0.4) | 3 (0.6) |
|
|
172
|
+
| JSON Support | 15% | 4 (0.6) | 5 (0.75) | 4 (0.6) |
|
|
173
|
+
| Scalability | 15% | 3 (0.45) | 4 (0.6) | 5 (0.75) |
|
|
174
|
+
| Query Flexibility | 15% | 5 (0.75) | 4 (0.6) | 3 (0.45) |
|
|
175
|
+
| Managed Service | 10% | 5 (0.5) | 4 (0.4) | 5 (0.5) |
|
|
176
|
+
| Cost | 15% | 4 (0.6) | 3 (0.45) | 3 (0.45) |
|
|
177
|
+
| Team Expertise | 10% | 4 (0.4) | 3 (0.3) | 2 (0.2) |
|
|
178
|
+
|----------|--------|------------|---------|----------|
|
|
179
|
+
| TOTAL | 100% | 4.30 | 3.50 | 3.55 |
|
|
180
|
+
|
|
181
|
+
Recommendation: PostgreSQL
|
|
182
|
+
Rationale: Best fit for ACID + JSON requirements, team expertise
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 9. Post-Decision Actions
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
Immediate:
|
|
189
|
+
- [ ] Announce decision to stakeholders
|
|
190
|
+
- [ ] Create ADR
|
|
191
|
+
- [ ] Plan implementation timeline
|
|
192
|
+
|
|
193
|
+
Short-term:
|
|
194
|
+
- [ ] Acquire licenses/access
|
|
195
|
+
- [ ] Set up development environment
|
|
196
|
+
- [ ] Begin team training
|
|
197
|
+
- [ ] Create migration plan (if applicable)
|
|
198
|
+
|
|
199
|
+
Long-term:
|
|
200
|
+
- [ ] Schedule regular reviews
|
|
201
|
+
- [ ] Monitor for new alternatives
|
|
202
|
+
- [ ] Track actual vs expected benefits
|
|
203
|
+
```
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# Technology Radar
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
A Technology Radar visualizes technology decisions across categories and adoption stages.
|
|
5
|
+
|
|
6
|
+
## Radar Structure
|
|
7
|
+
|
|
8
|
+
### Rings (Adoption Stages)
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────────────┐
|
|
11
|
+
│ ADOPT │
|
|
12
|
+
│ ┌───────────────────────────────────────┐ │
|
|
13
|
+
│ │ TRIAL │ │
|
|
14
|
+
│ │ ┌─────────────────────────────────┐ │ │
|
|
15
|
+
│ │ │ ASSESS │ │ │
|
|
16
|
+
│ │ │ ┌───────────────────────────┐ │ │ │
|
|
17
|
+
│ │ │ │ HOLD │ │ │ │
|
|
18
|
+
│ │ │ └───────────────────────────┘ │ │ │
|
|
19
|
+
│ │ └─────────────────────────────────┘ │ │
|
|
20
|
+
│ └───────────────────────────────────────┘ │
|
|
21
|
+
└─────────────────────────────────────────────┘
|
|
22
|
+
|
|
23
|
+
ADOPT: Proven, ready for production use
|
|
24
|
+
TRIAL: Worth pursuing, use in non-critical
|
|
25
|
+
ASSESS: Worth exploring, needs evaluation
|
|
26
|
+
HOLD: Proceed with caution, or avoid
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Quadrants (Categories)
|
|
30
|
+
```
|
|
31
|
+
┌──────────────────┬──────────────────┐
|
|
32
|
+
│ TECHNIQUES │ PLATFORMS │
|
|
33
|
+
│ - Practices │ - Cloud │
|
|
34
|
+
│ - Methods │ - Services │
|
|
35
|
+
│ - Patterns │ - Infrastructure│
|
|
36
|
+
├──────────────────┼──────────────────┤
|
|
37
|
+
│ TOOLS │ LANGUAGES │
|
|
38
|
+
│ - Libraries │ - Programming │
|
|
39
|
+
│ - Frameworks │ - Frameworks │
|
|
40
|
+
│ - Applications │ - Runtimes │
|
|
41
|
+
└──────────────────┴──────────────────┘
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Example Radar
|
|
45
|
+
|
|
46
|
+
### Techniques
|
|
47
|
+
```
|
|
48
|
+
ADOPT:
|
|
49
|
+
- Continuous Integration
|
|
50
|
+
- Trunk-based Development
|
|
51
|
+
- Infrastructure as Code
|
|
52
|
+
- Containerization
|
|
53
|
+
|
|
54
|
+
TRIAL:
|
|
55
|
+
- Feature Flags
|
|
56
|
+
- Contract Testing
|
|
57
|
+
- Chaos Engineering
|
|
58
|
+
- Event Storming
|
|
59
|
+
|
|
60
|
+
ASSESS:
|
|
61
|
+
- Platform Engineering
|
|
62
|
+
- FinOps
|
|
63
|
+
- Green Software Engineering
|
|
64
|
+
|
|
65
|
+
HOLD:
|
|
66
|
+
- Manual Deployments
|
|
67
|
+
- Waterfall Planning
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Platforms
|
|
71
|
+
```
|
|
72
|
+
ADOPT:
|
|
73
|
+
- AWS/Azure/GCP (multi-cloud strategy)
|
|
74
|
+
- Kubernetes
|
|
75
|
+
- Terraform
|
|
76
|
+
- PostgreSQL
|
|
77
|
+
|
|
78
|
+
TRIAL:
|
|
79
|
+
- Serverless Containers
|
|
80
|
+
- Managed Kafka
|
|
81
|
+
- GraphQL Services
|
|
82
|
+
|
|
83
|
+
ASSESS:
|
|
84
|
+
- Edge Computing
|
|
85
|
+
- WebAssembly Runtimes
|
|
86
|
+
|
|
87
|
+
HOLD:
|
|
88
|
+
- Data Centers (for most)
|
|
89
|
+
- VM-only Deployments
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Tools
|
|
93
|
+
```
|
|
94
|
+
ADOPT:
|
|
95
|
+
- Git
|
|
96
|
+
- Docker
|
|
97
|
+
- VS Code
|
|
98
|
+
- Prometheus/Grafana
|
|
99
|
+
|
|
100
|
+
TRIAL:
|
|
101
|
+
- Terraform Cloud
|
|
102
|
+
- Backstage
|
|
103
|
+
- ArgoCD
|
|
104
|
+
|
|
105
|
+
ASSESS:
|
|
106
|
+
- AI Coding Assistants
|
|
107
|
+
- New Relic One
|
|
108
|
+
|
|
109
|
+
HOLD:
|
|
110
|
+
- Jenkins (use modern alternatives)
|
|
111
|
+
- SVN
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Languages & Frameworks
|
|
115
|
+
```
|
|
116
|
+
ADOPT:
|
|
117
|
+
- TypeScript
|
|
118
|
+
- Python
|
|
119
|
+
- Go
|
|
120
|
+
- React
|
|
121
|
+
- Node.js
|
|
122
|
+
|
|
123
|
+
TRIAL:
|
|
124
|
+
- Rust (for performance-critical)
|
|
125
|
+
- Deno
|
|
126
|
+
- Svelte
|
|
127
|
+
|
|
128
|
+
ASSESS:
|
|
129
|
+
- Bun
|
|
130
|
+
- Swift on Server
|
|
131
|
+
|
|
132
|
+
HOLD:
|
|
133
|
+
- CoffeeScript
|
|
134
|
+
- jQuery (for new projects)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Creating Your Radar
|
|
138
|
+
|
|
139
|
+
### Step 1: Gather Input
|
|
140
|
+
```
|
|
141
|
+
Sources:
|
|
142
|
+
- Team experience
|
|
143
|
+
- Industry trends
|
|
144
|
+
- Conference talks
|
|
145
|
+
- Tech blogs
|
|
146
|
+
- Consultant advice
|
|
147
|
+
- Community feedback
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Step 2: Categorize
|
|
151
|
+
```
|
|
152
|
+
For each technology:
|
|
153
|
+
1. Identify quadrant
|
|
154
|
+
2. Determine ring
|
|
155
|
+
3. Document rationale
|
|
156
|
+
4. Add move date
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Step 3: Review Regularly
|
|
160
|
+
```
|
|
161
|
+
Cadence:
|
|
162
|
+
- Quarterly reviews
|
|
163
|
+
- Annual major updates
|
|
164
|
+
- Ad-hoc for significant changes
|
|
165
|
+
|
|
166
|
+
Process:
|
|
167
|
+
1. Review existing placements
|
|
168
|
+
2. Discuss new technologies
|
|
169
|
+
3. Vote on ring changes
|
|
170
|
+
4. Document decisions
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Movement Rules
|
|
174
|
+
|
|
175
|
+
### Moving Outward (Adopt → Trial → Assess)
|
|
176
|
+
```
|
|
177
|
+
Technologies move outward when:
|
|
178
|
+
- Proven in production
|
|
179
|
+
- Team expertise grown
|
|
180
|
+
- Community adoption increased
|
|
181
|
+
- Risks mitigated
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Moving Inward (Assess → Trial → Adopt → Hold)
|
|
185
|
+
```
|
|
186
|
+
Technologies move inward when:
|
|
187
|
+
- Security vulnerabilities found
|
|
188
|
+
- Better alternatives emerge
|
|
189
|
+
- Maintenance issues
|
|
190
|
+
- Community decline
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Radar as Decision Tool
|
|
194
|
+
|
|
195
|
+
### For New Projects
|
|
196
|
+
```
|
|
197
|
+
1. Check radar first
|
|
198
|
+
2. Use ADOPT technologies for core
|
|
199
|
+
3. Use TRIAL for experiments
|
|
200
|
+
4. Avoid HOLD technologies
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### For Technology Selection
|
|
204
|
+
```
|
|
205
|
+
If technology in ADOPT:
|
|
206
|
+
→ Proceed with confidence
|
|
207
|
+
|
|
208
|
+
If technology in TRIAL:
|
|
209
|
+
→ Use in non-critical paths
|
|
210
|
+
→ Have fallback plan
|
|
211
|
+
|
|
212
|
+
If technology in ASSESS:
|
|
213
|
+
→ POC required
|
|
214
|
+
→ Document decision
|
|
215
|
+
|
|
216
|
+
If technology in HOLD:
|
|
217
|
+
→ Need strong justification
|
|
218
|
+
→ Executive approval needed
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Radar Tools
|
|
222
|
+
```
|
|
223
|
+
- ThoughtWorks Tech Radar (open source viz)
|
|
224
|
+
- radar.thoughtworks.com
|
|
225
|
+
- Custom HTML/JS visualizations
|
|
226
|
+
- Confluence/Notion tables
|
|
227
|
+
- Miro/Figma diagrams
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Maintenance
|
|
231
|
+
|
|
232
|
+
### Quarterly Review Agenda
|
|
233
|
+
```
|
|
234
|
+
1. Review technologies that moved
|
|
235
|
+
- What changed in the ecosystem?
|
|
236
|
+
- What did we learn?
|
|
237
|
+
|
|
238
|
+
2. Discuss new candidates
|
|
239
|
+
- What's emerging?
|
|
240
|
+
- What's relevant to us?
|
|
241
|
+
|
|
242
|
+
3. Vote on changes
|
|
243
|
+
- Consensus-based decisions
|
|
244
|
+
- Document rationale
|
|
245
|
+
|
|
246
|
+
4. Update radar
|
|
247
|
+
- Publish changes
|
|
248
|
+
- Communicate to teams
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Metrics to Track
|
|
252
|
+
```
|
|
253
|
+
- Technologies per ring (balance)
|
|
254
|
+
- Time in each ring (velocity)
|
|
255
|
+
- Adoption success rate
|
|
256
|
+
- Regret rate (moved to hold after adopt)
|
|
257
|
+
```
|