پیمان تولید و خدمت نوآورانه نرم افزار
پیمان تولید نوآورانه نرم‌افزار و پیمان خدمت نوآورانه نرم‌افزار؛ گامی به سوی حرفه‌ای‌سازی قراردادهای صنعت نرم‌افزار ایران
۹ مرداد ۱۴۰۵
زمان مطالعه:
دقیقه

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

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

 

چرا صنعت نرم‌افزار به پیمان‌های اختصاصی نیاز دارد؟

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

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

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

 

پیمان تولید نوآورانه نرم‌افزار چیست؟

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

در چنین قراردادهایی معمولاً موضوعات زیر مورد توجه قرار می‌گیرد:

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

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

 

پیمان خدمت نوآورانه نرم‌افزار چیست؟

پس از تولید نرم‌افزار، سازمان‌ها معمولاً به خدمات مستمر نیاز دارند؛ خدماتی مانند:

  • پشتیبانی فنی
  • نگهداری
  • توسعه قابلیت‌های جدید
  • رفع اشکال
  • ارتقاء نسخه
  • مشاوره
  • خدمات ابری
  • پایش عملکرد سامانه
  • مدیریت امنیت

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

در این نوع قرارداد، شاخص‌هایی مانند سطح خدمات (SLA)، زمان پاسخگویی، زمان رفع اشکال، دسترس‌پذیری سامانه، امنیت اطلاعات، محرمانگی، مدیریت تغییرات و ارزیابی عملکرد اهمیت ویژه‌ای پیدا می‌کنند.

 

مهم‌ترین مزایای این پیمان‌ها

در صورت اجرای صحیح، این پیمان‌ها می‌توانند مزایای متعددی برای صنعت نرم‌افزار ایجاد کنند:

  • کاهش اختلافات حقوقی میان کارفرما و پیمانکار
  • شفاف شدن مسئولیت‌های طرفین
  • مدیریت بهتر تغییرات پروژه
  • تعریف دقیق مالکیت فکری
  • امکان ارزیابی عملکرد بر اساس شاخص‌های مشخص
  • افزایش کیفیت مستندسازی
  • استانداردسازی فرآیندهای قراردادهای نرم‌افزاری
  • افزایش اعتماد میان مشتری و شرکت‌های نرم‌افزاری

 

سایر کشورها چگونه این مسئله را حل کرده‌اند؟

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

 

۱. قراردادهای Agile

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

 

۲. قراردادهای Time & Materials (T&M)

در پروژه‌هایی که دامنه کار از ابتدا کاملاً مشخص نیست، بسیاری از شرکت‌های بین‌المللی از قراردادهای Time & Materials استفاده می‌کنند. در این مدل، کارفرما هزینه زمان صرف‌شده و منابع مصرف‌شده را پرداخت می‌کند و امکان توسعه تدریجی پروژه وجود دارد.

 

۳. قراردادهای Outcome-Based

در این رویکرد، تمرکز از تحویل صرف نرم‌افزار به تحقق نتایج کسب‌وکار منتقل می‌شود. برای مثال، معیار موفقیت ممکن است افزایش بهره‌وری، کاهش هزینه، یا بهبود تجربه کاربری باشد، نه صرفاً تحویل چند ماژول نرم‌افزاری.

 

۴. چارچوب‌های بین‌المللی قرارداد

در بسیاری از پروژه‌های بزرگ، سازمان‌ها از الگوهای قراردادی و استانداردهای شناخته‌شده‌ای مانند FIDIC (در پروژه‌های مهندسی)، MSA (Master Services Agreement)، Statement of Work (SOW)، Service Level Agreement (SLA) و همچنین استانداردهای مدیریت خدمات فناوری اطلاعات مانند ITIL بهره می‌برند. اگرچه این اسناد مستقیماً برای تولید نرم‌افزار تدوین نشده‌اند، اما ساختار آن‌ها الهام‌بخش بسیاری از قراردادهای مدرن نرم‌افزاری بوده است.

 

انواع قراردادهای نرم افزاری در دنیا

