FutureForgeFutureForge

خدمات FutureForge

  • طراحی و ساخت محصولاز شناخت نیاز تا انتشار محصول، یک مسیر روشن پیش رو دارید.
  • توسعه فول‌استکوب‌اپلیکیشن، API و داده را هماهنگ و یکپارچه توسعه دهید.
  • ممیزی مهندسیپیش از هزینه‌ی بیشتر، از وضعیت واقعی محصول‌تان باخبر شوید.
  • مشاوره معماریپیش از یک تصمیم فنی پرهزینه، گزینه‌ها را درست بسنجید.
  • زیرساخت و استقرارمحصول را با خیال راحت منتشر کنید و پایدار نگه دارید.
  • هوش مصنوعی در محصولهوش مصنوعی را فقط جایی به کار می‌گیریم که مسئله‌ای را حل کند.
نمونه‌کارهاقیمت‌گذاریدرباره ما
شروع گفتگو
  1. خانه
  2. /یادداشت‌ها
  3. /یادداشت‌ها
FutureForge

استودیوی مهندسی محصول — طراحی، ساخت و استقرار نرم‌افزار.

خدمات

طراحی سایت با وردپرستوسعه اختصاصیمهندسی محصولزیرساخت و استقرارمشاوره معماریهوش مصنوعی در محصول

راهنمای انتخاب

قیمت‌گذاریتخمین هزینه پروژهمقایسه روش‌هانمونه‌کارهادرباره ماتماس

ارتباط

hello@futureforge.ir

ایده‌ای برای ساخت دارید؟

نیازتان را مطرح کنید تا درباره مسیر توسعه و قدم بعدی صحبت کنیم.

شروع گفتگو

© 2026 FutureForge. همه حقوق محفوظ است.

حریم خصوصیشرایط استفاده
خانهنمونه‌کارشروعتماس
مهندسی محصول

هزینهٔ ساخت وب‌اپلیکیشن را چگونه برآورد کنیم؟ روش بازه و سناریو

برآورد هزینهٔ وب‌اپلیکیشن را از یک عدد ثابت به یک بازهٔ قابل‌دفاع تبدیل کنید: اجزای هزینه، سه سناریو و راه‌های باریک‌کردن عدم‌قطعیت؛ بدون قیمت بازار.

سا
سهیل ابراهیم‌پور

بنیان‌گذار و مهندس محصول

·۲۶ مهر ۱۴۰۵·7 دقیقه مطالعه
هزینه وب اپلیکیشنبرآورد نرم‌افزارعدم‌قطعیت برآوردمدیریت پروژه نرم‌افزاری
میز کار با برگهٔ محاسبه، ماشین‌حساب و طرح ساده‌ای از اجزای یک وب‌اپلیکیشن

هزینهٔ ساخت وب‌اپلیکیشن را نمی‌شود با یک عدد ثابت از روی عنوان پروژه برآورد کرد؛ روش درست این است که هزینه را به اجزای قابل‌توضیح بشکنید، برای هر جزء یک بازه با فرض‌های روشن بنویسید و اجازه بدهید با شفاف‌شدن نیازمندی‌ها بازه باریک‌تر شود. در این مقاله هیچ قیمت بازاری نمی‌آید، چون عدد معتبر و تاریخ‌دار و قابل‌استناد برای بازار ایران در دسترس نبود؛ به‌جای آن، یک روش سناریویی می‌دهیم که با اعداد خودتان کار می‌کند.

چرا اولین برآورد همیشه یک بازه است، نه یک عدد؟

Steve McConnell در توضیح «مخروط عدم‌قطعیت» (Cone of Uncertainty) می‌نویسد: در آغاز پروژه، جزئیات نیازمندی‌ها، راه‌حل، برنامه و نیروی انسانی هنوز روشن نیست و همین ابهام به برآورد منتقل می‌شود. به نوشتهٔ Construx، برآوردی که در مرحلهٔ «ایدهٔ اولیه» ساخته شود می‌تواند تا ۴ برابر بیشتر یا ۴ برابر کمتر از واقعیت باشد (کل بازه ۱۶ برابر). این توصیف بهترین حالت دقت برای برآوردکنندگان ماهر است؛ برآورد ضعیف‌تر می‌تواند بدتر هم باشد.

