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

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

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

١- جامع باشد.

٢- شفاف باشد.

٣- عادلانه باشد.

حال با این پیش فرض اگر مضوع بحث سفارش تولید نرم ازفزار باشد بهتر است بگونه زیر عمل شود.

١- در بخش موضوع قرارداد شرح مختصری از کلیت قرارداد ذکر و شرح کامل آن به پیوست فنی قرارداد ارجاع داده شود. این پیوست باید شامل مستندات زیر باید باشد:

System Specification

System Requirements

System prototype

بصورت الزامی و مستندات

Architectural  and design Diagrams

زمانبندی پروژه

باید باشد.

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

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

4- نحوه تحویل سیستم ، جای پر دردسر قرارداد همین جاست. شما به عنوان یک برنامه نویس باید چگونگی، نحوه تحویل و نوع محصول را دقیق و روشن به کارفرمای خود توضیح دهید. این مشخصات باید شامل موارد زیر باشد:

تکنولوژی تولید

متدولوژی تولید

معماری سیستم

نیازهای سیستم

نحوه تحویل سورس / نسخه قابل اجرا(بستگی به توافق دارد)

مستندات تولید شامل (دیاگرامها،سناریوها، موراد کربرد و ..)

مدیایی که سیستم(نرم افزار) بروی آن قرار است تحویل شود.

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

6- گارانتی و پشتیبانی، نرم افزار موجودی است که تولدش دردسر دارد و پس از تولدش بیشتر. لذا شرایط، حدود ، نحوه و شکل ارائه خدمات گارانتی بدون تخیل پردازی باید ذکر شود سریح و روشن . حدود آن مشخص باید باشد کهکارفرما تکلیف خود را داند و پیمانکار هم.

7- استقرار، یکی از مهمترین بخشها پس از تولید استقرار نرم افزار می باشد که حاصل رنج و زحمت پیمانکار به بار مینشیند. لذا شرایط انجام استقرار(زیرساختهایی که کارفرما باید آماده کند.)، تیم های درگیر بخشهای مختلف سازمان کارفرما، همه و همه باید روشن و سریح ذکر شود.

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

9- شرایط تحویل، نحوه تحویل، مواردی که در هر مرحله تحویل خواهد شد، نحوه تائید و مدت زمان مورد نیاز جهت تائید، شخص تائید کننده از طرف کارفرما، شمخصات سند تحویل و ... باید در این بخش در نظر گرفته شود.

10- موارد اختلاف، باید دقیق ذکر شودکه اگر اختلافی پیش آمد چه باید کرد و اگر کار به دادگاه و .. کشید هزینه آن به چه صورت خواهد بود.

11- موارد روتین قرارداد مانند فورس ماژور و نسخ قرارداد و نشانی و ... نیز که حتما همه میدانند که چگونه است.

12- مورد بسیار بسیار مهم که پیمانکار را در اکثر موارد زمین میزند! نماینده کارفرما است. این نماینده باید شرایط معرفی، نحوه تعویض و نحوه بررسی و دخالتش در فرآیند تولید کاملاً روشن و مشخص گردد تا حرف کارفرما دو تا نشود. همچنین نماینده پیمانکار هم همینطور(قابل توجه دوستانی که یک نفره با یک شخص قرارداد میبندند نیز این موضوع صادق است و اسم آن یک نفر حتماً باید در قرارداد بیاید )

13- جریمه، موردی که زیاد خوشایند نیست ولی باید در قرارداد لحاظ شود هم برای کارفرما در زمانها تاخیر تعهدات و هم برای پیمانکار(ما عادت کردیم چوب بالا سرمان نباشد که کار نمیکنیم)

14- نحوه گزارش دهی، از مواردی است که اکثر کارفرماها دوست دارند بدانند که شما تا بحال چه کرده اید، فرمت و شکل گزارش باید زمان قرار به توافق برسد و زمانهای تحویل آن نیز در مانبندی ذکر شود.

و .....

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

امیدوارم شما بتوانید قراردادهای خوب، پر ثمر و موفق بسته ، به خوبی و خوشی به پایان رسانید.