قرارداد برنامه نویسی
قرارداد برنامه نویسی
یک راهنمای عملی و مشاوره ای برای نوشتن قرارداد برنامه نویسی که شما را از اختلاف حقوقی، مالی و فنی محافظت می کند
قرارداد پیمانکاری برنامه نویسی راهنمای جامع برای کارفرما و برنامه نویس
روزی نه چندان دور یک کارفرما در تهران با من تماس گرفت و گفت که یک پروژه بزرگ دارد و پس از پرداخت درصدی از مبلغ، برنامه نویس ناگهانی ناپدید شده است. آن کارفرما می گفت که قرارداد شفاهی بسته بودند و هیچ سندی برای پیگیری نداشت. این داستان ساده اما آشنا نقطه شروع این راهنما است. اگر شما هم نمی خواهید در موقعیت مشابهی قرار بگیرید ادامه مطلب را با دقت بخوانید.
چرا داشتن قرارداد پیمانکاری برنامه نویسی حیاتی است
در پروژه های نرم افزاری ریسک اصلی ناشی از ابهام در انتظارات و مسئولیت هاست. قرارداد یک وسیله ساده اما قدرتمند برای تبدیل انتظارات به تعهدات است. قرارداد خوب میزان ریسک را کم می کند، مسیر تحویل را شفاف می سازد و اگر اختلافی رخ دهد یک مرجع برای حل آن فراهم می کند.
یک مثال واقعی و درس آموخته
کارفرمای مثال ما در تهران متوجه شد که بدون قرارداد کتبی، هیچ ادله محکمی برای مطالبه ندارد. هزینه های نگهداری، زمان تأخیر و پیامدهای تجاری این اشتباه به مراتب از هزینه یک مشاوره حقوقی اولیه بیشتر بود.
ارکان قرارداد پیمانکاری برنامه نویسی
هر قرارداد خوب بین دو طرف حداقل باید شامل ارکان زیر باشد
- تعیین دقیق طرفین قرارداد به همراه اطلاعات تماس
- موضوع قرارداد به شکل دقیق و قابل اندازه گیری
- مدت قرارداد و زمان بندی تحویل هر فاز
- مبلغ قرارداد و شرایط پرداخت
- حقوق مادی و معنوی و نحوه انتقال یا واگذاری
- تعهدات پشتیبانی و نگهداری
- شرایط فسخ و جبران خسارت
موضوع قرارداد چگونه باید نوشته شود
موضوع باید ملموس باشد مثلا به جای عبارت کلی ارائه خدمات برنامه نویسی بهتر است بنویسیم: تولید یک سامانه تحت وب برای مدیریت فروش با قابلیت ثبت سفارش، پنل کاربری، گزارشات مدیریتی و اتصال به درگاه پرداخت.
نحوه تعیین مبلغ قرارداد و روش های پرداخت
یکی از محل های اصلی اختلاف نحوه پرداخت و میزان آن است. روش های معمول عبارتند از پرداخت مرحله ای، پرداخت بر اساس فاکتور ساعتی یا پرداخت کامل در انتها. بهترین روش ترکیبی است تا انگیزه اجرا حفظ شود و ریسک طرفین کاهش یابد.
مدل پیشنهادی پرداخت مرحله ای
- پیش پرداخت معادل 20 تا 30 درصد مبلغ کل به عنوان تضمین آغاز کار
- پرداخت مرحله ای پس از ارائه طرح اولیه و دریافت بازخورد
- تسویه نهایی پس از تحویل نسخه نهایی و رفع اشکالات بحرانی
نکته حقوقی برای قرارداد در تهران یا شهرستان ها: بهتر است زمان پرداخت ها بر اساس تحویل ملموس قابل اثبات شود مثلا تحویل کد در مخزن گیت با برچسب مشخص یا تحویل فایل های تولید مستندات و گزارشات تست
مالکیت فکری حقوق مادی و معنوی
در ایران مطابق ماده شش قانون حمایت از حقوق پدیدآورندگان نرم افزار حق مادی متعلق به کارفرماست اگر هدف تولید نرم افزار به سفارش کارفرما باشد مگر توافق خلاف. اما حقوق معنوی معمولاً متعلق به پدیدآور است مگر توافق دیگر. بنابراین توصیه می کنیم در قرارداد بند صریح درباره مالکیت مادی و معنوی درج کنید.
نمونه بند ساده و شفاف
متن پیشنهادی بند مالکیت مادی
تعهدات فنی پیمانکار و شاخص های کیفیت قابل اندازه گیری
تعهدات فنی باید واضح و قابل اندازه گیری باشد تا در پایان هر فاز بتوان تعیین کرد که کار مطابق با توافق انجام شده است یا خیر. استفاده از شاخص های کیفیت یا KPI به رفع اختلاف کمک می کند.
مثال KPI فنی
- حداکثر زمان پاسخ API کمتر از 700 میلی ثانیه در حالت بار معقول
- پوشش تست واحد حداقل 60 درصد برای ماژول های حیاتی
- بدون حفره امنیتی معروف در اسکن اولیه امنیتی
- رعایت کد استایل مشخص و ارائه مستندات فنی
بندهای حفاظتی و ضمانت اجرا
این بخش قرارداد مشابه بیمه برای طرفین عمل می کند. بندهای حفاظتی شامل تضمین کیفیت، محرمانگی، جریمه های تأخیر و شرایط فسخ است.
نمونه بند جریمه تأخیر
در صورت تأخیر در تحویل هر فاز به ازای هر روز تأخیر پیمانکار موظف به پرداخت معادل 0.1 درصد مبلغ فاز به عنوان خسارت می باشد مگر تأخیر به دلیل فورس ماژور یا تاخیر موجه کارفرما باشد
قوانین محرمانگی و محافظت از اطلاعات
حفظ اسرار تجاری و اطلاعات مشتریان باید به شکل قراردادی محافظت شود. توصیه می شود بند NDA خلاصه داخل قرارداد درج شود یا قرارداد جداگانه تعبیه شود.
مواردی که باید در بند محرمانگی ذکر شوند
- تعریف دقیق اطلاعات محرمانه
- مدت تعهد محرمانگی
- محدودیت استفاده و افشای اطلاعات
- مجازات نقض محرمانگی
پشتیبانی و نگهداری نرم افزار
پشتیبانی معمولاً در دو بخش ارائه می شود پشتیبانی اولیه الزامی پس از تحویل و پشتیبانی تمدیدی اختیاری. در قرارداد باید محدوده پشتیبانی، SLA و قیمت آن مشخص شود.
نمونه SLA ساده
- سطح 1 critical رفع تا 8 ساعت کاری
- سطح 2 major رفع تا 48 ساعت کاری
- پشتیبانی شامل رفع اشکالات نرم افزاری و به روزرسانی های امنیتی می شود
🎫 همین حالا ثبتنام کنید و از طریق تیکت، سفارش خود را ثبت نمایید
ورود به پنل کاربرینمونه بندهای قراردادی کاربردی
در این بخش مجموعه ای از بندهای پیشنهادی را آورده ایم که می توانید با ویرایش جزئی در قرارداد خود قرار دهید
بند موضوع قرارداد
بند مبلغ و نحوه پرداخت
بند تحویل آثار و مستندات
اشتباهات رایج در قراردادهای برنامه نویسی و راه حل ها
شناخت اشتباهات رایج به شما کمک می کند تا از آنها دوری کنید. در ادامه به چند مورد پر تکرار اشاره کرده ایم
اشتباه شماره یک عدم تعیین دقیق موضوع
مشکل: عبارت کلی و مبهم که باعث اختلاف در انتظارات می شود
راه حل: موضوع را به صورت خروجی های قابل اندازه گیری بنویسید و پیوست های فنی به قرارداد اضافه کنید
اشتباه شماره دو نبود بند پشتیبانی
مشکل: پس از تحویل هیچ تضمینی برای رفع باگ ها وجود ندارد
راه حل: مدت، سطح خدمات و هزینه پشتیبانی را مشخص کنید
اشتباه شماره سه تعیین نکردن مالکیت مادی
مشکل: پس از اتمام پروژه معلوم نیست که حق استفاده و تغییر نرم افزار با چه کسی است
راه حل: بند انتقال حقوق مادی را با شرایط واضح در قرارداد بگنجانید
چگونه قرارداد را برای کسب و کار در تبریز یا تهران سفارشی کنیم
اگر کسب و کاری در تبریز دارید یا پروژه در تهران اجرا می شود می توانید شرایط محلی را در قرارداد بیاورید مانند محل انجام پروژه، مرجع حل اختلاف محلی و موارد اجرایی مرتبط. برای نمونه بند تعیین مرجع حل اختلاف می تواند به شکل داوری در شهر محل فعالیت طرفین تعیین شود.
پیشنهاد اجرای محلی
- برای پروژه های در تهران پیشنهاد می کنیم مرجع داوری یا دادگاه تهران قید شود
- برای کسبوکارهای تبریز گزینه داوری محلی یا مرکز حل اختلاف استان انتخابی مناسب است
نمونه قراردادهای آماده و نکات ویرایشی
استفاده از قالب های آماده مفید است اما ویرایش اختصاصی بر اساس پروژه ضروری است. بندهایی مانند ضمیمه فنی، جدول زمان بندی، و قالب تحویل باید متناسب با نوع پروژه تنظیم شوند.
ارتباط با شرکت برنامه نویسان دانش برتر سهند
شرکت برنامه نویسان دانش برتر سهند با بیش از 20 سال سابقه در طراحی و توسعه وب سایت های شرکتی و سازمانی، آماده ارائه مشاوره و تنظیم قراردادهای پیمانکاری برنامه نویسی است. تکنولوژی های ما شامل ASP.NET Core، Vue.js، MSSQL و Node.js است. طراحی کاملاً اختصاصی بدون استفاده از CMS، کیفیت و امنیت بالا، سرعت عالی و پنل کاربری جذاب از ویژگی های ماست.
زمان طراحی از یک ماه شروع می شود و هزینه از 30 میلیون تومان آغاز می گردد
🎫 همین حالا ثبتنام کنید و از طریق تیکت، سفارش خود را ثبت نمایید
ورود به پنل کاربریچک لیست پیش از امضای قرارداد
قبل از امضاء قرارداد این چک لیست را مرور کنید
- آیا موضوع قرارداد شفاف و قابل اندازه گیری است
- آیا پرداخت ها مرحله ای و مطابق با تحویل ها هستند
- آیا مالکیت حقوقی مشخص شده است
- آیا مدت پشتیبانی و SLA تعریف شده است
- آیا شرایط فسخ و جبران خسارت قابل اجرا هستند
- آیا فرایند تحویل کد منبع و مستندات مشخص است
منابع و لینک های داخلی
برای مشاهده دیگر خدمات مرتبط می توانید به صفحات زیر مراجعه کنید
📰 پیشنهاد برای مطالعه:
خدمات طراحی سایتجمع بندی و توصیه نهایی
کوتاه و عملی توصیه می کنیم قبل از شروع هر پروژه نرم افزاری یک پیش نویس قرارداد آماده کنید و آن را با یک مشاور حقوقی و یک کارشناس فنی بررسی کنید. این دو نگاه همزمان می تواند هزینه های پنهان و ریسک های اجرای پروژه را به طرز چشمگیری کاهش دهد.
🎫 همین حالا ثبتنام کنید و از طریق تیکت، سفارش خود را ثبت نمایید
ورود به پنل کاربریسوالات متداول
بله با استفاده از کد انتقال Auth Code و موافقت رجیسترار انتقال امکان پذیر است اما در قرارداد باید شرایط انتقال دامنه به وضوح ذکر شود تا در آینده اختلاف پیش نیاید
حقوق مادی شامل حق بهره برداری و واگذاری است و مطابق قانون معمولاً متعلق به کارفرماست اگر هدف قرارداد تولید نرم افزار برای کارفرما باشد حقوق معنوی مربوط به خالق اثر باقی می ماند مگر توافق خلاف
مدت پشتیبانی را بر اساس نیاز کسب و کار تعیین کنید معمولاً بین سه تا دوازده ماه متداول است و باید شامل محدوده خدمات و SLA باشد
بله در صورتی که در قرارداد بند جایگزینی پیمانکار یا انتقال پروژه به شخص ثالث پیش بینی شده باشد انتقال امکان پذیر است در غیر این صورت باید با توافق طرفین انجام شود
در قرارداد بند ارائه گزارش تست امنیتی و انجام اسکن اولیه از کدها قید کنید و ابزارهای پیشنهادی مثل OWASP ZAP یا اسکنرهای صنعتی را نام ببرید
بله پیوست فنی شامل مستندات عملکردی و فنی، دیاگرام ها و استانداردهای مورد استفاده است و از بروز اختلاف در طول اجرا جلوگیری می کند
زمان بندی را به صورت فاز بندی شده و قابل اندازه گیری با تاریخ های میلادی و معیار تحویل واضح تعیین کنید و در صورت نیاز درصد پیشرفت را نیز مشخص کنید
قرارداد باید شامل ضامن کیفیت مانند دوره پشتیبانی اجباری و تعهد به رفع باگ ها و ارائه مستندات تست باشد تا کیفیت تضمین شود
اولین گام مذاکره و درخواست اجرای تعهد است در صورت ادامه نقض می توان به داوری یا مراجع قضایی مراجعه کرد و خسارت طلب نمود
در قرارداد های لازم فسخ یکجانبه معمولاً مجاز نیست اما می توان شرط فسخ با توافق یا در صورت وقوع شرایط خاص مانند نقص عمده یا نقض محرمانگی قرار داد
منابع پیشنهادی برای مطالعه بیشتر
📰 پیشنهاد برای مطالعه:
قرارداد طراحی وب سایت
0 نظر
برای ثبت نظر لطفا کلیک کنید
لطفا برای ثبت نظر ابتدا وارد حساب کاربری خود شوید