خانه > مهندسي نرم افزار > قیمت گذاری نرم افزار- به دست آوردن قیمت تمام شده

قیمت گذاری نرم افزار- به دست آوردن قیمت تمام شده

اگر خاطرتان باشد در نوشته قبل (اینجا) گفته شد که هزینه ها از رابطه زیر استخراج می شود:

(تعداد فروش* قیمت تمام شده هرمحصول)Σ = هزینه
(تعداد پشتیبانی* هزینه پشتیبانی هر محصول)Σ+
هزینه پروژه تولید و به روزآوری هر محصول Σ +
هزینه جاری* تعداد ماه+
هزینه اولیه+

در این رابطه هر کدام از پارامترها با فرمول های زیر محاسبه می شود:

هزینه مستقیم فروش=قیمت تمام شده هر محصول
هزینه استقرار+
هزینه منطبق سازی+
متوسط هزینه ماهیانه پشتیبانی محصول* تعداد ماه پشتیبانی اولیه+
هزینه های سربار+
کسورات قانونی

(متوسط تعداد روز خدمات پشتیبانی  * هزینه نفر-روز خدمات) Σ=هزینه پشتیبانی هر محصول
هزینه های سربار+
کسورات قانونی+

(تعداد ماه مورد نیاز اجرای هر فعالیت پروژه * نفر-ماه هر تخصص) Σ=هزینه تولید هر محصول

هزینه های محل و امکانات =هزینه جاری
هزینه های سخت افزار و نرم افزار+
هزینه های پرسنل اداری+
هزینه های آموزش +
هزینه های بازاریابی عمومی و برندینگ +
هزینه های عمومی پیش بینی شده یا نشده+

هزینه های محل= هزینه های اولیه
سرمایه گذاری اولیه +
هزینه های اولیه تاسیس+

خود این معادلات را نیز می توان مجددا بسط داد تا به پارامترهای قابل اندازه گیری رسید:

هزینه های دمو =هزینه های مستقیم فروش
هزینه تبلیغات و بازاریابی مستقیم+
متوسط تعداد روز مورد نیاز برای فروش یک محصول * نفر-روز تیم فروش+
پورسانت +

هزینه برگزاری هر جلسه حضوری یا غیر حضوری* متوسط تعداد جلسات  =هزینه های دمو
هزینه اقلام دمو حضوری و غیر حضوری+

هزینه جلسه آموزش* تعداد متوسط جلسه آموزش=هزینه استقرار
هزینه نصب و راه اندازی * نفر-ساعت کارشناس پشتیبانی +
هزینه اقلام آموزشی+

متوسط ساعت منطبق سازی هر محصول * نفر-ساعت تیم تولید=هزینه منطبق سازی

خدمات پشتیبانی شامل موارد زیر می گردد:

  • خدمات پشتیبانی تلفنی که هزینه آن معادل مجموع نفر-ساعت تیم پشتیبانی مورد نیاز برای متوسط زمان انجام هر خدمت است.
  • خدمات پشتیبانی حضوری که هزینه آن مجموع نفر-ساعت تیم پشتیبانی + هزینه ایاب و ذهاب + هزینه ماموریت خارج از شرکت است.
  • خدمات پشتیبانی فنی که هزینه آن معادل مجموع نفر-ساعت تیم تولید یا تیم پشتیبانی فنی برای متوسط زمان انجام هر خدمت است.

