هزینه تولید نرم افزار
در طی این سالها بارها و بارها شده مشتریان از تفاوت قیمت هایی که برای یک نرم افزار یا حتی یک وب سایت می گیرند شگفت زده می شوند. بین پایین ترین قیمت و بالاترین قیمت چندصد درصد اختلاف وجود دارد. اما این اختلاف ها ناشی از چیست؟ در صورتی که مشتری دید بهتری نسبت به هزینه های واقعی تولید نرم افزار داشته باشد می تواند تصمیم درست تری در انتخاب کارفرما بگیرد.

 

در طی این سالها بارها و بارها شده مشتریان از تفاوت قیمت هایی که برای یک نرم افزار یا حتی یک وب سایت می گیرند شگفت زده می شوند. بین پایین ترین قیمت و بالاترین قیمت چندصد درصد اختلاف وجود دارد. اما این اختلاف ها ناشی از چیست؟

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

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

اما در پروژه های نرم افزاری اعلام هزینه به این صورت نخواهد بود. در ظاهر به نظر می رسد که محاسبه میزان ساعت کار کرد برنامه نویسان بر روی پروژه می تواند منجر به مشخص شدن هزینه تمام شده نرم افزار گردد، اما در واقع مواردی وجود دارد که نیاز به بررسی بیشتر و دقیقتر دارد. برای برآورد هزینه (نه لزوما قیمت) و زمان در پروژه های نرم افزاری ابتدا باید تفکیکی بین پروژه های سفارشی و پروژه هایی که به صورت یک محصول (pakage) قرار است وارد بازار شوند قائل شد.

تخمین قیمت نرم افزار

راهها و روش های مختلفی برای تخمین زمان و هزینه پروژه های نرم افزاری (کوچک و بزرگ) وجود دارد. در روش های علمی سعی می شود سیستم را بر اساس پارامترهای مشخصی تحلیل و بررسی کرد.

با وجود اینکه فرمولهایی برای تعیین قیمت نرم افزار وجود دارد ( بر حسب نفر- ساعت، میزان خطوط کد، تعداد فرمها و ... ) ولی در وضعیت واقعی فروش نرم‌افزار، عواملی دخیل می باشند که برخی از آنها به راحتی قابل محاسبه نیستند.

 

برخی از عواملی که می تواند در قیمت تمام شده یک نرم افزار موثر باشد عبارتند از :

  • زبان برنامه نویسی نرم افزار
  • تکنولوژی های بکار رفته
  • تعداد کاربران نرم افزار ( نرم افزار تک کاربره است یا چند کاربر همزمان از نرم افزار استفاده می کنند)
  • پیچیدگی نرم افزار
  • گرافیک نرم افزار
  • نحوه پشتیبانی نرم افزار
  • توسعه نرم افزار
  • تعداد افراد درگیر در پروژه و سوابق آنها
  • بستر پروژه
  • آموزش
  • آیا کد نرم افزار باید به کارفرما تحویل شود؟
  • مدت زمان انجام پروژه به ماه

یک نکته بسیار مهم در تولید نرم افزار کیفیت آن است. هر ماشینی دارای موتور، چرخ، کمک فنر و ... است. اما تفاوت بین یک پژو (تولید فرانسه) و یک BMW در چیست؟ این تفاوت، اختلاف قیمت آنها را به تنهایی توجیه می کند. لذا در صورتی که نرم افزار کیفیت لازم را نداشته باشد، علاوه بر اینکه عمر نرم افزار کاهش می یابد، توسعه و نگهداری آن هزینه برتر و مشکل تر خواهد بود و کاربر استفاده کننده از آن راحتی چندانی نخواهد داشت و این می تواند به شکست نرم افزار منجر شود. در این حالت در صورتی که نیاز به نرم افزار یک ضرورت باشد، هزینه و زمان مجدد را برای استفاده کننده (نه لزوما کارفرما) را در پی خواهد داشت.

 

مشابهت با سایر پروژه های انجام شده شرکت

طبیعاتا شرکت هایی که پروژه های مشابه را انجام داده اند به دلیل آشنایی به مشکلات کار و حتی داشتن بخش های از قبل آماده با زمان کمتری می توانند نرم افزار را تهیه کنند.

آیا تحلیل پروژه بر عهده گروه تولید کننده نرم افزار است؟

بدون شناخت دقیق و تحلیل درست از پروژه و بررسی نیازمندی ها ، امکانات مورد نیاز و داشته ها نمی توان برآورد مناسبی از پروژه داشت. به طور مثال بستر مناسب برای اجرای نرم افزار نیز باید بررسی و به عنوان سایر هزینه های کارفرما به آن اعلام شود.

هزینه های بالاسری

هزینه بالاسری هزینه هایی هستند که علاوه بر حقوق پرداختی، برای انجام پروژه هزینه می شوند. این هزینه ها می توانند مانند سهم بیمه کارفرما مستقیما با حقوق پرداختی در ارتباط باشند و یا به طور غیر مستقیم در تولید نرم افزار نقش داشته باشند.

بعضی از آنها عبارتند از :

  • هزینه بیمه های عمومی و حق بیمه کارکنان (سهم کارفرما)
  • هزینه ایاب و ذهاب
  • هزینه سرمایه گذاری و اجاره محل
  • هزینه استهلاک وسایل
  • هزینه آب، برق و گاز و تلفن
  • هزینه پذیرایی
  • هزینه لوازم التحریر و ملزومات دفتری
  • هزینه دستگاهها و تجهیزات رایانه ای

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

 

با در نظر گرفتن موارد فوق می توان هزینه تمام شده برای تولید یک نرم افزار را در یک پروژه خاص به طور تقریبی مشخص نمود. حال اگر این نرم افزار قرار باشد به صورت عمومی به فروش برسد، با توجه به اینکه قبل از شروع فروش هزینه های تولید به طور دقیقتری مشخص شده، برای تعیین قیمت فروش علاوه بر مورد فوق باید به عوامل دیگری مانند زیر نیز توجه کرد :

  • نرم افزار رقبا
  • شرایط اجتماعی و فرهنگی جامعه
  • نحوه پشتیبانی
  • تورم و افزایش هزینه ها در طول زمان
  • هزینه های فروش مانند تبلیغات و بازاریابی
  • هزینه های تکثیر و توزیع نرم افزار (مانند جعبه، دفترچه راهنما، راه اندازی وب سایت و...)

تجربه :

با توجه به اینکه برآورد زمانی انجام پروژه به تنهایی کار راحتی نیست و باید اطلاعات دقیق از پروژه (prototype و یا حداقل proposal) دراختیار باشد، در صورتی که تهیه این موارد نیز بر عهده شرکت برنامه نویسی باشد باید هزینه آن نیز در پروژه لحاظ گردد. از طرفی برای پروژه های کوچک می توان بر اساس تجربه مدت زمان انجام پروژه را تخمین زد و بر اساس آن به مشتری اعلام قیمت کرد.

خطای خطرناک:

متاسفانه بسیاری از برنامه نویسان نوپا ( علی رغم استعداد و خلاقیت بسیار زیاد در برنامه نویسی) به دلیل عدم آشنایی با موارد فوق در برآورد هزینه تمام شده و در نتیجه هزینه اعلامی به مشتری دچار خطا می شوند و نتیجه آن به ثمر نرسیدن پروژه خواهد بود. البته خود برنامه نویس و یا تیم برنامه نویسی بیشترین ضرر را خواهند داد.

 

تهیه و تنظیم : مهران اصغری

میزان اهمیت
ایمیل
توضیحات
ارسال