Build vs buy: фреймворк решения для продуктовых команд
Lifecycle-фреймворк выбора custom software, SaaS и hybrid architecture: differentiation, TCO, security, vendor risk, portability и exit.
Автор и редактор Владислав Новолоаке · Основатель Novol software studio
Опубликовано: Обновлено:
Прямой ответ
Покупайте commodity software, когда credible vendor проходит реальные constraints и сохраняет exit. Стройте workflows, rules и data boundaries, создающие product advantage. Сравнивайте lifecycle TCO, operating ownership, risk и exit, а не licence fee с неполной development quote.
Ключевые выводы
- Разделите систему на commodity, differentiated, integration и operational layers.
- Считайте data, security, reliability, integration, platform и jurisdiction constraints gates, а не preferences.
- Моделируйте expected, upside и downside TCO для buy, build, hybrid и defer.
- Тонкий custom layer защищает domain logic и portability, пока vendors дают commodity capabilities.
- Фиксируйте assumptions, dissent, owners и review triggers: решение не навсегда.
Короткий ответ
Покупайте software, когда workflow является commodity, надёжный vendor уже решает задачу, выход остаётся возможным, а владение отвлечёт команду от дифференциации. Стройте, когда workflow формирует преимущество продукта, рынок не поддерживает нужные data или operating boundaries либо vendor constraints создают неприемлемый стратегический риск. Комбинируйте подходы, когда тонкий custom layer защищает differentiated decisions, а проверенные сервисы выполняют commodity-функции.
Сравнивать нужно не licence fee и development estimate, а весь lifecycle: discovery, implementation, integration, migration, security, compliance, support, change, vendor risk, staffing и exit. Зафиксируйте assumptions до vendor demo или архитектурного спора, оцените evidence и назначьте условия пересмотра.
Считайте build vs buy операционным решением
Feature comparison делает решение статичным. Software — это работающая система людей, data, vendors, controls и постоянных изменений.
Buy может означать:
- принять SaaS с configuration;
- лицензировать platform и интегрировать;
- использовать managed cloud capability;
- приобрести white-label product;
- передать полный business process.
Build может означать:
- создать proprietary product;
- расширить существующее application;
- построить internal workflow;
- собрать managed components за custom experience;
- создать integration и policy layer вокруг vendors.
Большинство сильных систем — портфели. Они покупают email delivery, payments, commodity observability и identity primitives, но строят rules, data models и experience, отличающие продукт. Главный вопрос — каким layer организация должна владеть.
Начните с outcome:
| Вопрос | Зачем |
|---|---|
| Какое решение пользователя или оператора улучшится? | Не позволяет выбирать по числу features |
| Является ли capability differentiator? | Показывает стратегическую ценность ownership |
| Что произойдёт при недоступности? | Раскрывает operational criticality |
| Какие data входят и выходят? | Показывает privacy, security, portability и jurisdiction risk |
| Как быстро меняется workflow? | Выявляет давление на configuration или engineering |
| Кто будет эксплуатировать? | Не даёт купить или построить ownerless system |
| Как выглядит exit? | Делает lock-in и replacement cost видимыми |
Если команда не может сформулировать outcome, она не готова выбирать solution.
Отделите commodity от дифференциации
Commodity capability не означает неважную. Authentication, payroll, email, storage и monitoring критичны. Они commodity, когда надёжные реализации широко доступны, а уникальная версия не усиливает продукт.
Differentiated capability влияет на то, почему клиент выбирает, остаётся, платит или получает лучший outcome:
- proprietary workflow или decision model;
- необычный latency, offline или device behaviour;
- уникальный data model или feedback loop;
- integration, которую сложно повторить;
- trust, privacy или compliance property в основе offer;
- operator experience, меняющий unit economics.
Не называйте differentiation любую внутреннюю preference. Custom dashboard не становится стратегическим из-за любимого layout. Спросите, создаёт ли ownership преимущество, которое переживёт maintenance cost.
Разложите систему:
| Layer | Default posture |
|---|---|
| Customer-facing differentiated workflow | Рассмотреть build |
| Proprietary rules, evidence или data model | Build или строгий control |
| Integration/orchestration | Тонкий build для flexibility |
| Commodity platform capability | Buy или managed service |
| Undifferentiated administration | Buy, simplify или remove |
Карта предотвращает дорогую середину: слабое копирование market product при сохранении зависимости от infrastructure vendors.
UK Technology Code of Practice акцентирует user needs, reuse, open standards, security и весь service. Документ создан для государственного контекста, но дисциплина шире: понять пользователя, не дублировать без необходимости, проектировать portability и оценивать service целиком.
Зафиксируйте non-negotiable constraints
Некоторые constraints исключают варианты до scoring.
Data и jurisdiction
Определите data classes, legal roles, storage regions, subprocessors, retention, deletion, export и breach obligations. Не принимайте «GDPR compliant» как полный ответ. Проверяйте реальный data flow и contract с квалифицированным counsel.
Security и authority
Нанесите authentication, authorization, tenant isolation, admin access, audit events, encryption, secrets, dependency management и vulnerability response. OWASP Application Security Verification Standard даёт структуру application control requirements. NIST Secure Software Development Framework — outcome-based practices для software, которое вы строите и поддерживаете.
Reliability и recovery
Определите uptime needs, recovery point/time, offline behaviour, dependency failures, backups и incident ownership. Vendor SLA не заменяет recovery design. Организации всё равно нужно понимать user experience и продолжение operations.
Integration
Проверьте APIs, webhooks, rate limits, idempotency, event ordering, sandboxes, version policy, bulk export и support escalation. Demo может выглядеть завершённым, оставаясь небезопасным для интеграции.
Platform и distribution
Mobile stores, browser constraints, enterprise device management, accessibility, payment policy и regional distribution влияют на допустимые решения. Проверяйте до договора или build.
Запишите constraints как pass/fail gates. Weighted score не должен скрывать critical violation.
Рассчитайте total cost of ownership
Видимая цена — один компонент.
Buy TCO
Включите:
- subscription/licence fees при реалистичном usage;
- implementation и configuration;
- integration и middleware;
- data migration и cleanup;
- identity, security и compliance review;
- vendor management и procurement;
- user training и change management;
- premium support;
- usage overages и currency exposure;
- price или packaging changes;
- exit migration и parallel operation.
Build TCO
Включите:
- product discovery и design;
- engineering, QA, security и accessibility;
- infrastructure и third-party services;
- data migration;
- deployment и release operations;
- monitoring, incident response и support;
- backups и disaster recovery;
- dependency/platform updates;
- будущие product changes;
- documentation и staff continuity;
- opportunity cost команды.
Используйте ranges и scenarios:
| Scenario | Buy | Build |
|---|---|---|
| Expected | Реальные users, integrations, support tier | Expected scope, team, platform, operation |
| Upside | Growth pricing и новые modules | Faster adoption и больше change demand |
| Downside | Price increase, vendor exit, migration | Delay, rework, staffing gap, incident |
Review horizon должен охватывать несколько лет, а не один procurement cycle. Не обнуляйте затраты после горизонта: покажите residual obligations и exit cost.
Development quote без operation — не build TCO. SaaS price без implementation, integration и change — не buy TCO.
Сравните time-to-value и time-to-control
Buy часто даёт более быстрый доступ, но не обязательно value. Configuration, procurement, security review, migration, training и integration могут занять большую часть календаря.
Build начинается медленнее, но может ускорить изменения при частом развитии workflow и контроле приоритетов. Он останется медленным без product ownership и operational engineering.
Разделите время:
- Time to first useful outcome: реальный user завершает core job.
- Time to safe operation: готовы monitoring, permissions, recovery, support и ownership.
- Time to meaningful change: срок нового requirement после launch.
- Time to exit: срок replacement или shutdown.
Vendor demo оптимизирует восприятие первого числа. Хорошее решение оценивает все четыре.
Proof должен проверять самый трудный constraint, а не happy path. Для vendor протестируйте representative data, permissions, integration failures, export и support. Для custom software создайте vertical slice через risky workflow и production boundary.
Не сравнивайте mature SaaS demo с custom prototype. Сравнивайте ожидаемые production states на одной временной точке.
Оцените strategic и vendor risk
Vendor risk не повод строить всё. Internal teams тоже меняются, теряют knowledge, пропускают incidents и накапливают dependencies.
Buy risks:
- financial и operational viability;
- roadmap alignment;
- deprecation или acquisition;
- pricing/packaging control;
- data portability;
- API stability;
- subprocessor changes;
- security и incident transparency;
- support quality;
- contractual exit.
Build risks:
- product ownership capacity;
- technical leadership;
- hiring и continuity;
- scope expansion;
- security/operational maturity;
- dependency и cloud concentration;
- documentation и bus factor;
- maintenance budget.
Используйте evidence. Vendor security page не равна contractual controls или audit materials. Уверенность internal team не равна demonstrated production operation.
Создайте risk register:
| Risk | Probability | Impact | Evidence | Mitigation | Owner | Review trigger |
|---|---|---|---|---|---|---|
| Vendor удаляет нужный API | Medium | High | Contract и roadmap | Adapter плюс export | Product lead | API notice |
| Уходит internal owner | Medium | High | Staffing plan | Documentation и paired ownership | CTO | Team change |
Цифры не обещают математическую точность. Они помогают сравнивать и назначать ownership.
Спроектируйте hybrid architecture
Hybrid часто лучший ответ и часто плохо реализован. Тонкий custom layer сохраняет differentiation, vendors дают commodity capability.
Здоровые boundaries:
- domain model принадлежит продукту, а не копируется из vendor;
- adapter вокруг важного provider;
- стабильные internal events и identifiers;
- idempotent processing и explicit retries;
- export и reconciliation path;
- authorization enforced вашей системой;
- observability через vendor boundary;
- documented fallback или degraded mode.
Не абстрагируйте каждого provider до появления второго. Создавайте seams там, где strategic risk оправдывает стоимость. Adapter не устраняет dependence, но не даёт vendor concepts распространиться по application.
Twelve-Factor App остаётся полезным baseline для configuration, backing services, stateless processes, logs и environment parity. Применяйте принципы прагматично для portability и operability.
Configuration и integration купленного продукта остаются software assets. Версионируйте их, тестируйте, проверяйте permissions и назначайте owners. No-code не означает отсутствие engineering risk.
В custom product используйте managed commodity components, если они проходят constraints. Владение differentiated layer не требует собственного database engine, mail server или observability platform.
Используйте weighted decision matrix
Сначала gates, затем score:
| Criterion | Пример веса |
|---|---|
| User и strategic differentiation | 20% |
| Time to useful outcome | 15% |
| Three-year TCO range | 15% |
| Data, security и compliance | 15% |
| Change velocity и roadmap control | 10% |
| Reliability и operational ownership | 10% |
| Integration и ecosystem fit | 5% |
| Portability и exit | 10% |
Оценивайте от одного до пяти с evidence и confidence. Failed constraint нельзя спрятать в average. Data residency violation не компенсируется хорошим interface.
Рассмотрите минимум четыре варианта:
- buy и configure;
- buy плюс custom integration layer;
- build differentiated workflow на managed components;
- defer, simplify или remove capability.
Четвёртый вариант важен: иногда команда сравнивает два дорогих решения проблемы, ещё не заслужившей investment.
Проведите sensitivity analysis. Если небольшое изменение weight меняет решение, evidence слабые или варианты близки. Выберите reversible experiment.
Зафиксируйте dissent. Minority concern о security, adoption или vendor exit может стать главным позже.
Определите contracts и exit заранее
Для vendor purchase проверьте:
- service description и availability commitments;
- support/escalation;
- data processing agreement и subprocessors;
- security obligations и incident notice;
- audit evidence;
- pricing protections и usage measurement;
- API/feature-change notice;
- export format и assistance;
- termination, deletion и transition;
- ownership configurations и derived data.
Для custom build:
- outcome и acceptance boundaries;
- intellectual-property treatment;
- repositories, cloud, domains, stores и analytics;
- open-source и pre-existing components;
- documentation и handover;
- security/privacy responsibilities;
- warranty и support;
- change control;
- termination и usable artifacts.
Legal advice зависит от jurisdiction и entities. Product team делает operating assumptions видимыми, чтобы counsel работал с реальной системой, а не generic template.
Проверьте exit, пока leverage высок. Попросите vendor показать export, а build partner — объяснить deploy другой командой. Credentials и production accounts должны быть под organizational control.
Примите решение через staged experiment
Этап 1: frame
Определите outcome, constraints, differentiation, users, owner, review horizon и non-goals.
Этап 2: market scan
Найдите credible vendor и managed-service options. Отказывайте по documented gates. Фиксируйте missing evidence.
Этап 3: comparable proof
Дайте shortlist одинаковые workflow, data, permission model, failure scenario и success criteria.
Этап 4: lifecycle model
Оцените TCO ranges, staffing, time-to-value, risks и exit. Включите hybrid и defer.
Этап 5: decision record
Запишите option, evidence, rejected alternatives, assumptions, dissent, owner и review triggers.
Этап 6: controlled commitment
Используйте pilot, milestone, limited contract term, feature flag или bounded release. Сохраняйте возможность остановиться без потери data и operational control.
Этап 7: review
Пересматривайте решение при изменении pricing, scale, regulation, product differentiation, team capacity или vendor behaviour. Build versus buy не навсегда.
Профессиональный ответ редко идеологичен. Покупайте то, что рынок безопасно предоставляет. Стройте то, что создаёт defensible value. В любом случае владейте boundaries, evidence и exit.
Первичные источники
Документация платформ, стандарты и оригинальные материалы, подтверждающие claims.
Частые вопросы
Buy всегда быстрее build?
Нет. Procurement, security review, configuration, migration, training и integration могут занять большую часть срока. Сравнивайте time to useful outcome, safe operation, meaningful change и exit.
Что обычно стоит покупать?
Commodity capabilities с mature providers, например email delivery, payments или observability, если они проходят data, security, reliability и exit requirements. Critical не означает custom.
Когда оправдан custom software?
Когда workflow, rules, data model, privacy boundary, latency, offline behaviour или integration создают defensible value, недоступную на рынке в допустимых constraints.
Как снизить vendor lock-in?
Владейте domain model и identifiers, используйте deliberate adapters, тестируйте exports, документируйте dependencies, согласуйте transition terms и поддерживайте replacement path.
Когда пересматривать решение?
При существенном изменении pricing, scale, regulation, differentiation, team capacity, provider behaviour или replacement economics. Triggers фиксируются в decision record.
Novol software studio
Портфолио выпущенных продуктов Novol — доказательство того, когда мы строим custom software, а не советуем buy.
Посмотреть, что построил NovolПродолжить чтение
Как выбрать software-студию: evidence, delivery и красные флаги
Evidence-based фреймворк оценки product judgment, production-опыта, engineering standards, delivery, contracts, полной стоимости и exit readiness.
SaaS MVP за восемь недель: scope, архитектура и план релиза
Production-minded план на восемь недель для одного законченного SaaS-результата: границы scope, архитектура, milestones, release gates и осознанный defer.