تیم داخلی یا برونسپاری توسعه سایت؟ پاسخ درست از مقایسه حقوق یک برنامهنویس با مبلغ یک قرارداد بهدست نمیآید. باید هزینه کل مالکیت، سرعت رسیدن به نتیجه، ریسک توقف، کیفیت قابل سنجش، دانش باقیمانده در سازمان و هزینه خروج را در یک افق زمانی یکسان مقایسه کنید.
برای یک سایت شرکتی کمتغییر، ساخت تیم چندتخصصی دائمی احتمالاً ظرفیت بلااستفاده میسازد. برای یک SaaS که هر هفته قابلیت منتشر میکند، واگذاری کامل دانش محصول و مسیر انتشار میتواند ریسک راهبردی باشد. بسیاری از کسبوکارهای ایرانی نیز نه با دو انتخاب مطلق، بلکه با یک مدل ترکیبی موفق میشوند: مالک محصول و تصمیم معماری داخل سازمان میماند و ظرفیت یا تخصص مشخص از بیرون تأمین میشود.
پاسخ کوتاه: چه زمانی کدام مدل مناسبتر است؟
| وضعیت غالب | مدل شروع مناسب | دلیل | هشدار |
|---|---|---|---|
| پروژه یکباره با Scope روشن | آژانس یا تیم پروژهای | دسترسی سریع به چند تخصص بدون استخدام دائمی | پذیرش، مالکیت کد و تحویل دانش باید قراردادی باشد |
| محصول دیجیتال هسته کسبوکار با تغییر پیوسته | هسته داخلی یا Hybrid | دانش دامنه و اولویتگذاری نزدیک محصول میماند | استخدام بدون سیستم تحویل، خودبهخود سرعت نمیسازد |
| نیاز کوتاهمدت به مهارت کمیاب | فریلنسر متخصص یا Staff augmentation | خرید ظرفیت محدود و هدفمند | معماری و Review نباید بیمالک بماند |
| سایت عملیاتی با پشتیبانی ۲۴/۷ | Managed service یا Hybrid | On-call، Runbook و SLA قابل سازماندهی است | SLA بدون SLO و مسیر Escalation کافی نیست |
| داده حساس، تمایز فنی بالا یا وابستگی حیاتی | هسته داخلی با تأمینکننده کنترلشده | کنترل تصمیم، دسترسی و دانش حیاتی حفظ میشود | داخلیبودن به معنی امنبودن نیست |
| تقاضای نامطمئن و مدل کسبوکار اثباتنشده | Pilot برونسپاری یا Hybrid کوچک | تعهد ثابت کمتر و یادگیری سریعتر | نسخه آزمایشی را با بدهی غیرقابلخروج نسازید |
این جدول حکم نهایی نیست. تصمیم باید پس از تعریف تقاضا، سناریوی هزینه و قابلیت خروج گرفته شود. اگر هنوز Scope و سطح کیفیت روشن نیست، ابتدا راهنمای برآورد هزینه طراحی سایت را برای ساخت Estimate و Quote همسطح بخوانید.
قبل از قیمت، Demand Contract بنویسید
مقایسه گزینهها بدون تعریف کاری که باید تحویل شود مانند مقایسه قیمت دو خودرو بدون دانستن نوع استفاده است. یک قرارداد تقاضا یکصفحهای بسازید تا تیم داخلی، آژانس و فریلنسر روی مسئله یکسان قیمت و برنامه بدهند.
| فیلد | پرسش تصمیم | نمونه شاهد |
|---|---|---|
| Outcome | کدام نتیجه کاربر یا کسبوکار باید تغییر کند؟ | ثبت درخواست معتبر، خرید موفق یا کاهش تماس پشتیبانی |
| Scope | کدام Journey، Integration، Content و Migration داخل کار است؟ | Story map، فهرست صفحه و Data map |
| ریتم تغییر | پس از Launch چند تغییر در هفته یا ماه داریم؟ | Backlog تاریخی یا Forecast سهسناریویی |
| کیفیت | پذیرش Performance، Accessibility، Security و UX چیست؟ | SLO، Performance budget و Acceptance test |
| بحرانیبودن | یک ساعت توقف یا خطای داده چه پیامدی دارد؟ | Impact، RTO/RPO و ساعات پشتیبانی |
| دانش دامنه | چه دانشی فقط داخل سازمان است و چقدر سریع تغییر میکند؟ | مالک فرایند، Policy و استثناهای واقعی |
| افق | تصمیم برای Launch است یا ظرفیت دوساله؟ | افق ۱۲، ۲۴ یا ۳۶ ماهه |
| محدودیت | بودجه، زمان، فناوری، داده، دسترسی و قانون چه مرزی میسازد؟ | Constraint register با مالک |
| خروج | اگر مدل یا تأمینکننده عوض شد چه چیزی باید قابل انتقال باشد؟ | کد، داده، حسابها، مستندات و Runbook |
عبارتهایی مانند «سایت حرفهای»، «پشتیبانی کامل» و «طراحی اختصاصی» قابل پذیرش نیستند. آنها را به خروجی و معیار تبدیل کنید. برای تعریف Task، کیفیت و پذیرش تجربه کاربر، قرارداد طراحی سایت کاربرپسند و UX QA مکمل این مرحله است.
شش مدل تحویل؛ انتخاب فقط داخلی یا خارجی نیست
۱. تیم داخلی In-house
کارکنان تحت مدیریت سازمان، ظرفیت مستمر میسازند. مزیت اصلی، استخدامشدن افراد نیست؛ نزدیکی به تصمیم محصول، انباشت دانش و امکان بهبود پیوسته است. در مقابل، جذب، مدیریت عملکرد، مسیر رشد، جایگزینی، ابزار و ظرفیت بیکار بر عهده سازمان میماند.
۲. آژانس یا شرکت پروژهای
یک مجموعه چندتخصصی مسئول Discovery، طراحی، توسعه یا Launch میشود. برای شروع سریع و Scope نسبتاً مشخص مناسب است، اما کیفیت آژانسها همگن نیست. نام بزرگ یا Portfolio زیبا جای مشاهده تیم واقعی، روش Review، شواهد کیفیت و مشتری مرجع را نمیگیرد.
۳. فریلنسر متخصص
برای یک بسته کاری محدود، Audit یا مهارت خاص میتواند کارآمد باشد. ریسک تمرکز دانش و ظرفیت یکنفره را باید با Repository سازمانی، Review مستقل، Milestone کوچک و تحویل مستند کنترل کرد. فریلنسر ارزان نامناسب ممکن است با Rework و تأخیر گرانتر شود؛ فریلنسر ارشد نیز لزوماً برای مدیریت محصول چندتیمی مناسب نیست.
۴. Staff Augmentation
نیرو از تأمینکننده میآید ولی اولویت و مدیریت روزانه با شماست. این مدل کمبود ظرفیت را سریعتر جبران میکند، اما اگر Product owner، معماری، Review و Onboarding داخلی ندارید، فقط افراد بیشتری وارد صف مبهم میشوند.
۵. Managed Team یا Outcome-based Service
تأمینکننده مسئول یک تیم یا نتیجه عملیاتی است، نه صرفاً ساعت افراد. مرز سرویس، SLO، وابستگیهای مشتری و اختیار تصمیم باید روشن باشد. انتقال همه ریسک به فروشنده ممکن نیست؛ ریسک ناشی از داده دیرهنگام، تصمیم محصول یا دسترسی داخلی همچنان مشترک است.
۶. مدل Hybrid
مالک محصول، معماری، امنیت یا دانش دامنه داخل میماند و اجرای بخشی از Delivery از بیرون میآید. Hybrid «بهترین هر دو جهان» بهصورت خودکار نیست؛ دو خط مدیریت و مرز مبهم میتواند هماهنگی را گران کند. برای هر Capability باید یک Accountable owner و مسیر تصمیم وجود داشته باشد.
هزینه واقعی تیم داخلی؛ حقوق فقط یک سطر است
برای مقایسه منصفانه، افق یکسان انتخاب کنید و همه ارقام را به قیمت یک تاریخ مشخص تبدیل کنید. در بازار ایران، تومان/ریال، تاریخ اعتبار، مالیات، هزینه قانونی کارفرما، تعدیل حقوق و نرخ ارز لایسنسها باید صریح باشند. این مقاله مشاوره حقوقی یا مالیاتی نیست؛ محاسبه بیمه، مزایا و تعهدات استخدامی را با حسابدار و مشاور حقوق کار بر اساس قرارداد و مقررات روز تأیید کنید.
TCO تیم داخلی در افق تصمیم میتواند چنین مدل شود:
TCO in-house =
compensation and employer obligations
+ recruitment and onboarding
+ equipment, workspace and software
+ management and enabling functions
+ cloud, data and delivery tooling
+ learning, leave and capability coverage
+ attrition, vacancy and replacement risk
+ incident, support and rework
+ exit or reorganization cost
| جزء هزینه | داده ورودی بهتر | خطای رایج |
|---|---|---|
| جبران خدمت | پیشنهاد استخدام واقعی، سطح مهارت و تعهدات کارفرما | استفاده از یک میانگین اینترنتی برای همه نقشها |
| جذب و Vacancy | زمان واقعی جذب، نرخ پذیرش و ماههای ظرفیت خالی | فرض شروع فوری کل تیم |
| Onboarding | زمان فرد جدید و منتور تا رسیدن به استقلال | محاسبه لپتاپ و فراموشکردن زمان افراد |
| ابزار و زیرساخت | Quote روز برای Device، SaaS، Cloud، امنیت و Backup | نادیدهگرفتن ارز، Egress، Log و تمدید |
| مدیریت و Enablement | سهم Product، Engineering management، HR، Finance و Legal | رایگان فرضکردن هماهنگی |
| ظرفیت مؤثر | روزهای کاری منهای مرخصی، جلسه، Support و آموزش | برابرگرفتن ساعت قراردادی با ساعت تحویل |
| Attrition | سابقه خروج، زمان جایگزینی و تمرکز دانش | صفرگرفتن ریسک عضو کلیدی |
| کیفیت و عملیات | Defect، Incident، Rework و On-call واقعی | پایان هزینه در روز Launch |
تیم داخلی زمانی اقتصادی میشود که تقاضای پایدار برای ظرفیت آن وجود داشته باشد و سازمان توان Product management و Engineering management را داشته باشد. اگر افراد متخصص بیشتر ماه را منتظر تصمیم، محتوا یا دسترسی باشند، مسئله کمبود کدنویس نیست؛ Flow کار معیوب است.
هزینه واقعی برونسپاری؛ مبلغ قرارداد کل هزینه نیست
TCO برونسپاری باید تلاش سازمان شما و هزینه انتقال را هم ببیند:
TCO outsource =
discovery, delivery and support contract
+ client-side product ownership and decisions
+ change requests and unpriced assumptions
+ hosting, licenses and third-party services
+ security, accessibility and acceptance assurance
+ communication, delay and dependency cost
+ knowledge transfer and documentation
+ transition, switching and exit
+ contingency for evidenced risks
| جزء هزینه | در Quote چه چیزی روشن شود؟ | ریسک پنهان |
|---|---|---|
| Discovery | مصاحبه، Journey، معماری، Prototype و خروجی تصمیم | فاز رایگان سطحی و تغییر پرهزینه بعدی |
| Delivery | نقش واقعی افراد، ظرفیت، Milestone و Definition of Done | فروش تیم ارشد و اجرای تیم نامعلوم |
| مشارکت مشتری | ساعات Product owner، محتوا، داده و تأیید | رایگان فرضکردن زمان مدیران شما |
| Change | Baseline، نرخ/روش برآورد و اختیار تأیید | Scope creep دوطرفه و صورتحساب غیرقابل پیشبینی |
| کیفیت | Test، Security، Performance، Accessibility و Browser matrix | Demo موفق بهجای Acceptance evidence |
| عملیات | Warranty، Support، SLO، On-call و Incident | تعریف مبهم «پشتیبانی رایگان» |
| دارایی | کد، Design file، محتوا، دامنه، حساب، License و داده | دارایی روی حساب شخصی فروشنده |
| خروج | فرمت Export، Documentation، آموزش، Assist و هزینه انتقال | قفلشدن به Vendor یا Component اختصاصی |
برای کشف هزینههایی که معمولاً بیرون Quote میمانند، راهنمای هزینههای پنهان طراحی و نگهداری سایت را در Should-cost model وارد کنید.
Should-cost Model؛ سه سناریو بهجای یک عدد قطعی
برای هر مدل، سناریوی کم، پایه و پرفشار بسازید. تفاوت سناریوها باید از Driver بیاید، نه درصد دلخواه: تعداد Integration، حجم Migration، ریتم تغییر، سطح کیفیت، نرخ Attrition، مدت Vacancy، تغییر Scope، Incident، نرخ ارز و نیاز Support.
| خروجی مدل | فرمول یا تعریف | کاربرد |
|---|---|---|
| TCO افق تصمیم | تمام Cash flowها و هزینه انتقال در بازه یکسان | مقایسه مالی همسطح |
| Cost per accepted outcome | TCO ÷ خروجی پذیرفتهشده و قابل استفاده | حذف توهم ساعت ارزان |
| Cost of delay | پیامد هر هفته تأخیر بر درآمد، هزینه یا ریسک | ارزش سرعت شروع |
| Capacity coverage | تقاضای پیشبینیشده ÷ ظرفیت مؤثر | کشف Bench یا کمبود مزمن |
| Switching exposure | زمان و هزینه بازپسگیری دارایی و ادامه سرویس | ارزیابی Lock-in |
| Risk-adjusted cost | TCO + Expected impact ریسکهای شواهدمحور | دیدن گزینه ظاهراً ارزان اما شکننده |
همه گزینهها را با واحد پول، تاریخ قیمت، مالیات، شرایط پرداخت، افق و Scope یکسان مقایسه کنید. Budget جدا از Estimate است؛ راهنمای بودجه طراحی سایت روش ساخت Baseline، Reserve و کنترل تغییر را توضیح میدهد.
قیمت تنها معیار نیست؛ Capability را مقایسه کنید
مدل ارزانتری که Outcome را دیر، ناپایدار یا غیرقابل انتقال تحویل دهد، Value for money نمیسازد. هر گزینه را روی قابلیتهایی بسنجید که Demand contract شما نیاز دارد.
| معیار | شاهد قابل درخواست | پرسش تشخیصی |
|---|---|---|
| دانش دامنه | نقشه Journey، فرضیه و Decision log | تیم چگونه استثناهای کسبوکار را یاد میگیرد؟ |
| توان تحویل | Lead time، Deployment record و نمونه Retrospective | از تصمیم تا Production چه گلوگاهی دارد؟ |
| کیفیت مهندسی | Code review، Test evidence، CI/CD و Runbook | کیفیت چگونه ساخته میشود، نه فقط تست نهایی؟ |
| Product/UX | Research، Prototype، Acceptance و Outcome metric | تیم Feature میسازد یا مسئله را اعتبارسنجی میکند؟ |
| امنیت و حریم داده | Access model، Incident process و Supplier controls | چه کسی به چه دادهای و تا چه زمانی دسترسی دارد؟ |
| عملیات | SLO، On-call، Monitoring و Recovery drill | پس از Launch چه کسی پاسخگوست؟ |
| تداوم | Coverage نقش، Bus factor و Succession plan | با خروج یک فرد چه میشود؟ |
| قابلیت خروج | Export، Repository، Documentation و Transition test | تیم بعدی در چند روز میتواند کار را ادامه دهد؟ |
کنترل نتیجه از Governance میآید، نه محل استخدام
تیم داخلی «کنترل ۱۰۰٪» نمیدهد و برونسپاری نیز الزاماً کنترل را از بین نمیبرد. کنترل واقعی یعنی صاحب تصمیم، شفافیت جریان کار، دسترسی به دارایی، معیار پذیرش، مرز اختیار و مسیر Escalation روشن باشد. یک تیم داخلی بیBacklog و بیReview ممکن است از یک تأمینکننده شفاف کنترلناپذیرتر باشد.
Sourcing Playbook رسمی دولت بریتانیا برای تصمیم Delivery model بر Value for money، Should-cost، قابلیت بازار، ریسک، Pilot و Resolution planning تأکید میکند و In-house، Outsource یا ترکیب را بسته به ماهیت سرویس میسنجد. این چارچوب قانون ایران نیست، اما برای ساختن فرایند تصمیم منظم و شواهدمحور مفید است.
Risk Allocation؛ ریسک را به طرف قادر به مدیریت بدهید
نوشتن «تمام مسئولیت با پیمانکار است» ریسک را حذف نمیکند؛ فقط ممکن است قیمت را بالا ببرد یا اختلاف آینده بسازد. راهنمای رسمی Risk Allocation and Pricing توصیه میکند ماتریس ریسک مستقیماً مدل تجاری و قیمت را شکل دهد. در پروژه سایت نیز ریسک باید به کسی برسد که اختیار و داده لازم برای کنترل آن را دارد.
| ریسک | مالک محتمل | مکانیزم کنترل |
|---|---|---|
| تأخیر محتوا و تأیید | مشتری | تقویم، Dependency و اثر تأخیر بر Baseline |
| کیفیت کد و Build | تأمینکننده/تیم تحویل | Definition of Done، Review و CI evidence |
| Scope نامعلوم | مشترک | Discovery، Assumption log و Change control |
| مجوز داده و محتوا | مشتری | Data owner، منبع و تأیید حقوق استفاده |
| انتخاب Component شخص ثالث | مشترک | Approval، License، Security و Exit assessment |
| Availability زیرساخت | بر اساس معماری | SLO، Provider boundary و Runbook |
| تغییر نرخ ارز/لایسنس | تقسیمشده | Basis date، Index rule، Cap و Approval |
| خروج تأمینکننده | مشترک | Repository سازمانی، Transition و Resolution plan |
Due Diligence تأمینکننده؛ Portfolio کافی نیست
پیش از دسترسیدادن به کد، داده و زیرساخت، خود تأمینکننده و زنجیره فرعی او را بررسی کنید. راهنمای Due Diligence زنجیره تأمین NIST SP ۱۳۲۶ که در ژوئیه ۲۰۲۶ نهایی شده، بررسی Provenance، Resilience، شیوههای پایه امنیت سایبری و لایههای زنجیره تأمین را پیشنهاد میکند. برای برنامه جامعتر نیز NIST SP 800-161 Rev.1 منبع رسمی مدیریت ریسک تأمینکننده است.
- شخص حقوقی/حقیقی، تیم واقعی، نقش Subcontractor و محل نگهداری داده را روشن کنید.
- دو مشتری مرجع با Scope و مقیاس نزدیک بپرسید؛ سؤال فقط «راضی بودید؟» نباشد، درباره تغییر Scope، Incident و خروج بپرسید.
- نمونه Code review، Test report، Deployment record، Incident report بینام و Runbook را ببینید.
- Repository، Issue tracker، Cloud و Analytics را از روز اول روی حساب سازمان خود یا با دسترسی قابل بازپسگیری نگه دارید.
- سیاست Patch، Dependency، Secret، Backup، دسترسی کارکنان و حذف دسترسی پس از پایان همکاری را بررسی کنید.
- توان مالی و عملیاتی ادامه قرارداد را متناسب با بحرانیبودن سرویس بسنجید.
قرارداد توسعه سایت باید چه چیزهایی را روشن کند؟
قرارداد خوب جای رابطه کاری سالم را نمیگیرد، اما ابهام قابل پیشگیری را کم میکند. متن نهایی باید با وکیل آشنا به قراردادهای فناوری و شرایط کسبوکار شما تطبیق داده شود. NDA تنها بخشی کوچک از کنترل است و کیفیت، دسترسی، مالکیت یا قابلیت خروج را پوشش نمیدهد.
| بخش قرارداد | حداقل سؤال | شاهد پایان |
|---|---|---|
| Outcome و Scope | داخل/خارج Scope و Assumption چیست؟ | SOW نسخهدار و Backlog پایه |
| پذیرش | چه تستی، توسط چه کسی و در چه مهلتی؟ | Acceptance matrix و Evidence |
| قیمت و پرداخت | واحد پول، مالیات، تاریخ مبنا، Milestone و Holdback چیست؟ | Invoice rule و پرداخت متصل به خروجی |
| تغییر | چه چیزی Change است و چه کسی زمان/هزینه را میپذیرد؟ | Change request و Baseline تازه |
| دارایی فکری | کد سفارشی، Component قبلی، فونت، عکس و License متعلق به کیست؟ | Asset register و License inventory |
| امنیت و داده | Access، Logging، Incident notice، Subprocessor و حذف داده چیست؟ | Access register و Offboarding evidence |
| عملیات | Warranty، Support، SLO، Escalation و Maintenance window چیست؟ | Runbook و Service report |
| تحویل دانش | چه سند، آموزش و Shadowing لازم است؟ | Documentation، Session و آزمون استقلال |
| خروج | Export، انتقال حساب، Assist، مهلت و هزینه چیست؟ | Transition checklist و Sign-off |
| حل اختلاف/پایان | نقض، Cure period، Termination و تحویل کار نیمهتمام چیست؟ | فرایند رسمی و Snapshot دارایی |
مالکیت کد کافی نیست؛ Operational Ownership بسازید
ممکن است قرارداد بگوید کد برای شماست، اما Repository، Domain، DNS، Cloud، ایمیل تراکنشی، Analytics، Search Console، Tag manager، Font، Stock asset یا کلید Signing روی حساب فروشنده باشد. در این حالت مالکیت روی کاغذ با توان ادامه سرویس یکی نیست.
- یک Asset register با Owner، Billing owner، Adminها، روش Recovery و تاریخ تمدید بسازید.
- Secret را در پیامرسان و فایل تحویل نگه ندارید؛ Secret manager و Rotation داشته باشید.
- کد باید در Repository سازمانی، با تاریخچه Commit و Pipeline قابل اجرا باشد.
- داده و محتوا باید Export مستند و آزموده داشته باشند؛ Backup بدون Restore test کافی نیست.
- Component اختصاصی یا قفل پلتفرم باید با هزینه Exit و Alternative ثبت شود.
اگر هنوز بین سایتساز و استخدام طراح/توسعهدهنده مردد هستید، مقایسه سایتساز و طراح با TCO، Pilot و Exit مرز تصمیم پلتفرم را جداگانه بررسی میکند.
مدل قیمتگذاری را با نوع ابهام هماهنگ کنید
| مدل | مناسب برای | شرط موفقیت | ریسک اصلی |
|---|---|---|---|
| Fixed price | خروجی و پذیرش روشن با ابهام کم | Scope/Assumption/Change دقیق | Buffer پنهان، کاهش کیفیت یا اختلاف Change |
| Time & Materials | Discovery و محصول با یادگیری مستمر | شفافیت ظرفیت، Priority و Burn report | پرداخت برای فعالیت بدون Outcome |
| Capped T&M | انعطاف همراه سقف مالی | قاعده Stop/Replan پیش از Cap | توقف نیمهکاره یا فشردهسازی کیفیت |
| Milestone | تحویل مرحلهای قابل پذیرش | Milestone بر Outcome و Evidence | Milestone نمایشی بدون قابلیت استفاده |
| Retainer | نگهداری و جریان تغییر کوچک | ظرفیت، SLA، Rollover و اولویت روشن | پرداخت ظرفیت بلااستفاده یا صف مبهم |
| Outcome-based | نتیجه قابل سنجش با اختیار کافی فروشنده | Baseline، Attribution و Guardrail مشترک | Gaming معیار یا تحمیل ریسک خارج اختیار |
Delivery Governance؛ چگونه همکاری را در عمل کنترل کنیم؟
پروژه را به یک تحویل بزرگ در پایان تبدیل نکنید. Repository، Backlog و محیط تست باید از ابتدا قابل مشاهده باشند. Increment کوچک را روی Production-like environment و با پذیرش واقعی تحویل بگیرید.
- هفتگی: Demo خروجی قابل اجرا، تصمیمهای باز، Risk/Dependency و Forecast.
- در هر Pull request: Review، Test، Security check و پیوند به Requirement.
- در هر Release: Artifact مشخص، Migration، Smoke test، Release marker و Rollback.
- ماهانه: TCO/Forecast، Capacity، Defect/Incident، SLO و سلامت همکاری.
- فصلی: Fit مدل تحویل، تمرکز دانش، Vendor risk و آزمون Exit.
برای طراحی مسیر Build، Deploy، Verify و Rollback مشترک میان تیم داخلی و تأمینکننده، راهنمای پایپلاین امن CI/CD را اجرا کنید.
معیار عملکرد؛ ساعت و تعداد نفر کافی نیست
Velocity، تعداد Ticket یا ساعت ثبتشده را هدف قراردادی نکنید؛ قابل بازیدادناند و Outcome را تضمین نمیکنند. یک سبد متوازن از جریان، کیفیت، قابلیت اطمینان، تجربه و انتقال دانش بسازید.
| بُعد | معیار نمونه | Guardrail |
|---|---|---|
| Flow | Lead time، Age کار و زمان انتظار تصمیم | کیفیت و حجم کار همزمان |
| Delivery | Deployment frequency و Forecast accuracy | عدم پاداش انتشار بیارزش |
| Stability | Change fail و Failed deployment recovery | شدت Incident و تجربه کاربر |
| Quality | Escaped defect، Rework و Acceptance pass | ریسک و Coverage معنادار |
| Outcome | Task success، Conversion یا کاهش هزینه عملیات | Accessibility، Trust و شکایت |
| Knowledge | Bus factor، زمان Onboarding و استقلال تیم بعدی | تازگی مستندات و تمرین واقعی |
| Cost | Cost per accepted outcome و Forecast at completion | Cost of delay و هزینه Exit |
مدل رسمی DORA در نسخه بهروز ۲۰۲۶ پنج معیار Delivery را معرفی میکند و هشدار میدهد که هدف، یافتن گلوگاه سیستم است. این معیارها را برای مقایسه فرد یا فشار قراردادی استفاده نکنید؛ تعریف داده باید برای تیم داخلی و خارجی یکسان باشد.
ملاحظات ایران؛ عدد را تاریخدار و ریسک را صریح کنید
در ایران، تورم، نرخ ارز، دسترسی سرویس خارجی، پرداخت بینالمللی، نگهداری نیروی متخصص و تغییر هزینه زیرساخت میتواند Forecast را سریع منقضی کند. نتیجه درست، افزودن درصد ثابت و بیمنبع نیست؛ Driverها را جدا و سناریوها را دورهای بهروز کنید.
| عامل | در قرارداد/مدل چه ثبت شود؟ | آزمون عملی |
|---|---|---|
| ریال/تومان | واحد رسمی Quote و نحوه نمایش Invoice | بازمحاسبه نمونه Invoice |
| تعدیل | تاریخ مبنا، شاخص/رویداد، تناوب، سقف و حق توقف | سناریوی شوک و Change approval |
| لایسنس و ارز | مالک Subscription، نرخ مبنا و Alternative | تمدید و Export بدون حساب فروشنده |
| دسترسی سرویس | Eligibility، Terms، Region و Dependency | Probe از شبکه واقعی و Fallback مجاز |
| زیرساخت | Provider boundary، Backup، Support و Exit | Restore و انتقال DNS/Cloud |
| نیروی کلیدی | Coverage، Notice، Handover و Replacement level | غیبت شبیهسازیشده و Onboarding نفر دوم |
| تعهد حقوقی/مالیاتی | مسئولیت هر طرف و فرایند تأیید متخصص | Review وکیل و حسابدار پیش از امضا |
برای سرویس خارجی، دورزدن محدودیت فنی یا قراردادی را Strategy پایداری ندانید. Eligibility و Terms را بررسی و گزینهای انتخاب کنید که سازمان بتواند بهطور مجاز، امن و قابل پشتیبانی اداره کند. قیمتها را با «معتبر تا تاریخ»، Scope، سطح نقش و شرایط پرداخت ذخیره کنید؛ عدد بدون این چهار مورد قابل مقایسه نیست.
Scorecard تصمیم؛ وزن را قبل از دیدن پیشنهاد تعیین کنید
ابتدا Knockoutها را اعمال کنید: نبود امکان مالکیت دارایی، دسترسی نامجاز به داده، ناتوانی در SLO حیاتی، تضاد حقوقی یا نبود مسیر خروج میتواند گزینه را مستقل از امتیاز حذف کند. سپس معیارها را وزن دهید.
| معیار | وزن نمونه | تیم داخلی | آژانس | Hybrid |
|---|---|---|---|---|
| Time to first value | ۱۵ | ۱ تا ۵ + شاهد | ۱ تا ۵ + شاهد | ۱ تا ۵ + شاهد |
| TCO تعدیلشده با ریسک | ۲۰ | سناریوی Low/Base/High | سناریوی Low/Base/High | سناریوی Low/Base/High |
| دانش دامنه و تمایز | ۱۵ | شاهد | شاهد | شاهد |
| کیفیت/امنیت/عملیات | ۲۰ | شاهد | شاهد | شاهد |
| انعطاف ظرفیت و مهارت | ۱۰ | شاهد | شاهد | شاهد |
| تداوم و Bus factor | ۱۰ | شاهد | شاهد | شاهد |
| Exit و قابلیت انتقال | ۱۰ | شاهد | شاهد | شاهد |
وزن نمونه را کپی نکنید. برای SaaS، دانش و Delivery ممکن است مهمتر باشد؛ برای سایت کمپین کوتاه، زمان و هزینه غالب است. هر امتیاز باید لینک شاهد و Confidence داشته باشد. جمع عدد بدون توضیح، عدم قطعیت را پنهان میکند.
پنج سناریوی واقعی برای کسبوکار ایرانی
سایت شرکتی با تغییر محدود
یک شرکت B2B که هر فصل چند Case study منتشر میکند، معمولاً به تیم کامل دائمی نیاز ندارد. آژانس برای Discovery/Design/Build و یک Retainer کوچک با CMS قابل مدیریت میتواند مناسب باشد. Product owner محتوا و دسترسیها باید داخل بماند.
فروشگاه در حال رشد
فروشگاهی با کمپینهای پیوسته، اتصال انبار/حسابداری و Incident پرداخت، از مدل Hybrid سود میبرد: مالک محصول و عملیات فروشگاه داخل؛ تیم تخصصی توسعه/UX بیرون؛ SLO، Release و On-call مشترک. واگذاری کامل بدون دانش داخلی، زمان Incident را بالا میبرد.
SaaS با منطق اختصاصی
اگر نرمافزار مزیت اصلی کسبوکار است، هسته Product/Engineering داخلی اهمیت بیشتری دارد. میتوان Security audit، Design system یا Migration محدود را برونسپاری کرد. ساخت همه قابلیت با Vendor و استخدام تیم داخلی «بعداً» هزینه انتقال دانش را دستکم میگیرد.
MVP با عدم قطعیت بالا
تیم کوچک مؤسس باید مسئله، اولویت و گفتوگو با کاربر را مالک بماند. یک Squad خارجی میتواند Prototype و Thin slice بسازد، اما قرارداد Fixed price برای Backlog بلند و ناشناخته اغلب یا Buffer میسازد یا Change dispute. Pilot مرحلهای با Kill criterion بهتر است.
سازمان با داده حساس و Vendorهای متعدد
معماری دسترسی، Data classification و تصمیم امنیت داخل میماند؛ هر Vendor فقط Scope و محیط لازم را میبیند. Repository/Cloud سازمانی، Identity جدا، Logging، Offboarding و Integrator accountable لازم است. چند پیمانکار بدون مالک معماری، مسئولیت را میان شکافها گم میکنند.
Pilot؛ تصمیم را پیش از تعهد بزرگ آزمایش کنید
برای مدل یا تأمینکننده تازه، یک Thin slice واقعی و محدود انتخاب کنید که طراحی، توسعه، Review، Deploy و Support کوتاه را در بر بگیرد. Pilot نباید Demo دورریختنی باشد؛ باید رفتار همکاری را آشکار کند.
- فرضیه: مثلاً تیم Hybrid میتواند یک Journey را با Lead time کمتر و Acceptance کامل تحویل دهد.
- دامنه: یک جریان عمودی با داده غیرحساس یا محدود، نه صفحه نمایشی.
- شواهد: Code/Design quality، Forecast، ارتباط، Security، Deployment و Documentation.
- Guardrail: سقف هزینه، دسترسی حداقلی، Performance و Accessibility.
- Exit test: فردی خارج از تیم با مستندات، محیط را اجرا یا تغییر کوچکی اعمال کند.
- حکم: Scale، اصلاح مدل، Hybrid، تعویض یا Stop با دلیل ثبتشده.
برنامه ۳۰روزه انتخاب مدل تحویل
هفته اول: Demand و Baseline
- Outcome، Scope، ریتم تغییر، SLO، داده و افق را ثبت کنید.
- هزینه و Lead time فعلی، Incident، Backlog و کمبود Capability را خط مبنا بگیرید.
- Knockoutهای امنیت، مالکیت و خروج را تعیین کنید.
هفته دوم: گزینه و Should-cost
- In-house، آژانس، Staff augmentation و Hybrid را برای Demand یکسان مدل کنید.
- TCO کم/پایه/پرفشار و Cost of delay را با Finance بسازید.
- RACI، Risk allocation و داراییهای حیاتی را مشخص کنید.
هفته سوم: بازار و Due Diligence
- Brief یکسان برای Shortlist ارسال و جلسه حل مسئله برگزار کنید.
- تیم واقعی، شواهد تحویل، Reference، Security و Continuity را بررسی کنید.
- Quoteها را Normalize و Assumption/Exclusion را کنار قیمت مقایسه کنید.
هفته چهارم: Pilot و Decision Record
- Thin slice، Acceptance، دسترسی و Exit test را تعریف کنید.
- Scorecard را با Evidence تکمیل و ریسک باقیمانده را ثبت کنید.
- حکم، Trigger بازبینی و مالک رابطه را در Decision record بنویسید.
اشتباههای رایج در مقایسه تیم داخلی و برونسپاری
- مقایسه حقوق با مبلغ قرارداد: افق و اجزای TCO یکسان نیست.
- فرض ارزانتر بودن همیشگی Outsource: Scope، Change، مشارکت مشتری و Exit نادیده میماند.
- فرض کنترل کامل In-house: Governance، مهارت و Flow اندازهگیری نمیشود.
- خرید بر اساس Rate: Seniority، Rework و Outcome پذیرفتهشده حذف میشود.
- Fixed price برای ابهام بالا: اختلاف Scope یا کاهش کیفیت محتمل میشود.
- سپردن حسابهای اصلی به فروشنده: خروج و Incident به همکاری او وابسته میشود.
- NDA بهجای Security: Access، Logging، Subcontractor و Offboarding بیپاسخ میماند.
- Launch بهعنوان پایان: Support، Content، Patch، Analytics و Improvement بودجه ندارند.
- Hybrid بدون Accountable owner: هر خطا به طرف دیگر نسبت داده میشود.
- نبود Pilot و Exit test: ریسک پس از تعهد بزرگ کشف میشود.
سوالات متداول تیم داخلی و برونسپاری
آیا برونسپاری همیشه ارزانتر از تیم داخلی است؟
خیر. برای پروژه محدود ممکن است تعهد ثابت کمتری داشته باشد، اما Discovery، مدیریت مشتری، Change، سرویسهای جانبی، Rework، Support و Exit میتواند نتیجه را عوض کند. هر دو مدل را با TCO و افق یکسان مقایسه کنید.
برای استارتاپ، فریلنسر بهتر است یا آژانس؟
به نوع عدم قطعیت و Capability مؤسسان بستگی دارد. فریلنسر برای بسته کاری محدود و مدیریت فنی قوی مناسب است؛ آژانس میتواند چند نقش و مدیریت Delivery بدهد. مسئله و Product decision نباید از تیم مؤسس خارج شود و Pilot پیش از قرارداد بزرگ لازم است.
Fixed price بهتر است یا Time and Materials؟
Fixed price برای Scope و پذیرش نسبتاً پایدار مناسب است. T&M برای Discovery و یادگیری انعطاف بیشتری دارد، به شرط شفافیت ظرفیت، اولویت و Forecast. مدل قیمتگذاری را با ابهام و اختیار کنترل ریسک هماهنگ کنید.
در مدل Hybrid چه نقشهایی بهتر است داخل سازمان بماند؟
معمولاً Product ownership، اولویت، دانش دامنه، مالکیت داده/دسترسی و تصمیم معماری یا امنیت حیاتی باید Accountable owner داخلی داشته باشد. اجرای طراحی، توسعه، QA یا تخصص محدود میتواند بیرونی باشد؛ مرز دقیق به ماهیت محصول بستگی دارد.
چگونه از وابستگی به شرکت طراحی سایت جلوگیری کنیم؟
Repository و حسابهای اصلی را سازمانی نگه دارید، Asset/License register بسازید، Export و Restore را تمرین کنید، Documentation و آموزش را Milestone پذیرش قرار دهید و Exit assistance، مهلت انتقال و هزینه آن را در قرارداد بنویسید.
جمعبندی: مدل تحویل را برای Outcome انتخاب کنید
تصمیم «تیم داخلی یا برونسپاری» استخدام در برابر خرید نیست؛ طراحی یک سیستم تحویل است. Demand را تعریف کنید، TCO و Cost of delay را در سناریوهای همسطح بسنجید، ریسک را به طرف قادر به کنترل آن بدهید، دارایی و دانش را قابل انتقال نگه دارید و با Pilot شواهد واقعی بسازید. پاسخ میتواند In-house، آژانس، فریلنسر، Managed team یا Hybrid باشد و با تغییر مرحله کسبوکار بازبینی شود.
اگر میخواهید Scope، Should-cost، مدل همکاری، Scorecard تأمینکننده و Pilot پروژهتان را مستقل از پیشنهاد فروش طراحی کنید، از طریق درخواست مشاوره مایندیو وضعیت فعلی و افق تصمیم را ارسال کنید.
مطالب مرتبط
- برآورد هزینه طراحی سایت از Scope تا Quote
- بودجه طراحی سایت و کنترل تغییر
- هزینههای پنهان طراحی و نگهداری سایت
- سایتساز یا طراح با TCO و Exit
- طراحی سایت کاربرپسند و UX QA
- طراحی پایپلاین امن CI/CD






