اگر فرایند شما استاندارد است و میخواهید زود شروع کنید، راهکار آماده (SaaS یا غیر SaaS) معمولاً منطقیتر است. اگر فرایندتان مزیت رقابتیتان است یا به قید و بند داده و یکپارچهسازی خورده، نرمافزار سفارشی ارزش بررسی دارد. تصمیم به سه متغیر گره خورده است: فاصلهٔ فرایند شما از استاندارد، افق استفاده و توان فنی داخلی.
این مقاله برای مدیر یا صاحب کسبوکاری است که پیش از تماس با شرکتهای نرمافزاری یا خرید اشتراک، چارچوبی برای انتخاب میخواهد. در پایان میتوانید با یک ماتریس و یک چکلیست دهسؤالی بگویید کدام مسیر به وضع شما میخورد.
همه میگویند راهکار آماده سریعتر و ارزانتر است و نرمافزار سفارشی یعنی مالکیت کامل. در عمل هر دو جمله فقط تحت فرضهای مشخص درست است. آمادهای که برای جبران کمبودهایش سه افزونه و دو راهحل موقت گرفته، گاهی از یک ماژول سفارشیِ کوچک گرانتر و کندتر درمیآید. سفارشیای که قرارداد تحویل سورس و مستندات ندارد هم مالکیتش روی کاغذ است، نه در واقع. در ادامه بهجای حکم کلی، فرضها و نشانهها را کنار هم میگذاریم.
معیارهای مقایسه: چرا این ده معیار و نه فهرست بلند ویژگیها
ما ده معیار انتخاب کردهایم: هزینهٔ اولیه، هزینهٔ کل مالکیت، زمان راهاندازی، سفارشیسازی، یکپارچهسازی، نگهداری، مقیاسپذیری، امنیت، کنترل داده و وابستگی به تأمینکننده. دلیلش ساده است: هر کدام مستقیماً به یک تصمیم مالی یا یک ریسک عملیاتی گره میخورد. رنگ داشبورد، تعداد گزارشهای آماده و شمار قالبها حذف شدهاند، چون هیچکدام تعیین نمیکنند سه سال بعد از این انتخاب پشیمان میشوید یا نه. ما در رتبهبندی شرکتها هم همین منطق را دنبال میکنیم: معیارِ اعلامشده، نه صفت. جزئیاتش در روش رتبهبندی وانوریکس آمده است.
ابتدا تفکیک مفهومی: SaaS مدل ارائه است، نه هممعنای «نرمافزار آماده»
SaaS یعنی نرمافزار را بهصورت سرویس و معمولاً با اشتراک ماهانه یا سالانه از سرور تأمینکننده استفاده میکنید. اما نرمافزار آماده میتواند نصبشونده روی سرور خودتان (On-premise) هم باشد، یا پلتفرمی باشد که با افزونه و Low-code سفارشی میشود. طرف مقابل هم یک نوع نیست: سفارشی میتواند از صفر ساخته شود یا روی یک هسته آماده. پس سؤال دقیقتر این است که فرایند کجا باید دست شما باشد و کجا میشود به استاندارد تکیه کرد.
هزینهٔ اولیه در برابر هزینهٔ کل مالکیت
هزینهٔ اولیه فقط ورودی است؛ هزینهٔ کل مالکیت (TCO) کل مدت استفاده را میشمارد. برای هر دو گزینه مؤلفهها اینهاست: توسعه، اشتراک، مجوز، نگهداری، یکپارچهسازی، مهاجرت و هزینهٔ فرصت (زمانی که تیم صرف کار با ابزار نامناسب میکند). در سفارشی، سنگینیِ هزینه معمولاً روی توسعه و نگهداری میافتد. در SaaS روی اشتراک جاری و یکپارچهسازی و مهاجرت. ما اینجا عدد نمیدهیم، چون عدد بدون فرضِ اندازهٔ تیم، حجم داده و افق استفاده گمراهکننده است. برای برآورد بودجه با فرضهای روشن، راهنمای برآورد هزینهٔ طراحی اپلیکیشن در ایران نقطهٔ شروع خوبی است.
زمان راهاندازی، سفارشیسازی و یکپارچهسازی
راهاندازی آماده معمولاً کوتاهتر است، به شرط اینکه فرایند شما به پیشفرضهای محصول نزدیک باشد. هرچه از آن دور شوید، زمان صرف تنظیم، افزونه و حلوفصل محدودیتها میشود. یکپارچهسازی هم همینطور است: اگر API خوب و مستند دارد، ساده است؛ اگر با سیستمهای بومی مثل حسابداری داخلی یا درگاههای پرداخت ایرانی باید حرف بزند، باید از همان اول بپرسید این اتصال چطور برقرار میشود.
نگهداری، مقیاسپذیری، امنیت، کنترل داده و وابستگی به تأمینکننده
این پنج معیار را با هم میخوانیم چون همگی دربارهٔ «بعد از تحویل» هستند. در سفارشی، نگهداری با شماست یا شرکتی که قراردادش را دارید. در SaaS، با تأمینکننده. امنیت و مقیاسپذیری در هیچکدام ذاتی نیست؛ به معماری، فرایند توسعه و شرایط ارائهدهنده بستگی دارد. وابستگی (Vendor Lock-in) هم هر دو سمت را درگیر میکند: گاهی به یک شرکت سازنده، گاهی به یک پلتفرم.
جدول مقایسه: توسعه اختصاصی، راهکار آماده، گزینه ترکیبی
جدول زیر ده معیار را برای سه گزینه کنار هم میگذارد. هیچ خانهای عدد ندارد و هر خانه میگوید حکمش «بسته به چه چیزی» است.
| معیار | نرمافزار سفارشی | راهکار آماده (SaaS یا نصبشونده) | گزینهٔ ترکیبی |
|---|---|---|---|
| هزینهٔ اولیه | معمولاً بالاتر؛ بسته به دامنهٔ کار و تیم سازنده | معمولاً پایینتر؛ بسته به تعداد کاربر و مجوز | میانه؛ بسته به اندازهٔ لایهٔ سفارشی |
| هزینهٔ کل مالکیت | نگهداری و بدهی فنی تعیینکننده است؛ بسته به افق استفاده | اشتراک جاری و هزینهٔ افزونهها؛ بسته به رشد کاربران و نیازها | جمع دو مؤلفه؛ بسته به اینکه رابطها چقدر پایدار بمانند |
| زمان راهاندازی | بیشتر؛ بسته به شفافیت نیازمندی | کمتر؛ بسته به نزدیکی فرایند به استاندارد | میانه؛ بسته به تعداد اتصالها |
| سفارشیسازی | بالا؛ بسته به اینکه مالک محصول داشته باشید | محدود به امکانات پلتفرم؛ بسته به API و افزونه | بالا در لایهٔ خودتان، محدود در هستهٔ آماده |
| یکپارچهسازی | قابل طراحی دقیق؛ بسته به مستندات سیستمهای طرف مقابل | سریع با ابزارهای رایج؛ دشوار با سیستمهای بومی | معمولاً از طریق API؛ بسته به پایداری آن |
| نگهداری | بر عهدهٔ شما یا پیمانکار؛ بسته به SLA و مستندات | عمدتاً بر عهدهٔ تأمینکننده؛ بسته به شرایط پشتیبانی | دو سطح نگهداری؛ بسته به مرز مسئولیت |
| مقیاسپذیری | به معماری بستگی دارد، نه به سفارشیبودن | به طرحها و سقفهای سرویس بستگی دارد | به ضعیفترین حلقه بستگی دارد |
| امنیت | به معماری و فرایند توسعه بستگی دارد؛ ذاتاً امنتر نیست | به شرایط ارائهدهنده بستگی دارد؛ ذاتاً ناامنتر هم نیست | سطح تماس بیشتر؛ بسته به مدیریت دسترسی میان دو بخش |
| کنترل داده | بسته به محل میزبانی و بندهای قرارداد | بسته به امکان خروجیگرفتن و محل نگهداری داده | بسته به اینکه داده در کدام بخش ساکن است |
| وابستگی به تأمینکننده | به تیم سازنده، اگر کد و مستندات دست شما نباشد | به پلتفرم، قیمت و شرایطش | به هر دو، در مقیاسی کوچکتر |
چطور جدول را بخوانیم: «بسته به چه چیزی» در هر خانه صریح نوشته شده
جدول حکم نهایی نمیدهد؛ میگوید برای هر معیار چه چیزی را از طرف مقابل بپرسید. «بسته به مستندات» یعنی پیش از قرارداد بخواهید نمونهٔ مستندات را ببینید. «بسته به امکان خروجی» یعنی پیش از خرید یک خروجی آزمایشی بگیرید.
ماتریس تصمیم سهمتغیره (فاصله فرایند از استاندارد، افق استفاده، توان فنی)
برای رسیدن از جدول به تصمیم، سه محور را تعریف کنید. فاصلهٔ فرایند از استاندارد: اگر بیش از نیمی از کار روزانه با گامهای دستی بیرون از ابزار انجام میشود، فاصله زیاد است. افق استفاده: آیا این ابزار باید چند سال بماند یا فقط تا اعتبارسنجی یک فرضیه؟ توان فنی و نگهداری: آیا کسی را دارید که نقش مالک محصول و مالک فنی را بر عهده بگیرد؟
| فاصله از استاندارد | افق استفاده | توان فنی و نگهداری | گزینهٔ پیشنهادی | نشانهٔ عینی |
|---|---|---|---|---|
| کم | کوتاه یا بلند | ندارید | آماده | ابزارهای موجود بدون افزونهٔ اضافی کار شما را پوشش میدهند |
| کم | بلند | دارید | آماده، با نگاه به API | توان فنی صرف اتصال و گزارش میشود، نه ساخت |
| زیاد | کوتاه | ندارید | آماده یا ساخت حداقلی (MVP) | هنوز مطمئن نیستید فرایند ماندگار است |
| زیاد | بلند | ندارید | ترکیبی، با پیمانکار و قرارداد روشن | فرایند خاص است اما ظرفیت نگهداری داخلی ندارید |
| زیاد | بلند | دارید | سفارشی | فرایند مزیت رقابتی است و مالک محصول مشخص است |
| متوسط | بلند | دارید | ترکیبی | بخشی از فرایند استاندارد است و بخشی خاص |
اگر ترکیب شما در هیچ ردیف نیست، به نزدیکترین ردیف نگاه کنید و ببینید کدام محور را مطمئن نیستید. همان محور را اول روشن کنید.
توسعه اختصاصی: کجا واقعاً برنده است و کجا نه
نرمافزار سفارشی وقتی برنده است که ساختنش چیزی بدهد که خریدنش نمیدهد. اگر این شرط نباشد، فقط خرج و مسئولیت اضافه کردهاید.
وقتی فرایند، مزیت رقابتی شماست
فرایند منحصربهفرد، نیاز به یکپارچهسازی عمیق با سیستمهای داخلی، و الزام به کنترل کامل روی داده و محل ذخیرهاش سه نشانهٔ روشناند. در عمل دیدهایم سازمانهایی که قیمتگذاری، مسیر سفارش یا قواعد تأییدشان تفاوت اصلی آنها با رقیب است، وقتی همین بخش را در قالب یک ابزار عمومی چپاندهاند، مجبور شدهاند فرایند را به ابزار تطبیق دهند و نه برعکس.
هزینههای پنهان: نگهداری، بدهی فنی، وابستگی به تیم سازنده
سفارشی با تحویل تمام نمیشود. باید باگها رفع شوند، سیستم با تغییر فرایند بهروز شود و وابستگیهای فنی عقب نمانند؛ اگر نه، بدهی فنی انباشته میشود. بدون تیم یا مالک محصول، نرمافزار سفارشی معمولاً بعد از چند ماه به ابزاری تبدیل میشود که کسی جرئت دستزدن به آن را ندارد. افق کوتاه هم سفارشی را کمتوجیه میکند. اگر برای نگهداری، پشتیبانی یا زیرساخت کمک لازم دارید، خدمات پشتیبانی آیتی گزینهٔ بررسی است.
مالکیت کد و داده: فقط وقتی در قرارداد نوشته شده باشد
«سفارشی یعنی مالکیت کامل» باوری است که باید با قرارداد آزمود. مالکیت واقعی به این بندها بستگی دارد: تحویل سورس، حق بهرهبرداری، وابستگی به کتابخانهها و مجوزهای آنها، مستندات، و دسترسی به مخزن کد. اگر یکی از اینها نباشد، حتی با پرداخت کامل ممکن است در عمل به همان شرکت سازنده وابسته بمانید. برای یافتن و مقایسهٔ تیمهای توسعه، صفحهٔ شرکتهای برنامهنویسی و توسعه نرمافزار را ببینید.
نشانههای اینکه سفارشی شدن اشتباه بوده
- فهرستی از ویژگیها که کسی در تیم از آنها استفاده نمیکند.
- وابستگی به یک نفر که تنها او ساختار سیستم را میداند.
- نبود مستندات، بهطوری که تغییر ساده هم نیازمند پرسیدن از سازنده است.
- فرایندی که هیچ تفاوتی با استاندارد ندارد، اما برایش از صفر ساخته شده است.
بحث ما اینجا تصمیم کسبوکاری است. انتخاب زبان و فریمورک کار تیم فنی و شرکت پیمانکار است و مقاله وارد آن نمیشود؛ اگر مفاهیم پایه را لازم دارید، راهنمای برنامهنویسی برای مدیران کسبوکار کافی است.
راهکار آماده و SaaS: کجا برنده است و کجا نه
راهکار آماده وقتی برنده است که نیاز شما همان نیاز بقیه است و مشکل اصلیتان وقت است، نه تفاوت.
مزیتها: راهاندازی سریعتر در فرایندهای استاندارد
حسابداری پایه، CRM ساده، مدیریت پروژه و ایمیل مارکتینگ نمونههای روشناند. اگر تیم فنی ندارید و میخواهید زود شروع کنید، این ابزارها بار تصمیم و نگهداری را از شما برمیدارند. اگر حسابداری در دستور کار است، خدمات حسابداری هم میتواند بخشی از پاسخ باشد و لازم نیست همهچیز را نرمافزاری کرد.
محدودیتها: سفارشیسازی، یکپارچهسازی و قفلشدن در تأمینکننده
وقتی فرایند خاص است، یکپارچهسازی با سیستمهای بومی لازم میشود یا حساسیت قانونی بر محل نگهداری داده وجود دارد، آماده زود به سقف میرسد. نشانههای اشتباه هم روشن است: افزونههایی که برای جبران کمبود روی هم انباشته میشوند، فرایند کاری که بهخاطر ابزار تغییر کرده، و ناتوانی در خروجیگرفتن کامل داده.
هزینهٔ جاری و تغییر قیمت یا شرایط
مدل اشتراکی یعنی هزینهٔ جاری و وابستگی مداوم، نه لزوماً ارزانتر. اگر تأمینکننده قیمت یا شرایط را عوض کند، چانهزنی چندانی ندارید. این را از همان ابتدا در محاسبهٔ TCO بیاورید.
خروج از سرویس: امکان خروجیگرفتن داده و فرمت آن
پیش از خرید بپرسید: آیا همهٔ داده، نه فقط بخشی از آن، قابل خروجی است؟ در چه فرمتی؟ آیا روابط میان دادهها (مثلاً مشتری و سفارشهایش) حفظ میشود؟ یک خروجی آزمایشی در دورهٔ آزمون، سادهترین راه راستیآزمایی است.
ملاحظات ویژه ایران: دسترسی، پرداخت، انتقال داده و گزینه ترکیبی
برای کسبوکار ایرانی، چند ریسک وجود دارد که در مقایسههای جهانی دیده نمیشود. اینها پاورقی نیستند و میتوانند نتیجهٔ مقایسه را عوض کنند.
دسترسی و پایداری سرویسهای خارجی از ایران
برخی سرویسهای خارجی ممکن است بهدلیل تحریم یا سیاست خودشان دسترسی را محدود کنند. ما در این باره عدد یا آماری ارائه نمیکنیم چون منبع معتبری در دست نداریم؛ اما ریسک کیفی روشن است: اگر ابزار هستهٔ کار شماست، قطع ناگهانی آن میتواند کار را متوقف کند.
پرداخت اشتراک و ریسک قطع سرویس
پرداخت ارزی برای اشتراک خارجی محدودیتها و واسطههای خودش را دارد. اگر پرداخت یک ماه مختل شود، ممکن است دسترسی شما قطع شود، حتی بدون اینکه دادههایتان در خطر باشد. این را در کنار هزینهٔ اشتراک در برآورد ریسک بگذارید.
انتقال و میزبانی داده: داخل یا خارج؟
SaaS داخلی یا نرمافزار نصبشونده روی سرور خودتان ریسک دسترسی را کم میکند، اما مسئولیت میزبانی، پشتیبانگیری و امنیت را به شما یا شریک میزبانیتان میدهد. برای این بخش، هاستینگ سرور اختصاصی را بررسی کنید.
گزینهٔ ترکیبی: هسته آماده و لایه سفارشی
ابزار آماده برای بخشهای استاندارد و یک ماژول سفارشی روی API یا افزونه برای بخش خاص، در عمل رایجترین مسیر است. منطقی است وقتی بخشی از فرایند شما استاندارد است و بخشی تفاوتساز. اما اگر رابطها ناپایدار باشند یا ماژول سفارشی بیش از حد بزرگ شود، فقط دو مجموعه نگهداری و یک نقطهٔ شکست اضافه کردهاید.
پیش از امضای قرارداد یا خرید اشتراک، ساختار داده را مستند کنید و مطمئن شوید خروجی گرفتن ممکن است. طرح خروج داشتن یعنی انتخابتان برگشتپذیر است.
کدام برای شما: سه سناریوی بازار ایران، چکلیست و قدم فردا صبح
سه موقعیت زیر را بخوانید و ببینید به کدام شبیهاید. هیچکدام نام یا عددی از شرکت خاصی ندارند، چون هدف مثالزدن منطق تصمیم است.
استارتاپ در مرحله اعتبارسنجی
تصمیم: ابزار آماده یا ساخت حداقلی (MVP). دلیل: هنوز نمیدانید فرایند ماندگار است یا نه، پس هزینهٔ ساخت و نگهداری ریسک بیدلیل است. نقطهٔ شکست: وقتی فرضیه تأیید شد و فرایند به مزیت تبدیل گشت، ماندن روی ابزار آماده سقف رشد را میبندد. آنوقت سفارشی یا ترکیبی ارزش دارد.
کسبوکار با فرایندهای استاندارد
مثلاً یک فروشگاه یا شرکت خدماتی با حسابداری و CRM معمول. تصمیم: آماده. دلیل: فرایند شما شبیه بقیه است و سفارشیکردن هزینهای بدون مزیت است. نقطهٔ شکست: اگر بیش از چند افزونه یا راهحل موقت لازم شد، بازنگری کنید؛ یعنی فرایندتان از استاندارد دورتر از چیزی است که فکر میکردید.
سازمان با نیازهای خاص و حساسیت داده
مثلاً زنجیرهٔ تأمین یا فرایندی مجوزدار. تصمیم: سفارشی یا ترکیبی. دلیل: فرایند تفاوتساز است و کنترل داده اهمیت دارد. شرط: قرارداد با مالکیت، SLA و مستندات روشن. نقطهٔ شکست: نبود مالک محصول و ظرفیت نگهداری، که همین سیستم را بعد از تحویل بیصاحب میکند.
چکلیست انتخاب در ده سؤال
به هر سؤال با «بله» یا «خیر» پاسخ بدهید.
- آیا بیش از نیمی از کار روزانه با گامهای دستی بیرون از ابزار انجام میشود؟
- آیا فرایند اصلی شما با رقبا تفاوت جدی دارد و این تفاوت مزیت شماست؟
- آیا قرار است این ابزار بیش از چند سال بماند؟
- آیا مالک محصولی دارید که تصمیمها را بگیرد؟
- آیا ظرفیت فنی برای نگهداری (داخلی یا پیمانکار) وجود دارد؟
- آیا دادهها حساساند یا الزامی دربارهٔ محل نگهداری آنها هست؟
- آیا قطع دسترسی یا پرداخت سرویس خارجی کار شما را متوقف میکند؟
- آیا خروجی کامل داده از ابزار آماده را راستیآزمایی کردهاید؟
- آیا قرارداد مالکیت کد، تحویل سورس و مستندات را شفاف میکند؟
- آیا بودجهٔ نگهداری، نه فقط ساخت یا خرید، را در نظر گرفتهاید؟
اگر پاسخ «بله» به سؤالهای اول، دوم و چهارم و پنجم همزمان دادهاید، به ردیفهای سفارشی و ترکیبی در ماتریس نزدیکاید. اگر عمدتاً «خیر» است، آماده انتخاب منطقیتر است. پاسخهای «بله» به سؤال ششم و هفتم هم ترازو را به سمت میزبانی داخلی یا نصبشونده میبرد.
قدم فردا صبح
سه فرایند اصلی کسبوکارتان را بنویسید و هرکدام را «استاندارد» یا «خاص» برچسب بزنید. این فهرست را به ماتریس بدهید و بر اساس نتیجه از دو یا سه تأمینکننده پیشنهاد بگیرید. اگر به سمت ساخت میروید، ابتدا راهنمای برآورد هزینهٔ توسعه را مرور کنید تا فرضهای بودجه را روشن بنویسید و بعد با پیمانکار حرف بزنید.
پرسشهای متداول
اگر امروز با نرمافزار آماده شروع کنم، بعداً میتوانم به نرمافزار سفارشی مهاجرت کنم؟
پیش از انتخاب نهایی، یک پایلوت کوچک چطور طراحی کنم؟
اگر اشتراک یک سرویس خارجی بهخاطر پرداخت ارزی مشکل پیدا کند، جایگزین داخلی را از کجا شروع کنم؟
هزینهٔ نگهداری سالانهٔ نرمافزار سفارشی را چطور از پیمانکار برآورد بگیرم؟
برای ارزیابی پیمانکار توسعهٔ نرمافزار، پیش از قرارداد چه مدرکی بخواهم؟
به این مقاله امتیاز دهید
اولین نفری باشید که امتیاز میدهد
درباره نویسنده