در مورد محاسبه هزینه ها ذکر چند نکته مهم است:

  • در مورد هزینه سربار و کسورات قانونی (انواع و اقسام مالیات و بیمه و …!) معمولا شرکتها به یک نسبت مشخص نسبت به هزینه محاسبه شده واقعی عمل می کنند، مثلا X% مجموع را به عنوان سربار و Y% را به عنوان کسورات اضافه می کنند.  X و Y بسته به هزینه های یک شرکت متغیر است و ممکن است از ۱۰% به بالا تغییر کند.
  • هزینه های جاری ممکن است شامل اقلام دیگری نیز باشد، مثلا شرکتی که به پرسنل نهار می دهد یا صبحانه و یا مشمول بیمه های تکمیلی و … است یا خدمات بهداشتی/آموزشی یا  تفریحی خاصی برای پرسنل در نظر گرفته اند باید آن هزینه ها را هم مد نظر قرار دهند.
  • هزینه های محل در دو بخش خودش را نشان می دهد: هزینه اولیه که شامل خرید و یا رهن اولیه و آماده سازی و خرید تجهیزات اداری و غیر اداری مرتبط است و هزینه جاری محل که شامل اجاره، شارژ، هزینه های آب و برق و گاز و اینترنت و تلفن و… می باشد.
  • شما اگر پروژه محور هستید (یعنی پروژه های خاص سفارشی  انجام می دهید) هزینه های مرتبط با محصول را ندارید و مستقیما می توانید هزینه تولید را در نظر بگیرید، اما اگر فروشنده بسته های نرم افزاری (Package) هستید باید هزینه های مرتبط با هر فروش را نیز جداگانه محاسبه کنید.
  • همانگونه که مشخص است هر محصول یک پروژه تولید دارد که هزینه آن جداگانه  و یکبار محاسبه می شود. خروجی این پروژه در قالب یک محصول اماده دیگری نیاز به تولید مجددا از صفر ندارد و تنها در هر فروش هزینه های مستقیم فروش و پشتیبانی آن محصول و هزینه منطبق سازی (Customization) در نظر گرفته می شود. اگر محصول آن پروژه سفارشی بوده و تنها برای یک مشتری خاص قابل استفاده باشد طبیعتا با یک محصول عمومی و Package متفاوت می باشد و برخی پارامترها در مورد فروش و بازاریابی و یا هزینه های مستقیم فروش در مورد آن متفاوت محاسبه می شود.
  • در این فرمول ها فروش و پشتیبانی از یگدیگر مجزا شده اند. بنابراین اگر هنگام فروش یک مدت هم خدمات پشتیبانی به مشتری ارائه می کنید باید به نسبت همان مدت نیز هزینه پشتیبانی را در قیمت تمام شده محصول در نظر بگیرد ولی اگر فروش بدون پشتیبانی را دنبال می کنید (مثلا CD فروش هستید) این هزینه می تواند از هزینه های فروش کاسته شود.
  • طبیعتا برای شرکتهایی که تنها نمایندگی فروش یک محصول را بر عهده دارند، از نرم افزارهای خارجی قفل شکسته استفاده می کنند و یا مبتنی بر محصولات متن باز عمل می کنند هزینه تولید می تواند صفر یا ناچیز (مثلا صرفا برای فارسی سازی) درنظر گرفته شود.
  • مجددا تاکید می شود که همه فرمولهای فوق ساده شده هستند و پارامترهای زمان ، استهلاک، تورم و … در آنها در نظر گرفته نشده است.
  • نکات دیگری هم در مورد محاسبه هزینه ها هست که برای اطلاعات بیشتر باز هم شما را به نوشته مرتبط آقای نامور در این زمینه ارجاع می دهم (اینجا).

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

  • بهره گیری از تجربیات قبلی: برای مثال شما رفتار عمومی مشتریان یک محصول را در یک سال مونیتور می کنید و سپس از روی آن مدت کل زمان یا جلسات مورد نیاز برای فروش ، آموزش و یا پشتیبانی را بدست می آورید. اگر این زمان کل را تقسیم بر تعداد مشتریان نمایید متوسط هر کدام از این پارامترها برای شرکت شما بدست می آید که از آن می توانید برای سال بعد هم به همان شکل و یا با در نظر گرفتن اینکه با افزایش کیفیت محصول و یا توانمند شدن تیم فروش و پشتیبانی طبیعتا خدمات بهتر انجام می شود به شکل کمتر و یا با در نظر گرفتن اینکه تیم کارشناسان نوسازی شده است و یا محصول شما جدیدتر و یا پیچیده تر شده است به شکل بیشتر استفاده کنید. یا هزینه های مربوط به فروش و بازاریابی( ساخت وب سایت، چاپ کاتالوگ، شرکت در نمایشگاه ها و سمینارها، تبلیغات محیطی، تیزر تلویزیونی، پیام و…) را جمع کرده و بخشی از آن را که مستقیما به یک محصول است تقسیم بر تعداد مشتریان کرده هزینه های مستقیم هر فروش را بدست آورید و بخشی که عمومی بوده و مربط به روابط عمومی یا برند سازی شما است را در هزینه های جاری محاسبه کنید.
  • بهره گیری از تکنیک های عمومی مهندسی نرم افزار: برای مثال در مورد مدت زمان تولید یا منطبق سازی با بهره گیری از روشهای تخمین زمان پروژه (مثلا COCOMO II) و با در نظر گرفتن متدولوژی مورد استفاده شما در تولید (متدولوژی های Heavy weight    یا متدولوژی های چابک) و با در نظر گرفتن موجودی های فعلی شما (کتابخانه ها، چارچوب ها و یا مولفه های موجود  شما در برنامه سازی)، توان فنی و آموزشی تیم تولید و ریسکهای معمول و غیر معمول تخمین زمان صورت گیرد.

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

