شرکت نرم افزار برنامه نویسان دانش برتر سهند

قرارداد طراحی نرم افزار؛ بندهای ضروری و چک‌لیست

قرارداد طراحی نرم افزار؛ بندهای ضروری و چک‌لیست

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

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

چرا قرارداد طراحی نرم افزار اهمیت دارد؟

  • نرم افزار محصولی نامحسوس است و بدون تعریف دقیق، برداشت دو طرف از «تحویل کامل» متفاوت خواهد بود.
  • پروژه‌های نرم افزاری چندماهه‌اند و در طول کار نیازها تغییر می‌کند؛ قرارداد باید روش مدیریت تغییر را مشخص کند.
  • مالکیت کد منبع و حق استفاده از نرم افزار، بدون بند صریح، محل اختلاف جدی است.

بندهای ضروری قرارداد طراحی نرم افزار

۱. موضوع و محدوده‌ی کار

دقیق‌ترین بخش قرارداد باید همین باشد. بهترین روش، پیوست کردن سند نیازمندی‌ها یا RFP به قرارداد است: امکانات، نقش‌های کاربری، گزارش‌ها، پلتفرم‌ها (وب، ویندوز، اندروید، iOS) و سیستم‌هایی که نرم افزار باید به آن‌ها وصل شود. هر چیزی که در محدوده نیامده، خارج از تعهد است.

۲. مراحل تحویل و زمان‌بندی

پروژه به چند مرحله با خروجی مشخص تقسیم شود (مثلاً طراحی رابط کاربری، نسخه‌ی آزمایشی، نسخه‌ی نهایی). برای هر مرحله تاریخ تحویل، مدت بررسی کارفرما و تکلیف تأخیر هر طرف روشن شود.

۳. معیار پذیرش (تحویل موقت و قطعی)

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

۴. مبلغ و شرایط پرداخت

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

۵. مدیریت تغییرات

درخواست تغییر چگونه ثبت، برآورد و تأیید می‌شود و چه اثری بر زمان و هزینه دارد؟ بدون این بند، هر تغییر کوچک به اختلاف تبدیل می‌شود.

۶. مالکیت کد منبع و حقوق مادی

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

۷. محرمانگی و امنیت داده

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

۸. تضمین و رفع اشکال

دوره‌ای پس از تحویل که شرکت سازنده موظف است اشکال‌های نرم افزار را بدون هزینه رفع کند، و تعریف اینکه چه چیزی «اشکال» است و چه چیزی «تغییر».

۹. پشتیبانی و نگهداری

پشتیبانی پس از دوره‌ی تضمین معمولاً قرارداد جداگانه دارد: سطح خدمات، زمان پاسخ‌گویی، ساعات پشتیبانی و هزینه.

۱۰. فسخ، حل اختلاف و تحویل کار نیمه‌تمام

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

🎫 همین حالا ثبت‌نام کنید و از طریق تیکت، سفارش خود را ثبت نمایید
ورود به پنل کاربری

چک‌لیست پیش از امضای قرارداد

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

مدل‌های قرارداد: قیمت ثابت یا زمان و منابع؟

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

سوالات متداول

آیا برای پروژه‌ی کوچک هم قرارداد لازم است؟

بله؛ حتی یک قرارداد کوتاه با محدوده‌ی کار، مبلغ، زمان تحویل و مالکیت کد از بیشتر اختلاف‌ها جلوگیری می‌کند.

کد منبع نرم افزار سفارشی متعلق به کیست؟

هر آنچه در قرارداد آمده باشد؛ اگر برای شما مهم است، تحویل کد منبع و انتقال حقوق مادی را صریحاً در قرارداد بنویسید.

قرارداد پشتیبانی جدا از قرارداد طراحی است؟

معمولاً بله؛ قرارداد طراحی تا پایان دوره‌ی تضمین را پوشش می‌دهد و پشتیبانی پس از آن قرارداد مستقل دارد.

📰 پیشنهاد برای مطالعه:
وظایف مدیر عامل ceo در شرکت نرم افزار چیست؟
مقالات بیشتر در مقالات
💬 سؤال یا نظری درباره «قرارداد طراحی نرم افزار؛ بندهای ضروری و چک‌لیست» دارید؟

کارشناسان برنامه نویسان دانش برتر سهند پرسش‌های فنی و درخواست‌های مشاوره را از طریق پنل پشتیبانی پاسخ می‌دهند.

ثبت سؤال یا درخواست مشاوره
گفتگو در مورد طراحی اپلیکیشن