پیام عملی مهم‌تر این است: «یک هفته وقت بدهید تا برآورد را دقیق‌تر کنیم» معمولاً جواب نمی‌دهد. Construx می‌گوید دقت برآورد به میزان شفافیت تعریف نرم‌افزار بستگی دارد و تنها راه کم‌کردن عدم‌قطعیت برآورد، کم‌کردن عدم‌قطعیت خود پروژه است؛ یعنی تصمیم‌گرفتن دربارهٔ چشم‌انداز، نیازمندی‌ها (از جمله اینکه چه چیزی ساخته نمی‌شود) و طراحی رابط. پس بهترین سرمایه‌گذاری قبل از قرارداد کامل، یک مرحلهٔ کشف کوتاه است. برای نحوهٔ نوشتن همین ورودی‌ها به برنامه‌ریزی پروژه پیش از نوشتن کد نگاه کنید.

هزینه از چه اجزایی ساخته می‌شود؟

برای اینکه عدد قابل‌دفاع باشد، آن را به اجزایی بشکنید که هرکدام فرض و مالک مشخصی دارند. جدول زیر فهرست پیشنهادی است، نه فهرستی از قیمت‌ها.

اجزای هزینه در ساخت وب‌اپلیکیشن و پرسش‌هایی که هرکدام را روشن می‌کنند
جزء هزینهپرسش کلیدیچه چیزی بازه را عریض می‌کند؟
کشف و تحلیلمسئله، کاربر و محدودهٔ نسخهٔ اول چیست؟نیازمندی‌های مبهم یا در حال تغییر
طراحی تجربه و رابطچند جریان اصلی و چند حالت (خطا، خالی، نقش‌ها) داریم؟نقش‌های متعدد، پنل مدیریت، چندزبانگی و راست‌چین
توسعهٔ بک‌اند و دیتابیسقوانین کسب‌وکار و مدل داده چقدر پیچیده است؟گزارش‌گیری، فرایندهای چندمرحله‌ای، همگام‌سازی داده
یکپارچگی با سرویس‌های بیرونیبا چه سامانه‌هایی (پرداخت، پیامک، حسابداری، CRM) ارتباط داریم؟مستندات ضعیف، محیط آزمایشی ناپایدار، تغییر API طرف مقابل
امنیت و حریم خصوصیچه دادهٔ حساسی ذخیره می‌شود؟نقش‌ها و مجوزها، ردگیری، الزامات سازمان مشتری
تست و کیفیتچه سطحی از آزمون خودکار و دستی لازم است؟جریان‌های مالی یا حساس، تنوع دستگاه‌ها
استقرار و زیرساختچند محیط، چه سطحی از دسترس‌پذیری و پشتیبان‌گیری؟هدف دسترس‌پذیری بالا، چندمحیطی بودن
مدیریت پروژه و ارتباطچه کسی تصمیم می‌گیرد و بازبینی چقدر طول می‌کشد؟چند ذی‌نفع با نظر متفاوت
نگه‌داری پس از انتشارچه کسی رفع اشکال، به‌روزرسانی و پایش را انجام می‌دهد؟وابستگی‌های قدیمی، نبود مستندات
وایت‌برد با ماتریس سه‌ستونی برای مقایسهٔ سناریوهای برآورد
ماتریس مفهومی: اجزای هزینه در برابر سه سناریو.

دو جزء معمولاً دست‌کم گرفته می‌شوند: یکپارچگی با سرویس‌های بیرونی و نگه‌داری. اولی چون فقط وقتی وارد کار شوید معلوم می‌شود طرف مقابل چه رفتاری دارد؛ دومی چون بعد از انتشار هم هزینه ادامه دارد. اگر دربارهٔ آمادگی انتشار مطمئن نیستید، مقالهٔ چه چیزی یک محصول نرم‌افزاری را Production-Ready می‌کند کمک می‌کند بدانید چه کارهایی پیش از «تمام‌شدن» باید دیده شوند.

هدف دسترس‌پذیری و کیفیت هم هزینه دارد

یکی از بزرگ‌ترین اهرم‌های هزینه، سطح قابلیت اطمینانی است که از سیستم انتظار دارید. کتاب Site Reliability Engineering گوگل می‌گوید هزینه با افزایش قابلیت اطمینان خطی بالا نمی‌رود و یک پله بهبود اضافه ممکن است ۱۰۰ برابر پله قبلی هزینه داشته باشد. پس «سایت همیشه بالا باشد» بدون عدد، یک درخواست بی‌سقف است. بنویسید چه میزان قطعی برای کسب‌وکار قابل‌تحمل است و بعد ببینید ارزشش از هزینهٔ بیشترش بیشتر است یا نه؛ همان منطق هزینه/فایدهٔ ساده‌ای که SRE برای انتخاب هدف دسترس‌پذیری پیشنهاد می‌دهد. این گزاره دربارهٔ سیستم‌های بزرگ گوگل است و عدد ۱۰۰ برابر را نباید قانون عمومی دانست؛ فقط یادآور غیرخطی‌بودن است.

