قبل از امضای قرارداد طراحی اپلیکیشن چه چیزهایی باید روشن شود؟
پیش از امضای قرارداد طراحی اپلیکیشن باید خروجی پروژه، وظایف طرفین و موارد خارج از تعهد بهصورت دقیق مشخص شود. عبارتهایی مانند «طراحی کامل اپلیکیشن» کافی نیستند و ممکن است بعداً باعث اختلاف شوند.
اپلیکیشن قرار است چه خروجی مشخصی داشته باشد؟
فهرست امکانات باید دقیق و قابلاندازهگیری باشد؛ برای مثال:
- نسخه اندروید، iOS یا هر دو
- پنل مدیریت
- ثبتنام و ورود کاربران
- درگاه پرداخت
- ارسال پیامک یا اعلان
- تحویل سورسکد
- انتشار در مارکتها
همچنین باید مشخص شود پروژه در چه شرایطی تحویلشده و تأییدشده محسوب میشود.
طرف قرارداد طراح فریلنسر است یا شرکت طراحی اپلیکیشن؟
اگر با فریلنسر قرارداد میبندید، مشخصات کامل هویتی و شماره حساب او ثبت شود. در قرارداد با شرکت نیز نام شرکت، شناسه ملی، شماره ثبت و مشخصات نماینده مجاز درج شود.
نمونهکار مرتبط، روش پشتیبانی، مسئول پاسخگویی و توانایی ادامه پروژه در صورت تغییر اعضای تیم نیز باید بررسی شود.
کارفرما چه اطلاعات، محتوا و دسترسیهایی باید ارائه کند؟
وظایف کارفرما باید همراه با زمان تحویل مشخص شوند؛ مانند:
- لوگو و هویت بصری
- متن و تصاویر
- اطلاعات محصولات
- دسترسی سرور و دامنه
- مشخصات درگاه پرداخت
- اطلاعات پنل پیامکی
بهتر است در قرارداد نوشته شود تأخیر کارفرما در ارائه این موارد، زمان تحویل پروژه را نیز تغییر میدهد.
طراح دقیقاً مسئول انجام چه بخشهایی از پروژه است؟
وظایف طراح باید مرحلهبهمرحله نوشته شود؛ مانند طراحی رابط کاربری، برنامهنویسی، راهاندازی پنل، تست، انتشار و پشتیبانی.
تعداد دفعات اصلاح، مدت پشتیبانی، تحویل سورسکد و هزینه امکانات جدید نیز باید از ابتدا روشن باشد.
موضوع قرارداد و پیوست فنی را چطور بنویسیم که اختلاف ایجاد نشود؟
موضوع قرارداد باید روشن کند دقیقاً چه محصولی، با چه امکاناتی و روی چه بستری طراحی میشود. بهتر است جزئیات فنی در یک پیوست جداگانه بیاید و در متن قرارداد به آن ارجاع داده شود.
امکانات اپلیکیشن را بهجای عبارتهای کلی دقیق بنویسید
عبارتهایی مانند «طراحی اپلیکیشن فروشگاهی کامل» یا «ساخت اپلیکیشن حرفهای» قابلاندازهگیری نیستند. امکانات را بهصورت موردی بنویسید؛ مانند ثبتنام با شماره موبایل، جستوجوی محصول، سبد خرید، پرداخت آنلاین، ثبت نظر، پیگیری سفارش و ارسال اعلان.
برای هر قابلیت مشخص کنید چه کاری انجام میدهد و چه زمانی تحویلشده محسوب میشود.
پلتفرمها، پنل مدیریت، API و دیتابیس را مشخص کنید
در پیوست فنی باید معلوم شود اپلیکیشن برای اندروید، iOS یا هر دو ساخته میشود. وجود نسخه وب، پنل مدیریت، بکاند، API و نوع دیتابیس نیز باید مشخص باشد.
همچنین بنویسید هزینه سرور، سرویس پیامک، نقشه، درگاه پرداخت و حسابهای توسعهدهنده بر عهده چه کسی است.
نسخه اولیه، نسخه نهایی و موارد خارج از قرارداد را جدا کنید
امکانات نسخه اولیه یا MVP را از نسخه نهایی جدا کنید. اگر بعضی قابلیتها قرار است در فاز بعدی اضافه شوند، آنها را در تعهدات فعلی قرار ندهید.
موارد خارج از قرارداد مانند تولید محتوا، ورود اطلاعات، پشتیبانی بلندمدت، تبلیغات و توسعه امکانات جدید نیز باید صریحاً نوشته شوند.
طراحی UI/UX و تعداد دفعات اصلاح را در پیوست فنی بیاورید
تعداد صفحات، سبک طراحی، نمونه مرجع، فایلهای قابلتحویل و ابزار طراحی باید مشخص شود. تعداد دفعات اصلاح نیز محدود و شفاف باشد؛ برای مثال دو مرحله اصلاح پس از ارائه طرح اولیه.
تغییر ساختار اصلی پس از تأیید طراحی باید بهعنوان درخواست جدید، همراه با هزینه و زمان جداگانه بررسی شود.

