برآورد هزینه نرم افزار سفارشی خیلی مهمه که اگه منصفانه و دقیق انجام نشه ممکنه مشتریهاتون به مرور زمان کاهش پیدا کنن. همچنین بهتره بدونین برای تعیین تعرفه نرم افزار سفارشی فرمول مشخصی وجود نداره و حتی گاهی اوقات مشتری محوره یعنی بستگی به نوع مشتری داره.
شاید بپرسین پس تکلیفمون چیه؟ چطوری میتونیم هزینه کاری که قراره انجام بدیم رو تخمین بزنیم و عددی رو به عنوان هزینه نرم افزار سفارشی به مشتری ارائه بدیم؟
خبر خوب اینه که در این مطلب قراره راجع به چندتا فاکتور اساسی و موثر صحبت کنیم که به تعیینِ دقیقترِ هزینه نرم افزار سفارشی کمک میکنه و در نتیجه میتونید بهترین و سریعترین تصمیم رو بگیرین.
نرخ بازگشت سرمایه یا آر او آی دلیل خیلی مهمیه که نشون میده چرا باید درک درستی از قیمت اپلیکیشن سفارشی داشته باشین.
بریم سراغ بحث اصلی مطلبمون:
عوامل تعیین کننده در هزینه نرم افزار سفارشی:
عوامل زیادی در تعیین تعرفه طراحی نرم افزار موثرند. فارغ از این که در کدوم کشور کار میکنین و سطح تخصص توسعه دهنده هایی که استخدام کردین چقدره، عواملی وجود دارن که با بررسی اونها میتونین تعرفه نرم افزار سفارشی خودتون رو تخمین بزنین:
این نرم افزار سفارشی قراره چقدر پیچیده باشه؟
اول از همه بگیم که منظورمون از پیچیدگی اپلیکیشن یا نرم افزار (Application / Software Complexity) تعامل برنامه ای که باید نوشته بشه و برنامه نویس طی فرایند های مختلف توسعه (تست – دیباگ – توسعه و …) است.
نرم افزار هرچه پیچیده تر … قیمتش بالاتر.
هر چقدر پیچیدگی اپلیکیشن سفارشی بیشتر باشه و کاربردش آسون تر باشه، طبعاً باید هزینه بیشتری پرداخت کنید.
واقعاً چرا پیچیدگی باعث میشه هزینه نرم افزار سفارشی بیشتر بشه؟
خیلی ساده بخوایم بگیم … پیچیدگی بیشتر یه نرم افزار سفارشی یعنی آنالیز بیشتر، برنامه ریزی بیشتر، کد نویسی و تست بیشتر. یعنی باید وقت بیشتری واسش صرف بشه که این وقت بیشتر باعث میشه هزینه نرم افزار سفارشی بالاتر بره. البته میتونیم قیمت نرم افزار رو با حذف پیچیدگیهای غیر ضروری یا جلوگیری از درگیری اون با بخش های پیچیده کاهش بدیم.
مثلاً اگه یه اپلیکیشن سفارش میدین که بتونه آنالیزهای پیچیده و سنگین انجام بده، ظرفیت پردازش اعداد بالایی رو داشته باشه یا اگه اپلیکیشنی که لازم دارین به ویژگیها و متغیرهای زیادی نیاز داره، خیلی طبیعیه که باید با دقت بیشتر انجام بشه و زحمت زیادی واسش کشیده بشه که همین دقت و زحمت بیشتر خلاصه میشه تو این جمله: پول بیشتری باید بابت هزینه نرم افزار سفارشی پرداخت کنیم!
نرم افزار سفارشی که دارین روش کار میکنین، چقدر بزرگه؟
میزان بزرگی پروژه یکی دیگه از عواملیه که روی هزینه نرم افزار سفارشی تاثیر داره.
در واقع هرچی تعداد صفحههای مختلف بیشتر باشه، کارمون سختتر میشه پس هزینه نرم افزار سفارشی بالاتر میره.
در اینجا الگویی رو برای تعیین اندازه یا سایز نرم افزار سفارشی ارائه میکنیم که در بعضی موارد میتونین ازش استفاده کنین و کمک میکنه تا بزرگی نرم افزار رو تخمین بزنین. پس یادتون باشه این موارد تنها ملاکهایی که برای تعیین اندازه یه نرم افزار سفارشی به کار میرن، نیستن:
- نرم افزار سفارشی سایز کوچک: نرم افزاری که بین 10 تا 15 صفحه داره.
- نرم افزار سفارشی سایز متوسط: نرم افزاری که بین 25 تا 40 صفحه داره.
- نرم افزار سفارشی سایز بزرگ: هر نرم افزار یا اپلیکیشنی که بیشتر از 40 صفحه داره.
آیا نرم افزار سفارشی تون، طراحی خاصی داره؟
وقتی صحبت از طراحی خلاقانه یه نرم افزار میشه، بهتره بدونین که طراحی به اندازهی کارآیی اپلیکیشن مهمه و باید از دیدگاههای متفاوت بهش نگاه کرد:
- طراحی گرافیکی:
طبیعیه که اکثر مشتریها با چشمشون قضاوت میکنند و این یکی از بهترین و موثرترین روشها واسه جذب مشتری و درآمد خوبه! شما میتونید با طراحیهای جذاب و اضافه کردن آپشنهایی که از نظر بصری چشم گیرن مشتری تون رو راضی کنید و بهش اطمینان بدین که اگه قراره این اپلیکیشن رو بفروشه میتونه بابت طراحی خاصش از بقیه رقیبا جلو بیفته اما طبیعتاً یه طراحی خاص و خلاقانه، هزینه اپلیکیشن سفارشی تون رو افزایش میده.
- طراحی تجربه کاربری (User Experience):
درسته که طراحی بصری اهمیت زیادی داره ولی مهمتر از اون طراحی تجربه کاربریه که افراد کمی بهش توجه میکنن. تجربه کاربری یعنی نرم افزار سفارشی تون تا چه حد موفقه و چند درصد افراد از اون استفاده میکنند. آیا کار کردن با اپلیکیشن براشون سخته یا راحت؟ البته با انتخاب طراحی که این موارد رو رعایت و اجرا کنه هزینه نرم افزار سفارشی بالا میره و قطعا ارزششو داره!
پس در کل، طراحی اپلیکیشن یعنی چگونگی و میزان استفاده از انیمیشنهای فانتزی و تجارب کاربری یا User Experience، عناصر اینرفیس کاربر یا UI / User Interface پیچیده و خاص که اپلیکیشن سفارشی رو از لحاظ ظاهری و کاربردی جذاب میکنه.
اگه طراحی خلاقانهای رو انتخاب کردین که به زمان و کار بیشتری نیاز داره پس منطقیه که طراح پول بیشتری رو به عنوان هزینه نرم افزار سفارشی طلب کنه. ?
این نرم افزار سفارشی قراره با سیستم های دیگه ادغام بشه؟
منظور از ادغام یه نرم افزار با سیستمهای دیگه اینه که آیا این اپلیکیشن سفارشی باید بتونه با نرم افزار خاص دیگهای کار کنه؟ آیا این نرم افزار باید بتونه به نرم افزارهای دیگه وصل شه و به اونا داده بده یا از اونا داده بگیره؟
ادغام نرم افزار سفارشی با یه سری نرم افزار دیگه، متغیرهای زیادی رو وارد کار میکنه و میتونه تغییرات چشمگیری در برآورد اولیه تعرفه نرم افزار سفارشی داشته باشه.
درسته که برخی از ادغامها کاملا یکپارچهاند، اما برای بعضی دیگه باید وقت بیشتری صرف بشه تا عمل کنند.
اگه اپلیکیشن سفارشی موردنظرتون به چندتا ادغام مختلف مثل یه طیف وسیع از برنامه نویسی Application Programming Interface / API، انتقال دادههای پایگاه دادهها و همچنین ادغام سیستمهای قدیمی و غیره نیازه داره، باید پول بیشتری خرج کنید!
ادغام سیستم ها فقط به چند تا مورد بالا خلاصه نمیشه. میتونیم به ادغام های دیگهای مثل ادغام نرم افزار سفارشی با نرم افزارهای اطلاعاتی کسب و کار، نرم افزارهای مدیریت ارتباط با مشتری Customer Relationship Management / CRM، نرم افزار حسابداری و اپلیکیشنهای مدیریت رضایت مشتری CSM / Customer Satisfaction Management و غیره هم اشاره کرد.
پس این طور بگیم که: هرچی ادغام پیچیده تر، هزینه نرم افزار سفارشی هم بیشتر.
آیا مایگریشن لازمه؟ یعنی قراره داده های موجود رو به نرم افزار جدید منتقل کنین؟
شاید شما تاحالا به مایگریشن دادهها توجه نکردین ولی باید بدونین یکی از کارهای حساس و همینطور موثریه که میتونه با توجه به زمانی که براش صرف میشه و سختی کارش، تعرفه نرم افزار سفارشی رو بالا و پایین کنه، خب حالا ترجیحم اینه که اول یه توضیح مختصر راجع به مفهوم مایگریشن بدم:
خب حالا تاثیر این پروسه روی هزینه ها به چه صورته؟
اگه دادههایی از قبل روی سیستم دارید و میخواهید اونها رو به یه اپلیکیشن سفارشی جدید منتقل کنید، (توجه دارین که این کار،کار هرکسی نیست!) راه حل شما مایگریشن دادهها یا انتقال داده هاست.
خلاصه ساده ولی کار راه انداز این میشه که: مایگریشن داده یا انتقال داده ، یه اسکریپت سفارشی است که دادهها رو از نرم افزار موجود به یه نرم افزار جدید دیگه ارسال میکنه. معمولاً عمل پردازش و انتقال داده همزمان با مایگریشن صورت میگیره تا اونها رو با سیستم سفارشی جدید هماهنگ و به اون متصل کنه. جوری که نرم افزار جدید بتونه با اون داده ها کار کنه.
راستی به این نکته هم توجه کنید که:
بعد از این که سیستم جدیدمون تکمیل شد، عملیات مایگریشن چند ساعتی وقت میگیره تا مطمئن بشیم تمام جزئیات به درستی منتقل شده و سیستم جدید میتونه اونها رو مطابق با انتظارمون تفسیر کنه.
واسه تحویل نرم افزار سفارشی چقدر وقت دارین؟
یکی دیگه از عواملی که تاثیر خیلی زیادی روی بالا و پایین شدن تعرفه نرم افزار سفارشی و هزینه ساخت اپلیکیشن داره، زمان بندی تحویل نرم افزار است.
فرض کنین یه نرم افزار سفارشی داریم که باید 9 ماه روش کار بشه تا تکمیل بشه. واضحه که این نرم افزار نسبت به یه نرم افزار دیگه که ۵ ماهه تموم میشه گرون تره.
البته راجع به زمان بندی تحویل نرم افزار دو تا مسئله وجود داره:
- چقدر طول میکشه تا یه نرم افزار آماده بشه؟ یعنی یه تیم نرم افزاری چند وقت باید روی اون نرم افزار سفارشی کار کنن؟
- شما نرم افزارتون رو ظرف چه مدت زمانی لازم دارید؟ یعنی شما چقدر عجله دارین تا نرم افزار سفارشی رو تحویل بگیرین؟
اصلا چرا فاکتور زمان بندی، یه فاکتور مهم در تعیین هزینه نرم افزار سفارشی به حساب میاد؟
زمان بندی
اگه طراح نرم افزار مدت زمان آماده سازی نرم افزار رو شش ماه اعلام کنه ولی بنا به دلایلی شما محصول رو پنج ماهه یا کمتر بخواهید، قطعاً قیمت کار افزایش پیدا میکنه.
توسعه دهنده های نرم افزار یه لطیفه معروف برای بازه زمانی تحویل کار دارن: اگه بارداری هر زن 9 ماه طول میکشه، آیا میتونیم از 9 تا زن استفاده کنیم که بارداری هر کدوم یک ماه طول بکشه؟
اگه زمان اصلی یه پروژه نرم افزاری طولانی باشه یعنی کار بیشتر و بار سنگینتری روی دوش سازنده است پس قطعاً هزینهها بالا میره. از طرفی اگه شما عجله داشته باشین یا به هر دلیلی اصرار داشته باشین که نرم افزار سفارشی رو سریع تر از وقت مشخص شده تحویل بگیرین، باید توجه کنید که سازنده قراره به صورت فشرده کار کنه و همزمان از کیفیت کار هم کم نکنه. این یعنی باید واسه پرداخت هزینه نرم افزار سفارشی عجله ای سر کیسه رو شل کنین!
چرخهٔ زمان بندی توسعهٔ نرم افزار:
- برنامه ریزی و تحلیل نرم افزار = ۴-۲ هفته.
- طراحی و ساختاربندی نرم افزار = ۲ هفته.
- توسعه و کدنویسی = ۸-۳ ماه.
- پیاده سازی نرم افزار = ۴-۲ هفته.
- آزمایشات و تاسیسات = ۶-۳ هفته.
- ارائه محصول = ۳ هفته یا بیشتر.
بااین حال نمیتونیم خیلی راحت برای زمان بندی چهارچوبی تعیین کنیم، چون هر نرم افزاری برنامه ریزی و چالش های خاص خودش رو داره و بخاطر همین هم زمان بندی طراحی نرم افزارهای مختلف باهم متفاوته و بسته به این مورد، تعرفه نرم افزار سفارشی تغییر میکنه.
تا اینجای کار راجع به تعرفه نرم افزار سفارشی با توجه به یه سری فاکتور موثر صحبت کردیم.
حالا وقتشه یه نگاهی به مناطق مختلف جهان بندازیم و ببینیم تو هر نقطه هزینه نرم افزار سفارشی با چه نوسانی بالا و پایین میره.
(هزینه ها مربوط به سال 2019 می باشد)
تعرفه نرم افزار سفارشی در نقاط جهان
اروپا:
اگه بخواییم هزینه نرم افزار سفارشی در سراسر اروپا رو به صورت میانگین تعیین کنیم، کار خیلی دشواریه چون که هزینه ها خیلی متفاوته و این که بیشتر از 50 کشور توی این قاره ست، پس بیشتر کشورها رو بر اساس نزدیکی، رقابت و تعداد توسعه دهنده های نرم افزار گروه بندی میکنیم.
اروپای شرقی:
توسعه دهنده های نرم افزار در این منطقه از کشورهای مجارستان، جمهوری چک، رومانی، بلغارستان، لهستان و اسوواکی هستند.
میانگین هزینه نرم افزار سفارشی در این کشورها 28 تا 40 دلار در ساعته اما در جمهوری چک هزینه کمی بالاتره و به 41 تا 50 دلار میرسه.
منطقه بالکان:
این منطقه شامل شش کشور صربستان، مقدونیه، کروواسی، بوسنی، آلبانی و اسلوونیه که البته یونان هم به خاطر تشابه قیمت استخدام فریلنسرها به این لیست اضافه میشه.
برای کشورهایی مثل آلبانی، صربستان، مقدونیه و بوسنی و هرزگوین هزینه توسعه نرم افزار سفارشی بین 31 تا 40 دلار متغیره، در حالی که در کشورهایی مثل اسلوونی، یونان و کروواسی این هزینه از 41 تا 50 دلاره.
بهتره بدونین که فریلنسرها و تعدادی شرکت آزاد در منطقه بالکن کمتر از 20 دلار درساعت برای توسعه نرم افزار سفارشی هزینه میگیرن که بازم با این حال میانگین هزینه نرم افزار سفارشی در این منطقه بین 27 تا 40 دلاره.
کشورهای اسکاندیناوی:
دانمارک، فنلاند، نروژ و سوئد:
به طور میانگین 55% هزینه توسعه نرم افزار سفارشی برای فریلنسرها و شرکت های فناوری اطلاعات در این منطقه از 35 تا 55 دلار در ساعته. 30% هم از کارشناسان و شرکتها بین 51 تا 100 دلار در هرساعت پرداخت میکنن و 5% بقیه هزینهای بیش از 100 دلار در هر ساعت می پردازن.
اروپای جنوبی و انگلیس:
در کشورهایی مثل ایتالیا، پرتغال و اسپانیا میانگین هزینه استخدام توسعه دهنده نرم افزار سفارشی از 32 تا 46 دلار در ساعته.
در حالیکه در انگلستان و ایرلند میانگین هزینه 36 تا 51 دلار در ساعت میرسه. اما قیمتی که برای استخدام یک توسعه دهنده مجرب ذر انگلیس و ایرلند، توصیه شده بین 51 تا 100 دلاره.
ایالت های بعد از شوروی:
توسعه دهنده های نرم افزار در این منطقه از پنج کشور ارمنستان، اوکراین، مولداوی، بلاروس و روسیه تشکیل شده. این منطقه به عنوان بزرگترین بازار اطلاعات در سراسر اروپا شناخته شده که اون رو به یه بازار رقابتی برای توسعه دهندگان نرم افزار تبدیل کرده.
میانگین تعرفه نرم افزار سفارشی در این مناطق از 25 تا 35 دلار برای بیشتر فریلنسرها و استارتاپ های IT در هر ساعته. البته بعضی از شرکت ها و کارشناسان پیشرو فناوری اطلاعات در هر نقطه، بین 50 تا 100 دلار هزینه میگیرن، همونطوری که انتظار میره ارائه دهندگان سرویسهای توسعه دهنده نرم افزار سفارشی پرمیوم در هر ساعت بیش از 100 دلار میگیرن.
ایالت های بالتیک:
توسعه دهندگان نرم افزار سفارشی در این منطقه از کشورهای استونی، لتونی و لیتوانی اند. توسعه دهنده ها در این کشورها در مقایسه با ایالتهای بعد از شوروی هزینه بیشتری رو صرف میکنند.
بیشتر توسعه دهندگان نرم افزار به صورت فریلنسر و همکارانشون، در هر ساعت به طور متوسط با هزینهای بین 41 تا 50 دلار کار میکنند. اما بازم با اینحال بیش از 1% توسعه دهندگان با مبلغی بیش از 100 دلار در ساعت فعالیت دارند.
اروپای مرکزی و غربی:
کشورهای این منطقه شامل اتریش، بلژیک، فرانسه، آلمان، هلند و سوئیساند.
در بلژیک بیش از 28% توسعه دهندگان نرم افزار (فریلنسرها و شرکت ها) 51 تا 100 دلار در ساعت هزینه میگیرن. بنابراین در حال حاضر بلژیک گرانترین هزینه نرم افزار سفارشی رو در اروپا داره.
بااین حال قیمت متوسط توسعه نرم افزار سفارشی در اروپای مرکزی و غربی بین 39 تا 57 دلار در ساعته. البته هزینه توصیه شده در این منطقه بین 51 تا 100 دلاره و بلژیک از این قیمت گذاری فراتر رفته و بالای 60 دلار برای طراحان هزینه میکنه.
آمریکای شمالی
ایالات متحده آمریکا:
شرکت های توسعه نرم افزار سفارشی در ایالات متحده میتونند بر اساس نوع، اندازه، میانگین نرخهای متوسط ساعتی و اندازههای متوسط اونها طبقه بندی بشن.
- شرکت های توسعه نرم افزار Enterprise Class در صدر این لیست قرار گرفتن. شرکت هایی که در این دسته قرار میگیرن هزار نفر یا بیشتر، کارمند دارند. نرخ ساعتی هزینه های این شرکتها به طور متوسط 350 تا 850 دلاره در حالی که متوسط پروژه شون از200000 دلار تا 100000000 دلار و بالاتر در نظر گرفته شده.
- Big Business Class گروه بعدیه. شرکت های این گروه 100 تا 1000 کارمند استخدام میکنند، نرخ ساعتی توسعه نرم افزار سفارشی این شرکت ها 200 تا 300 دلاره و اغلب اونها پروژهها رو در محدوده 125000 تا 1000000 دلار و بالاتر قرار میدهند.
- شرکتهای Mid-Market Class بین 25 تا 100 کارمند استخدام میکنند و میانگین ساعتی اونها از نرخ 100 دلار تا 200 دلاره. اونها اغلب نرم افزار سفارشی که نرخ پروژه توسعهش از 50000 دلار تا 750000 دلاره رو هم انجام میدهند.
- شرکتهای Small Class IT بین 5 تا 10 کارمند استخدام میکنند و به طور متوسط در هر ساعت 75 تا 125 دلار هزینه میکنند. اونها معمولاََ پروژه های توسعه نرم افزار سفارشی رو که از 10000 دلار تا 500000 دلار هزینه میکنن رو اداره میکنه.
- همچنین میانگین ساعات روزانه از استخدام توسعه دهندگان فریلنسر از 25 تا 300 دلار در هر ساعت نوسان داره. بیشتر فریلنسرها برای انجام دادن پروژه هایی بین 1000 تا 100000 دلار شناخته شده اند.
کانادا:
درسته که کانادا در همسایگی ایالات متحده ست اما میانگین تعرفه توسعه نرم افزار سفارشی تو این کشور نسبتاََ ارزانتره. بطور متوسط میتونید یه توسعه دهنده نرم افزار رو باقیمتی بین 35 تا 150 دلار در ساعت استخدام کنید.
آسیا:
کشورهای آسیایی مانند فیلیپین، هند، پاکستان، بنگلادش، مالزی و اندونزی مناطقیاند که از منابع خارج از شرکت برای توسعه اپلیکیشن سفارشی استفاده میکنند.
هند مهمترین مکان برای توسعه نرم افزار سفارشی برون سپاری در نظر گرفته شده. اما حجم زیاد توسعه دهنده ها در این کشور باعث رقابت سالم و ناسالم میشه که نهایتاََ منجر به افزایش قیمت های بسیار پایین شده.
میانگین هزینه توسعه نرم افزار سفارشی در هند، بنگلادش، پاکستان، مالزی و اندونزی از 10 تا 35 دلاره، در حالی که در ژاپن و چین این هزینه بطور متوسط بین 35 تا 55 دلار در ساعته.
استرالیا:
در استرالیا متوسط هزینه توسعه نرم افزار سفارشی بین 35 تا 150 دلار در هرساعته. در حالی که بعضی از فریلنسرها میتونند به ازای هر یه ساعت تا 25 دلار هم کار کنند که به نظر میرسه کمترین قیمت برای فریلنسرها باشه.
آمریکای لاتین:
کلمبیا، آرژانتین، برزیل، ونزوئلا، مکزیک، کاستاریکا و پاناما کشورهایی هستند که در زمینه نرم افزار سفارشی در این ناحیه فعالیت دارند. متوسط هزینه نرم افزار سفارشی در این مناطق بین 25 تا 50 دلار در هر ساعته.
آفریقا:
آفریقا در بازار IT تازه ورود کرده و هنوز از راه حلهای Off-the-shelf و منسوخ شده به جای ساختن نرم افزار سفارشی، استفاده میکنه. بااین حال کشورهایی مثل آفریقای جنوبی، کنیا، نیجریه، مصر، مراکش و الجزایر از توسعه دهنده هایی که میتونند نرم افزار سفارشی تولید کنند استفاده میکنن.
میانگین قیمت این توسعه دهندگان در هر ساعت از 20 تا 50 دلاره – خاطر کمبود رقابت و قیمت بیشتر از برون سپاری به سایر نقاط جهان -.
با این توضیحات بهتره یه جمع بندی کلی داشته باشیم
برای اینکه بتونید یه هزینه دقیق و درست درمونی واس کارتون تعیین کنید بهتره حواستون به این فاکتورا باشه : دامنه کاریتون، محل توسعه دهندگان، سطح تخصص و تجربه اونا و چهارچوب زمانی که قراره صرف اون کار بشه.
اینطوری هم شما راضی میمونین هم خلق خدا و یه کار با کیفیت تحویل مشتری ها میدین. ?