روش سناریویی: سه عدد به‌جای یک عدد

برای هر جزء جدول بالا سه سناریو بنویسید:

  1. حداقل منطقی: نسخهٔ اول با کمترین قابلیت‌هایی که هنوز مشکل کاربر را حل می‌کند.
  2. مورد انتظار: قابلیت‌های اصلی به‌علاوهٔ حاشیهٔ معقول برای بازبینی و اشکال.
  3. گسترش‌یافته: قابلیت‌هایی که فقط در صورت موفقیت نسخهٔ اول ارزش دارند.

سپس برای هر سناریو، زمان کار تیم را بر اساس نقش‌ها تخمین بزنید و در نرخ همان نقش ضرب کنید؛ هزینهٔ سرویس‌های بیرونی، زیرساخت و نگه‌داری را جدا اضافه کنید. فرمول کلی، با واحدهای فرضی خودتان:

هزینهٔ سناریو = (جمع زمان نقش‌ها × نرخ هر نقش)
              + هزینهٔ سرویس‌ها و مجوزها
              + هزینهٔ زیرساخت دورهٔ ساخت
              + ذخیرهٔ ریسک (درصدی که خودتان با توجه به ناشناخته‌ها تعیین می‌کنید)
هزینهٔ سالانهٔ نگه‌داری = زیرساخت + پایش + زمان رفع اشکال و به‌روزرسانی

این فرمول یک چارچوب محاسبه است و منبعی آن را به‌عنوان استاندارد تأیید نکرده است؛ هر عددی که وارد می‌کنید باید از نرخ‌ها و تخمین‌های واقعی خودتان بیاید.

مثال فرضی و غیرواقعی (با «واحد» به‌جای پول): اگر برای یک جزء ۱۰ واحد کار در سناریوی حداقل و ۱۸ واحد در سناریوی مورد انتظار می‌بینید، اختلاف ۸ واحد همان چیزی است که باید دربارهٔ آن تصمیم بگیرید: «این ۸ واحد چه قابلیتی می‌خرد؟» این اعداد ساختگی‌اند و فقط برای نمایش روش آمده‌اند؛ نه دادهٔ پروژه، نه دادهٔ بازار.

چه کسی باید تخمین بزند؟

راهنمای Scrum می‌گوید Developerهایی که کار را انجام می‌دهند مسئول اندازه‌گیری (sizing) هستند و Product Backlog فهرستی در حال تکامل است. معنای عملی‌اش برای خریدار: برآورد را از کسانی بخواهید که قرار است کار را بسازند، نه فقط از فروشنده. و انتظار نداشته باشید فهرست قابلیت‌ها از روز اول ثابت بماند؛ اگر بعضی قابلیت‌ها در سناریوی «گسترش‌یافته» هستند، نتیجهٔ طبیعی یک backlog اولویت‌بندی‌شده است.

بازه چطور باریک می‌شود؟

طبق توضیح Construx، با تصمیم‌هایی که ابهام را حذف می‌کنند مخروط باریک می‌شود: تعریف چشم‌انداز (از جمله چیزهایی که ساخته نمی‌شوند)، تعریف نیازمندی‌ها و طراحی رابط. همان منبع می‌گوید راه میانی رایج این است که تا حدود ۳۰٪ زمان تقویمی پروژه (عبور از طراحی رابط) نسبتاً ترتیبی جلو بروند و بعد به‌صورت تکرارشونده ادامه دهند؛ این رویکرد عدم‌قطعیت را تا حدود ±۲۵٪ می‌رساند. این رقم دربارهٔ نوع خاصی از مدل کار است و تضمینی برای پروژهٔ شما نیست، اما نشان می‌دهد چرا مرحلهٔ کشف و طراحی اولیه ارزان‌ترین راه کم‌کردن ریسک مالی است.

  • قبل از قرارداد کل، یک مرحلهٔ کشف و طراحی با خروجی مکتوب جدا قیمت‌گذاری کنید.
  • فهرست «چیزهایی که ساخته نمی‌شود» را بنویسید.
  • تصمیم‌های بلندمدت را بعد از شفاف‌شدن جریان‌های اصلی ببندید، نه قبل.
  • برای مرحله‌های بعد، بازبرآورد دوره‌ای در قرارداد بگنجانید.

