تعیین قیمت یک پروژه نرم افزاری

چند وقت پیش یک پروژه بهم پیشنهاد شد. هدف کرک کردن نرم افزاری بود که کارفرما از یک شرکت خارجی خریده بود و دیگه نمیتونست با اون شرکت خارجی ارتباط بگیره. بزرگترین چالش من این بود که تصمیم بگیرم برای انجام این کار چه مبلغی رو به عنوان دستمزد طلب کنم. کارفرمای من هیچ حدی از قیمتی که خودش برآورد کرده بود رو نگفت و این کار رو سخت تر میکرد.مثل همیشه به آخرین سنگر خودم یعنی توییتر پناه بردم و از فالوورام پرسیدم برای یک پروژه چطوری قیمت میدن. تصمیم گرفتم نظر بچه ها و تجربه خودم رو اینجا بنویسم. هم برای خودم مفیده، هم اینکه ممکنه شما بتونین ازش استفاده کنین.سایتهایی وجود دارن که به شما توی این زمینه کمک میکنن. Porsnet.ir و hampadco.ir دو سایتی هستند که من پیدا کردم. مطمئنا با سرچ بیشتر سایتهای بیشتری میتونین پیدا کنین. اگر این سایتها بتونن کمک کنن، توی وقت خودتون صرفه جویی کنین و ادامه این مطلب رو نخونین. اما اگر این سایتها نتونستن بهتون کمک کنن، باید فاکتورهایی رو درنظر بگیرین و بر اساس اون فاکتورها مبلغ رو پیشنهاد بدین.۲. اولین فاکتور که اکثرا روش اتفاق نظر دارن، "نفر/ساعت" هست. اگر بخواین بر اساس نفر/ساعت قیمت بدین، اول باید مشخص بشه که چه تخصصهایی برای این کار نیاز هست. در قدم بعدی باید مشخص شه که هر تخصص چند ساعت زمان باید صرف کار کنه و در نهایت برای هر تخصص یک قیمت درمیاد (من این قیمت رو بر اساس گزارش سالیانه ای که جابینجا از میانگین حقوق برنامه نویسها منتشر میکنه تونستم پیدا کنم) و در مرحله آخر به مبلغ پروژه ۳۰ درصد اضافه کنید. این ۳۰ درصد هزینه هایی هست که بابت اون پروژه صرف میکنید(مثل رفت و آمد) و سودی که به عنوان دستمزد میگیرید. خب گفتن نداره که عیب این روش این هست که شما برای تخمین اولیه برای اینکه بدونید چه تخصصهایی و هر تخصص چند ساعت زمان میبره نیاز به تجربه دارید و این تجربه چیزی نیست که بقیه ادمها بتونن بهتون بدن. از طرفی کاری که یک سنیور توی یک ساعت انجام میده، یک برنامه نویس جونیور ممکنه ماهها درگیرش باشه. در نتیجه متغیرها توی این روش خیلی گسترده و پیچیده هستند.۳. روش دوم و ساده تر اینه که از کارفرما بپرسین چه مقدار بودجه برای این کار در نظر گرفته و اون مقدار رو با یک درصد مشخص جمع کنین و قیمت پروژه بدین. خب این روش خیلی ساده هست، اما تجربه من میگه کارفرما معمولا خیلی کمتر از ارزشی که اون کار براش ایجاد میکنه قیمت میده و مطمئنا اگر توی این روش ضرری وجود داشته باشه، سمت برنامه نویس قضیه هست.۴. روش بعدی اینه که تمام فاکتورها رو حول کارفرما درنظر بگیرین. اینکه ایشون تا چه حد توان پرداخت داره، و اینکه ارزشی که برای ایشون ایجاد میشه چقدره. به عنوان مثال توی پروژه ای که اول صحبتام در موردش گفتم، دستگاهی که کارفرما قصد کرک کردن نرم افزار نصب شده بر روش رو داشت حدود ۱ میلیارد قیمت داشت. و بدون کرک کردن این نرم افزار هم عملا اون دستگاه براش کارآیی نداشت. من ۱۰ درصد قیمت دستگاه رو به عنوان دستمزد کرک کردن نرم افزار پیشنهاد کردم (که با شیشکی کارفرما روبرو شد?)۵. روش ساده دیگه ای که وجود داره، پیدا کردن پروژه مشابه توی سایتای فریلنسینگ هست. این کار یک حدودی از قیمت رو بهتون میده.امیدوارم این پست بتونه بهتون کمک کنه تا حداقل یک دید برای قیمت پروژه هاتون پیدا کنید. من نتونستم پروژه ای که در موردش صحبت کردم رو بگیرم به چند دلیل. اول اینکه مسئله رو از دید کارفرما نگاه نکردم. یعنی شاید شرایط طوری باشه که کارفرما حتی تصمیم بگیره اون کار انجام نشه تا اینکه بخواد دستمزد بالایی برای اون کار پرداخت کنه. و دوم اینکه یک رقیب خیلی خیلی ارزونتر داشتم. پیشنهاد من اینه که همیشه موقع تعیین قیمت یک پروژه "رایگان باش، اما ارزون نباش" رو در نظر داشته باشین.