راهکار در “تخمین” بیشتر است. شرکتهای نرم افزاری کوچک و یا تازه کار می توانند صرفا هزینه تولید یک محصول را محاسبه کرده و با در نظر گرفتن یک ضریب تخمینی، سایر هزینه های آن را هم محاسبه کنند. برای مثال اگر هزینه تولید یک محصول را X بدست آوردند، هزینه کلی خود را X*V بگذارند که V  یک ضریب سربار یا (OverHead ) است. مثلا در حال حاضر شرکتها با در نظر گرفتن یک ضریب ۱٫۵ تا  ۲٫۵  یا بیشتر ضرب در هزینه تولید، هزینه قیمت تمام شده خود را که شامل همه هزینه های ریز و درشت گفته شده دیگر است محاسبه می کنند.

در مورد قیمت تمام شده پشتیبانی نیز باز با بکارگیری یک ضریب و نسبت از قیمت فروش عمل می شود، مثلا شرکتها از ۱۰% تا ۳۰% یا بیشتر قیمت تمام شده محصول را بابت پشتیبانی یک ساله یک نرم افزار در نظر می گیرند.

حالا که تقریبا قیمت تمام شده فروش و پشتیبانی محصول(A)  برای ما قابل محاسبه شد باید بپردازیم باید به روش پیدا کردن قیمت فروش بپردازیم که در قسمت بعد به آن خواهم پرداخت…
همین!

نوشته های مرتبط:

Categories: مهندسي نرم افزار Tags:
  1. ۲۳ آذر ۱۳۹۰ در ۱۵:۰۴ | #1

    خدا قوت !

    به راستی که قیمت گذاری محصول ، آسان نیست.

    فقط نوشتن همین فرمول ها کلی زمان می برد ، مقدار دهی آن هم که جای خود دارد هر Σ کلی عدد و متغییر های ماه و روز و ساعت مخصوص به خود دارد (بماند که بسیاری از آنها محاسبات نسبتا آسانی ندارند )

    تازه در توضیحات داریم:”مجددا تاکید می شود که همه فرمولهای فوق ساده شده هستند و پارامترهای زمان ، استهلاک، تورم و … در آنها در نظر گرفته نشده است”!!

    سپاس از مطلب خوبتان

  2. ۲۳ آذر ۱۳۹۰ در ۱۷:۳۶ | #2

    واقعا مطلب ارزشمند و دقیقی بود … بی صبرانه در انتظار خواندن بخش بعدی هستم …
    کاش می‌شد این حرف ها را در کلاس مهندسی نرم‌افزار هم برای دانشجوها زد … و کاش زمانی که ما دانشجو بودیم کسی برای ما این حرف ها را گفته بود …

  3. ۲۴ آذر ۱۳۹۰ در ۱۴:۱۵ | #3

    @آرمان عجب خانی
    همانگونه که گفتم راه حل برای شرکتهای نوپا یا کوچک “تخمین” است. چون محاسبه دقیق فرمولهای دقیق زمان و انرژی و تخصص می خواهد که کم پیدا می شود.
    به هر حال ممنون از نظرات دلگرم کننده شما.

    @امیر نام آور
    ممنون، اما اصل مطلب را شما نوشتید و همانگونه که بارها در این نوشته ها ارجاع دادم باید برای نکات مهم در قیمت گذاری نوشته شما را خواند. کماکان منتظر قسمت های بعدی آن نوشته هستیم.

    همین!

  4. ۲۴ آذر ۱۳۹۰ در ۲۳:۰۱ | #4

    فقط می توانم بگویم که عالی بود. عالی

  5. ۲۶ آذر ۱۳۹۰ در ۰۹:۲۴ | #5

    سلام
    فقط برای اینکه بگویم هستم و میخوانم، اما چیزی بلد نیستم که اضافه کنم. دست شما درد نکند.
    سربلند باشید

  6. احسان
    ۲۷ آذر ۱۳۹۰ در ۱۱:۰۲ | #6

    آقای واحد
    مطلبتون واقعا عالی بود. و خیلی هم پرفایده و کاربردی برای من. منتها با توجه به این که من هم مدتی است با این مساله درگیر هستم فکر می کنم با صرف نظر از قیمت گذاری که مفهوم خیلی پیچیده ایه، دو تا مبحث دیگه توی مطالبتون با هم خلط شده:
    - بحث تخمین هزینه نرم افزار
    - بحث محاسبه هزینه تمام شده
    اولی قبل از اتمام پروژه یا حتی قبل از شروع پروژه برای نوشتن پروپوزاله و دومی بعد از اتمام پروژه محاسبه میشه.
    مثلا شما به روش کوکومو اشاره کرده اید. حال آن که این روش برای تخمین هزینه ها(یا بهتر بگم تخمین تلاش-نفر ساعت) قبل از شروع پروژه هستش.
    مشکل اصلی رو در محاسبه هزینه های تمام شده ذکر کرده اید. منتها مشکل اساسی در تخمین هزینه ها رو نه! و مشکل اساسی در تخمین هزینه ها اینه که قبل از شروع پروژه به هیچ وجه نمیتونیم تخمین خوبی از تعداد خط کد های نرم افزار یا حجم اون داشته باشیم و مشکل اساسی اینه که مدل های مختلفی که به این منظور طراحی شده اند عمدتا با محیط کار ایرانی سازگار نیستند.
    من برای کارم مجبور شدم یک سری ایده هایی رو توسعه بدم، حالا اگه در آینده بهش پرداختین خوشحال میشم!
    آقای آواژ
    http://www.behsad.com/weblog/?p=562
    اینجا به این بحث کمی پرداخته اند. منتها مشکل تخمین ایشون اینه که فقط و فقط برای نوشتن یک نرم افزار معمولی و روتین قابل استفادس یعنی نرم افزاری که تعداد موجودیت هایش مشخصه! ولی در یک پروژه با پیچیدگی زیاد -که توسعه نرم افزار همه کار نیست بلکه قسمت اعظمش توسعه ایده ها است-، شاید هنگام رسیدن به نقطه ای که در آن موجودیت ها مشخص شده باشند، عملا از نظر زمانی در نیمه ی راه پروژه باشیم!

  7. ۲۷ آذر ۱۳۹۰ در ۱۲:۰۱ | #7

    @احسان
    پاراگراف ابتدایی نظر شما تا حدی درست است، یعنی بحث تخمین هزینه نرم افزار و محاسبه هزینه تمام شده به نوعی در مبحث بالا آمده اما به آن معنی خلط نشده است، چرا؟
    همانگونه که در فرمول های اول می بینید هدف محاسبه قیمت تمام شده بر اساس تلاش واقعی است، اما وقتی سراغ تحمین می رویم که زمان یا توان محاسبه این قیمت تمام شده را نداریم.
    به عبارت دیگر شاید در یک شرکت بزرگ و یا در زمانی که از کمک یک مدیر مالی توانمند که در حسابداری صنعتی تبحر دارد بتوان قیمت تمام شده یک محصول را به دقت محاسبه کرد و مبننایی برای قیمت گذاری قرار داد (کف قیمت فروش) اما در یک شرکت کوچک شما عملا نمی توانید اول هزینه کنید و بعد ببینید چقدر هزینه کرده اید. بلکه باید با “تخمین” حدود هزینه های خود را محاسبه کنید.
    تخمین هم بار معنایی مخصوص به خودش را دارد، اینکه صد در صد درست نیست.
    اما… این شکلی هم نیست که کاملا بی استفاده باشد و نتوان به آن استناد کرد.
    یک فرایند مهندسی نرم افزار دقیق ، بهره گیری از اصول مدیریت پروژه و استفاده از چندین روش تخمین مختلف و مقایسه آن با تجربیات گذشته می تواند تا حد زیادی هزینه قیمت تمام شده یک پروژه را پیش از شروعش برآورد کند. همانگونه که نوشته ام شما در نهایت با یک ضریب سربار و ریسک می توانید یک مقدار دیگر هزینه را دست بالاتر برآورد کنید تا حساب سربار ها و یا خطرات احتمالی را نیز کرده باشید.
    باز هم تاکید می کند “تخمین” غلط نیست، ساده هم نیست، دقیق هم نیست، اما شدنی است… برای زمانی که شما امکان، توان و یا زمان محاسبه دقیق را ندارید.
    همین!

  1. ۲۶ آذر ۱۳۹۰ در ۲۳:۲۷ | #1
  2. ۹ دی ۱۳۹۰ در ۱۸:۴۶ | #2