اشتباه‌های رایج در برآورد هزینه

  • مقایسهٔ دو پیشنهاد بدون یکسان‌کردن محدوده؛ یکی ارزان است چون چیز کمتری می‌سازد.
  • فراموش‌کردن هزینهٔ سالانهٔ نگه‌داری، زیرساخت و مجوزها.
  • تکیه بر «عدد شبیه پروژهٔ دیگر» بدون بررسی تفاوت نقش‌ها، یکپارچگی‌ها و حساسیت داده.
  • نداشتن ذخیرهٔ ریسک برای ناشناخته‌ها.
  • قطعی‌کردن بودجه پیش از بسته‌شدن جریان‌های اصلی.

اگر بین ساخت اختصاصی و راهکار آماده مردد هستید، چگونه تکنولوژی مناسب یک پروژه را انتخاب کنیم و انتخاب معماری وب‌اپلیکیشن دو مسیر مکمل‌اند، چون پشته و معماری مستقیم روی ردیف‌های جدول بالا اثر می‌گذارند.

قدم بعدی

یک جدول با ردیف‌های بالا و سه ستون سناریو بسازید و اول فقط «فرض‌ها» را پر کنید. برای یک برآورد اولیه در سایت ما می‌توانید تخمین هزینهٔ پروژه را امتحان کنید، و اگر ایده‌تان به یک محصول دیجیتال کامل نزدیک است، صفحهٔ طراحی و ساخت محصول را ببینید. این‌ها فقط نقطهٔ شروع گفت‌وگو هستند، نه قیمت قطعی.

منابع و مراجع

  • Software Development's Cone of Uncertainty — Steve McConnell، Construx، White Paper نسخهٔ ۱، ژانویهٔ ۲۰۱۰.
  • Embracing Risk — Site Reliability Engineering، Google.
  • The Scrum Guide — Ken Schwaber و Jeff Sutherland، نسخهٔ نوامبر ۲۰۲۰.

نویسنده

سا

سهیل ابراهیم‌پور بنیان‌گذار FutureForge است. روی طراحی محصول، معماری و استقرار نرم‌افزار سفارشی کار می‌کند.

یادداشت‌های مرتبط

یادداشت‌های مرتبط

دسته‌بندی‌ها

خدمات مرتبط

از یادداشت تا پروژه

اگر با مسئله‌ای شبیه این روبه‌رو هستید، درباره‌ی شرایط پروژه‌تان با هم صحبت کنیم.

برای انتخاب مسیر فنی پروژه‌تان کمک می‌خواهید؟

از مسئله و محدودیت‌هایتان بگویید؛ اگر بتوانیم همراهی‌تان کنیم، برای گفت‌وگو هماهنگ می‌کنیم.

سهیل ابراهیم‌پور
یادداشت‌ها
شرح نیازمندی نرم‌افزار قابل‌تخمین: الگو و چک‌لیست
طراحی لندینگ پیج شرکتی: مسیر روشن از پیام تا تماس
طراحی منوی سایت فارسی و راست‌چین: ملاحظات فنی و دسترس‌پذیری
اعتبارسنجی فرم: مرورگر، سرور یا هر دو؟
پیش از انتخاب پیمانکار نرم‌افزار چه سؤال‌های فنی بپرسیم؟

مهندسی محصول

شرح نیازمندی نرم‌افزار قابل‌تخمین: الگو و چک‌لیست

۲۶ مهر ۱۴۰۵

مهندسی محصول

طراحی لندینگ پیج شرکتی: مسیر روشن از پیام تا تماس

۲۶ مهر ۱۴۰۵

مهندسی محصول

طراحی منوی سایت فارسی و راست‌چین: ملاحظات فنی و دسترس‌پذیری

۲۶ مهر ۱۴۰۵

مهندسی محصول

اعتبارسنجی فرم: مرورگر، سرور یا هر دو؟

۲۶ مهر ۱۴۰۵

مهندسی محصول

پیش از انتخاب پیمانکار نرم‌افزار چه سؤال‌های فنی بپرسیم؟

۲۶ مهر ۱۴۰۵
همه یادداشت‌ها239
معماری نرم‌افزار13
واژه‌نامه37
عملیات و استقرار87
مهندسی محصول90
راهنمای وب12
طراحی و ساخت محصول
توسعه فول‌استک
ممیزی مهندسی
مشاوره معماری
زیرساخت و استقرار
شروع گفتگو
ابزارهای رایگان
شروع گفتگو