A 40-person e-commerce founder asked us: "We paid an agency NT$250,000 for a site two years ago. It works. Do we keep paying them a monthly fee, re-bid every project, or just hire someone in-house?" Underneath that question is one nobody names: an outsourcing relationship is not a single transaction — it climbs a ladder, and each rung has a different price, a different trust test, and a different failure mode. Knowing which rung you are on tells you whether to escalate, hold, or walk.
Industry Myths, Broken
- Myth: "Outsourcing is for one-off projects." Reality: the highest-value outsourcing is a standing relationship where the vendor already knows your system, so each change costs less — not more — than starting cold.
- Myth: "Switching vendors is easy and free." Reality: the expensive part is not the new build, it is re-teaching a stranger your business logic. Knowledge transfer is the hidden tax, and it is paid every switch.
- Myth: "A long-term vendor will hold me hostage and inflate prices." Reality: hostage risk comes from no documentation and single-person dependency, not from tenure. A vendor who hands you your source, accounts, and framework LTS/security timeline in writing is the opposite of a captor.
The Core Framework: The 4-Stage Relationship Ladder
Each rung has a trust gate you must pass before the next makes sense:
- Stage 1 — Project: fixed scope, fixed price. Trust gate: did they deliver on time, on budget, with handover docs?
- Stage 2 — Retainer: monthly maintenance + small changes. Trust gate: do they respond within SLA and keep your stack patched?
- Stage 3 — Embedded partner: they help plan the roadmap, not just execute tickets. Trust gate: do their suggestions save you money you can measure?
- Stage 4 — Tech steward: they own your whole stack (security, performance/Core Web Vitals, integrations) so you never hire a CTO. Trust gate: would losing them hurt — and do you have a documented exit if it did?
Three Scenarios, Three Conclusions
| Company | Right rung | Why |
|---|---|---|
| Small e-commerce (10-40 ppl) | Stage 2 retainer | Steady small changes, no need for in-house dev; retainer beats re-bidding every fix |
| Manufacturing / B2B (50-200 ppl) | Stage 3 embedded | Deep domain logic makes re-teaching costly; a partner who knows it is worth keeping close |
| SaaS startup (fast-moving) | Stage 1-2, maybe in-house later | Core product should trend in-house; outsource the edges, keep the core |
The Hidden Cost of Switching (and Staying Cold)
- Knowledge transfer: 2-6 weeks of a new vendor learning your system before they are productive — billable time producing nothing new.
- Re-discovery of edge cases: the quirks the old vendor already knew, re-broken and re-fixed.
- Context-switch overhead: your team re-explaining the same business rules to every new bidder.
- Security gap during handover: the window where nobody clearly owns patching — a real risk cost, not a line item.
- Opportunity cost: weeks spent re-bidding are weeks not shipping.
Vendor Escalation Scorecard
Score each 1-5; below ~30/50, do not escalate to the next rung:
- Delivers on time and on budget
- Hands over source, accounts, and docs without being chased
- Responds within an agreed SLA
- Explains trade-offs in plain language, not jargon
- Proactively flags risks and security issues
- Suggestions have saved measurable money or time
- No single-person dependency (bus factor > 1)
- Keeps your stack patched and up to date
- Pricing is transparent and predictable
- Would give you a clean, documented exit if asked
ScriptWalker’s Fit — and When We Are Not It
We map to all four rungs: project build, monthly retainer, embedded roadmap partner, and full tech steward for teams that do not want to hire a CTO. We are not the right fit if:
- Your core product is your competitive moat and should be built in-house.
- You want the cheapest possible one-off with no documentation or maintenance.
- You need a large on-site team or 24/7 staffed operations rather than a focused Laravel + Flutter studio.
The Escalation Playbook (First 90 Days, Project → Retainer)
- Days 1-30: document the current system, access inventory, and a shared backlog; agree an SLA and a monthly scope ceiling.
- Days 31-60: run the first real change cycles; measure response time and reconciliation of scope vs bill.
- Day 90: review the scorecard together; decide to hold at retainer, escalate to embedded, or step back — in writing.
Decision Checklist
- ☐ Do we know which rung we are currently on?
- ☐ Did the last stage pass its trust gate?
- ☐ Do we hold our own source code and accounts?
- ☐ Is there a documented exit if we needed one?
- ☐ Have we scored the vendor before escalating?
- ☐ Is there single-person dependency on their side?
- ☐ Have their suggestions saved measurable money?
- ☐ Is monthly scope and pricing predictable?
- ☐ Should any part of this trend in-house instead?
- ☐ Do we have an SLA in writing?
FAQ
When should I escalate from project to retainer?
When you have steady small changes that cost more in re-bidding friction than a monthly fee would, and the vendor passed Stage 1: on time, on budget, with a clean handover. If either condition is missing, stay project-based.
Won't a long-term vendor lock me in?
Only if you let them hold your source, accounts, and knowledge. Lock-in is a documentation problem, not a tenure problem. Keep ownership of code and credentials and a written exit, and long tenure becomes an asset, not a trap.
Is it cheaper to just hire in-house?
Sometimes — for a core product that changes daily. For steady, periodic work, a retainer usually beats a full salary plus the hidden costs of recruiting, managing, and turnover. Match the rung to your actual change frequency.
How do I avoid the switching tax?
Insist on continuous documentation and no single-person dependency from day one, so if you ever do switch, the knowledge-transfer window is days, not months. The best time to prevent lock-in is before you are locked in.
Get Started
Not sure which rung you are on? Book a free 30-minute review. We will score your current setup and tell you honestly whether to escalate, hold, or keep it in-house — even when the answer is not us.
- Email: [email protected]
- Phone: 0916-224-047
- LINE: @ufv9089p