مالکیت اپلیکیشن، سورسکد و حقوق نرمافزار با چه کسی است؟
مالکیت در قرارداد طراحی اپلیکیشن نباید به عبارت مبهم «کلیه حقوق متعلق به کارفرماست» محدود شود. قرارداد باید تکلیف حق بهرهبرداری، تغییر و توسعه، سورسکد، فایلهای طراحی و انتشار پروژه را جداگانه مشخص کند.
تفاوت مالکیت اپلیکیشن با حق استفاده از آن
حق استفاده ممکن است فقط اجازه بهرهبرداری از اپلیکیشن را به کارفرما بدهد؛ بدون اینکه امکان فروش، تغییر یا واگذاری آن وجود داشته باشد. طبق قانون، اگر ساخت نرمافزار موضوع قرارداد باشد، حقوق مادی مربوط به تغییر و توسعه اصولاً متعلق به کارفرماست؛ مگر اینکه در قرارداد ترتیب دیگری تعیین شود. نام پدیدآورنده و حقوق معنوی نیز موضوعی جداگانه است.
سورسکد چه زمانی و با چه فایلهایی باید تحویل شود؟
زمان تحویل سورسکد را به پرداخت مرحلهای یا تسویه نهایی متصل کنید. مخزن کامل کد، دیتابیس، مستندات نصب، فایل تنظیمات نمونه، فایلهای UI/UX، اطلاعات سرور و دسترسیهای قابلانتقال باید در فهرست تحویل قرار گیرند. صرف تحویل فایل نصبشده اپلیکیشن به معنای تحویل سورسکد نیست.
استفاده از کد آماده، قالب و کتابخانههای خارجی چه حکمی دارد؟
طراح باید فهرست قالبها، افزونهها، کتابخانهها و سرویسهای خارجی را اعلام کند. نوع مجوز، هزینه تمدید و محدودیت استفاده تجاری آنها نیز باید مشخص شود تا کارفرما بعداً با هزینه پیشبینینشده یا مشکل توسعه روبهرو نشود.
آیا طراح میتواند پروژه را بهعنوان نمونهکار منتشر کند؟
این موضوع باید صریحاً تعیین شود. میتوان انتشار نام و تصاویر عمومی پروژه را مجاز دانست، اما نمایش اطلاعات کاربران، آمار داخلی، پنل مدیریت، کدها و اطلاعات محرمانه را ممنوع کرد. برای پروژههای محرمانه، انتشار نمونهکار باید فقط با اجازه کتبی کارفرما انجام شود.
مبلغ، پرداخت مرحلهای و تغییرات وسط پروژه چگونه تعیین شود؟
مبلغ قرارداد طراحی اپلیکیشن فقط یک عدد کلی نیست. باید مشخص شود هر بخش از هزینه در برابر تحویل چه خروجی پرداخت میشود و تغییرات جدید چگونه روی مبلغ و زمان پروژه اثر میگذارند.
هر پرداخت را به تحویل یک مرحله مشخص وابسته کنید
پرداختها را به مراحل قابلبررسی متصل کنید؛ برای مثال پیشپرداخت هنگام امضا، قسط دوم پس از تأیید UI/UX، قسط سوم پس از تحویل نسخه آزمایشی و تسویه بعد از تحویل نهایی.
برای جلوگیری از اختلاف، معیار تأیید هر مرحله و مهلت بررسی کارفرما نیز نوشته شود. صرف اعلام شفاهی «مرحله تمام شد» نباید مبنای پرداخت باشد.
هزینه امکانات اضافه و تغییرات جدید را از قبل تعیین کنید
قابلیتی که در پیوست فنی وجود ندارد، باید درخواست جدید محسوب شود. طراح باید پیش از اجرا، هزینه و زمان لازم را اعلام کند و کارفرما آن را کتبی تأیید کند.
میتوان در قرارداد نرخ ساعتی تغییرات یا روش محاسبه هزینه درخواستهای جدید را مشخص کرد.
تأخیر کارفرما در تأیید مراحل چه اثری بر پرداخت و زمان دارد؟
برای بررسی هر مرحله مهلت مشخصی مانند سه یا پنج روز کاری تعیین کنید. تأخیر در ارسال نظر، محتوا یا دسترسیها باید به همان میزان یا براساس برنامه جدید، زمان تحویل را عقب بیندازد.
همچنین مشخص شود سکوت کارفرما به معنای تأیید است یا پروژه تا دریافت پاسخ متوقف میشود.
برای اصلاح رایگان، رفع باگ و سفارش جدید مرز مشخص بگذارید
اصلاح رایگان یعنی تغییر محدود در خروجی همان مرحله؛ رفع باگ یعنی درستکردن عملکردی که برخلاف پیوست فنی اجرا شده است. اما افزودن صفحه، قابلیت یا مسیر کاربری جدید، سفارش تازه محسوب میشود.
تعداد دفعات اصلاح رایگان، مدت رفع باگ و هزینه تغییرات خارج از قرارداد باید از ابتدا نوشته شود.
محرمانگی، امنیت اطلاعات و مسئولیت خسارت در قرارداد طراحی اپلیکیشن
در قرارداد طراحی اپلیکیشن باید مشخص شود چه دادههایی محرمانهاند، چه کسی مسئول نگهداری آنهاست و در صورت نقض تعهد چه خسارتی پرداخت میشود.
چه اطلاعاتی در پروژه طراحی اپلیکیشن محرمانه است؟
فهرست اطلاعات محرمانه را دقیق بنویسید؛ مانند ایدههای تجاری، سورسکد، رمزهای عبور، اطلاعات کاربران، دیتابیس، مستندات فنی، آمار فروش و برنامه توسعه محصول. مدت تعهد محرمانگی و نحوه حذف یا بازگرداندن اطلاعات پس از پایان همکاری نیز تعیین شود.
مسئولیت نشت دادهها و ضعف امنیتی با چه کسی است؟
مسئولیت را براساس علت حادثه تقسیم کنید. طراح میتواند مسئول کدنویسی امن، محدودکردن دسترسیها و رفع آسیبپذیریهای ناشی از عملکرد خود باشد. کارفرما نیز باید از رمزها، حسابهای مدیریتی و زیرساختی که در اختیار دارد محافظت کند. دسترسی یا افشای غیرمجاز دادهها ممکن است مشمول مقررات جرایم رایانهای شود.
ضمانت اجرای افشای اطلاعات یا استفاده غیرمجاز از ایده چیست؟
ممنوعیت افشا بهتنهایی کافی نیست. برای کپیکردن پروژه، انتقال اطلاعات به رقیب یا استفاده خارج از قرارداد، حق فسخ، توقف دسترسی و وجه التزام مشخص تعیین کنید. حقوق نرمافزار و نحوه بهرهبرداری از آن نیز باید صریحاً در قرارداد نوشته شود.
خسارت تأخیر، تحویل ناقص و نقض مالکیت فکری چگونه پیشبینی شود؟
برای هر تخلف ضمانت اجرای جداگانه بنویسید؛ مانند مبلغ روزانه تأخیر، مهلت تکمیل خروجی ناقص، هزینه رفع نقص و خسارت استفاده غیرمجاز از کد یا طرح. مبلغ وجه التزام باید روشن باشد؛ زیرا ماده ۲۳۰ قانون مدنی بر همان مبلغ توافقشده تأکید دارد.
فسخ قرارداد و حل اختلاف در پروژه طراحی اپلیکیشن
در قرارداد طراحی اپلیکیشن باید شرایط فسخ، نحوه تسویه و مرجع حل اختلاف از ابتدا مشخص شود. عبارت کلی «در صورت تخلف، قرارداد فسخ میشود» کافی نیست؛ نوع تخلف و مهلت جبران آن باید نوشته شود.
کارفرما در چه شرایطی حق فسخ دارد؟
مواردی مانند تأخیر غیرموجه، توقف طولانی پروژه، تحویل خروجی مغایر با پیوست فنی، نقض محرمانگی یا خودداری از رفع ایرادهای اساسی میتواند برای کارفرما حق فسخ ایجاد کند.
بهتر است پیش از فسخ، اخطار کتبی و مهلت مشخصی برای جبران تخلف، مثلاً هفت روز کاری، در نظر گرفته شود.
طراح چه زمانی میتواند ادامه پروژه را متوقف کند؟
عدم پرداخت قسط سررسیدشده، تحویلندادن اطلاعات ضروری یا پاسخندادن کارفرما در مهلت مقرر میتواند موجب توقف کار شود. قرارداد باید مشخص کند این توقف چه اثری بر تاریخ تحویل دارد و پس از چه مدتی حق فسخ برای طراح ایجاد میشود.
بعد از فسخ، تکلیف مبالغ پرداختشده و فایلهای تولیدشده چیست؟
هزینه باید براساس مراحل انجامشده محاسبه شود. طراح فایلها و کدهای مربوط به بخشهای پرداختشده را تحویل دهد و مبلغ مراحل اجرانشده بازگردانده شود. وضعیت پیشپرداخت، هزینه سرویسهای خریداریشده و دسترسیهای پروژه نیز باید روشن باشد.
داوری، دادگاه صالح و مدارک اثبات اختلاف را مشخص کنید
در صورت انتخاب داوری، مشخصات داور، شیوه انتخاب جانشین و محل داوری را بنویسید. در غیر این صورت، مرجع قضایی صالح باید با توجه به مقررات قانونی تعیین شود. امکان ارجاع اختلاف به داوری با توافق طرفین در قانون آیین دادرسی مدنی پیشبینی شده است.
نسخههای قرارداد، پیوست فنی، صورتجلسه تحویل، رسید پرداخت، ایمیلها و پیامهای ثبتشده را نگه دارید؛ زیرا دادهپیام نیز میتواند ارزش اثباتی داشته باشد.