ردیف نوع قرارداد نام انگلیسی کاربرد اصلی مناسب برای
1 قرارداد توسعه نرم‌افزار Software Development Agreement (SDA) تحلیل، طراحی، توسعه و تحویل نرم‌افزار پروژه‌های سفارشی
2 قرارداد خدمات اصلی Master Services Agreement (MSA) چارچوب همکاری بلندمدت بین مشتری و پیمانکار شرکت‌های نرم‌افزاری و مشتریان بزرگ
3 شرح خدمات Statement of Work (SOW) تعریف دامنه، زمان و خروجی هر پروژه ذیل MSA پروژه‌های متعدد
4 قرارداد قیمت ثابت Fixed Price Contract پروژه با دامنه مشخص و بدون تغییرات زیاد پروژه‌های کوچک و متوسط
5 قرارداد زمان و مواد Time & Materials (T&M) پرداخت بر اساس زمان و منابع مصرف‌شده پروژه‌های چابک و تحقیقاتی
6 قرارداد مبتنی بر نتیجه Outcome-Based Contract پرداخت بر اساس تحقق نتایج کسب‌وکار پروژه‌های تحول دیجیتال
7 قرارداد چابک Agile Contract توسعه تدریجی همراه با تغییر نیازمندی‌ها Scrum و Agile
8 قرارداد نگهداری و پشتیبانی Software Maintenance Agreement رفع اشکال، به‌روزرسانی و نگهداری پس از استقرار نرم‌افزار
9 توافق‌نامه سطح خدمات Service Level Agreement (SLA) تعیین شاخص‌های کیفیت خدمات خدمات پشتیبانی و ابری
10 قرارداد SaaS Software as a Service Agreement استفاده اشتراکی از نرم‌افزار ابری نرم‌افزارهای SaaS
11 قرارداد میزبانی Hosting Agreement میزبانی نرم‌افزار یا زیرساخت Cloud و Data Center
12 قرارداد مجوز نرم‌افزار Software License Agreement اعطای حق استفاده از نرم‌افزار فروش نرم‌افزار
13 قرارداد کاربر نهایی End User License Agreement (EULA) شرایط استفاده توسط مصرف‌کننده نهایی محصولات نرم‌افزاری عمومی
14 قرارداد OEM Original Equipment Manufacturer Agreement استفاده از نرم‌افزار در محصولات شرکت دیگر تولیدکنندگان تجهیزات
15 قرارداد سفارشی‌سازی Customization Agreement توسعه قابلیت‌های اختصاصی ERP، CRM و سامانه‌های سازمانی
16 قرارداد استقرار Implementation Agreement نصب، راه‌اندازی و آموزش پروژه‌های ERP و HIS
17 قرارداد مهاجرت داده Data Migration Agreement انتقال داده از سامانه قدیمی پروژه‌های نوسازی سامانه
18 قرارداد یکپارچه‌سازی System Integration Agreement اتصال سامانه‌ها و APIها Enterprise Integration
19 قرارداد برون‌سپاری IT Outsourcing Agreement واگذاری توسعه یا پشتیبانی Outsourcing
20 قرارداد تیم اختصاصی Dedicated Team Agreement اختصاص تیم توسعه به مشتری استارتاپ‌ها و پروژه‌های بلندمدت
21 قرارداد محرمانگی Non-Disclosure Agreement (NDA) حفاظت از اطلاعات محرمانه قبل از شروع همکاری
22 قرارداد انتقال مالکیت فکری Intellectual Property Assignment Agreement انتقال حقوق مالکیت نرم‌افزار پروژه‌های سفارشی
23 قرارداد امانی کد منبع Source Code Escrow Agreement سپردن کد منبع نزد شخص ثالث پروژه‌های حیاتی
24 قرارداد خدمات مدیریت‌شده Managed Services Agreement مدیریت کامل زیرساخت یا سامانه MSPها
25 قرارداد خدمات ابری Cloud Services Agreement استفاده از خدمات Cloud AWS، Azure، Google Cloud
26 قرارداد DevOps DevOps Services Agreement استقرار، CI/CD و اتوماسیون پروژه‌های مدرن
27 قرارداد هوش مصنوعی AI Development Agreement توسعه سامانه‌های مبتنی بر AI پروژه‌های AI و ML
28 قرارداد استفاده از داده Data Sharing Agreement تبادل و استفاده از داده پروژه‌های داده‌محور
29 قرارداد پردازش داده Data Processing Agreement (DPA) الزامات حفاظت از داده‌های شخصی GDPR و قوانین مشابه
30 قرارداد مشاوره فناوری اطلاعات IT Consulting Agreement خدمات مشاوره، معماری و تحلیل مشاوران IT

 

پرکاربردترین قراردادها در دنیا

 

اگر بخواهیم تنها قراردادهایی را نام ببریم که بیشترین استفاده را در شرکت‌های بین‌المللی مانند Microsoft، SAP، Oracle، IBM، Accenture، Deloitte و شرکت‌های بزرگ نرم‌افزاری دارند، معمولاً این ترکیب دیده می‌شود:

  1. Master Services Agreement (MSA) به عنوان قرارداد اصلی.
  2. Statement of Work (SOW) برای هر پروژه.
  3. Service Level Agreement (SLA) برای خدمات پشتیبانی.
  4. Non-Disclosure Agreement (NDA) برای محرمانگی.
  5. Software License Agreement یا SaaS Agreement بسته به مدل ارائه محصول.
  6. Data Processing Agreement (DPA) در صورت پردازش داده‌های شخصی.

 

ارتباط با پیمان‌های نوآورانه نرم‌افزار در ایران

اگر بخواهیم این پیمان‌ها را با نمونه‌های بین‌المللی تطبیق دهیم، می‌توان گفت:

پیمان ایرانی نزدیک‌ترین معادل بین‌المللی
پیمان تولید نوآورانه نرم‌افزار Software Development Agreement + Agile Contract + SOW
پیمان خدمت نوآورانه نرم‌افزار Managed Services Agreement + SLA + Software Maintenance Agreement

این مقایسه نشان می‌دهد که پیمان‌های جدید ایران از نظر فلسفه و ساختار، به الگوهای رایج قراردادهای نرم‌افزاری در جهان نزدیک شده‌اند، هرچند هنوز جای توسعه در موضوعاتی مانند خدمات ابری، DevOps، هوش مصنوعی، مالکیت داده و مسئولیت‌های مرتبط با سامانه‌های مبتنی بر AI وجود دارد.

آیا این پیمان‌ها پایان راه هستند؟

بدون تردید خیر. صنعت نرم‌افزار با سرعتی بسیار بیشتر از بسیاری از صنایع دیگر در حال تحول است. ظهور رایانش ابری، هوش مصنوعی مولد، توسعه مبتنی بر API، خدمات SaaS و DevOps نشان می‌دهد که قراردادهای آینده باید انعطاف‌پذیرتر، داده‌محورتر و نتیجه‌محورتر باشند.

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

 

جمع‌بندی

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

 

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

 

دانلود اسناد پیمان تولید و خدمت نوآورانه نرم افزار