کِی ساخت اختصاصی درست است
نه همیشه. اگر فرآیند شما همان چیزی است که یک نرمافزار آماده فرض کرده، بخریدش؛ ساختن دوبارهٔ چیزی که موجود و آزموده است تصمیم بدی است و ما هم همین را میگوییم.
ساخت اختصاصی وقتی توجیه دارد که یکی از این دو درست باشد:
- فرآیند شما خودش بخشی از مزیت رقابتیتان است. در این حالت تطبیق دادن آن با فرضیات یک نرمافزار آماده یعنی کنار گذاشتن همان چیزی که شما را متمایز میکند.
- هزینهٔ تحمیلشده برای تطبیق سازمان با نرمافزار آماده — کارهای دستی جانبی، اکسلهای موازی، افزونههای سفارشی و مجوزهایی که هر سال گرانتر میشوند — از هزینه ساخت بیشتر شده است.
چه میسازیم
- پنل مدیریتی و سامانههای داخلی: ابزار کار روزمرهٔ تیم شما، با نقشها و سطوح دسترسی واقعی سازمان.
- CRM اختصاصی: مدیریت مشتری بر اساس چرخهٔ فروش خودتان، نه چرخهای که یک شرکت دیگر تعریف کرده.
- ERP و ماژولهای عملیاتی: انبار، سفارش، تولید و مالی — یا اتصال به سامانه مالی موجود، اگر عوض کردنش لازم نباشد.
- API و یکپارچهسازی: رابط برنامهنویسی مستند برای اتصال به سامانههای دیگر، اپلیکیشن موبایل یا شرکای تجاری.
- پرتال مشتری: جایی که کارفرمای شما وضعیت کار خودش را میبیند، بدون آنکه لازم باشد کسی تلفن را جواب بدهد.
- بازطراحی سامانه موجود: پایدارسازی و مهاجرت تدریجی سامانهای که تیم دیگری نوشته است.
ترتیب کار، که وارونهٔ معمول است
اول مرز سرویسها، مدل داده، سیاست دسترسی و مسیر خطا نوشته میشود، بعد کد. این کار شروع پروژه را کندتر و ماه ششم را بهمراتب ارزانتر میکند — و تفاوت میان سامانهای که با شما رشد میکند و سامانهای که باید دوباره از صفر نوشته شود، دقیقاً همینجا تعیین میشود.
مدل داده مهمترین تصمیم پروژه است و کمبرگشتپذیرترینشان. رابط کاربری را میشود ماه بعد عوض کرد؛ مدل دادهای که غلط طراحی شده باشد، تا آخر عمر سامانه هزینه میگیرد — به شکل گزارشهایی که نمیشود گرفت و قابلیتهایی که «فعلاً نمیشود».
تحویل تدریجی است: هر چرخه چیزی قابل استفاده بیرون میدهد، مهاجرت بدون قطعی سرویس فعلی انجام میشود، و در پایان هر مرحله تصمیم ادامه با شماست — نه با قراردادی که یک سال جلوتر امضا شده است.
مالکیت کد
مخزن کد، مستندات معماری، اسکریپتهای استقرار و کلیدها روی حسابهای خودتان قرار میگیرد — از روز اول، نه در جلسه تحویل. اگر فردا تصمیم بگیرید کار را با تیم دیگری ادامه دهید، چیزی نزد ما نمیماند که مانعتان شود.
این بند شعار نیست؛ در قرارداد هست. سامانهای که برای ادامه حیاتش به پیمانکارش وابسته باشد، محصول خوبی نیست؛ گروگان است.
چه چیزی تحویل میگیرید
- سامانه در حال بهرهبرداری، با تست خودکار و مسیر استقرار تکرارپذیر.
- سند معماری و مدل داده، قابل خواندن برای تیم فنی بعدی.
- مستندات API، اگر سامانه رابط برنامهنویسی دارد.
- مخزن کد و اسکریپتهای استقرار روی حسابهای خودتان.
- پایش، هشدارگذاری و پاسخ به رخداد در چارچوب توافق سطح خدمت.
پرسشهای متداول
نرمافزار آماده بخریم یا اختصاصی بسازیم؟
اگر فرآیند شما همان چیزی است که نرمافزار آماده فرض کرده، بخرید — ساختن دوبارهٔ چیزی که موجود است تصمیم بدی است. ساخت اختصاصی وقتی توجیه دارد که فرآیند شما خودش مزیت رقابتی باشد، یا وقتی هزینه تحمیلشدهٔ تطبیق سازمان با نرمافزار آماده از هزینه ساخت بیشتر باشد. این را در جلسه ارزیابی صادقانه میگوییم.
روی سامانهای که تیم دیگری نوشته هم کار میکنید؟
بله. بخش بزرگی از پروژهها بازطراحی و پایدارسازی سامانههای موجود است؛ کار با ممیزی کد و زیرساخت شروع میشود و مهاجرت گامبهگام و بدون قطعی سرویس انجام میگیرد.
اگر بخواهیم همکاری را قطع کنیم چه اتفاقی میافتد؟
سامانه کار میکند و شما همهچیز را در اختیار دارید: مخزن کد، مستندات معماری، اسکریپتهای استقرار و کلیدها روی حسابهای خودتان است. هیچ قطعهای نزد ما نمیماند که ادامه کار را وابسته به ما کند.
چقدر طول میکشد و چقدر هزینه دارد؟
برآورد پیش از طراحی معماری، حدس است. بنابراین مرحله اول کوتاه و با هزینه مشخص انجام میشود و خروجی آن سند معماری همراه با برآورد زمان و هزینه مراحل بعد است. در پایان همان مرحله، تصمیم ادامه با شماست.
راهکارهای مرتبط
اگر آنچه لازم دارید یک سامانه کامل نیست بلکه خودکار کردن چند کار تکراری است، اتوماسیون کسبوکار مسیر ارزانتری است. سامانه ساختهشده باید جایی مستقر شود و پایش داشته باشد؛ آن بخش در زیرساخت و پایش است.