پیش از سفارش نرم‌افزار چه چیزهایی را آماده کنیم؟

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

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

از مسئله شروع کنید، نه از راه‌حل

خیلی‌ها با یک راه‌حل در ذهن می‌آیند: «برایم یک اپلیکیشن موبایل بساز» یا «یک سایت با داشبورد می‌خواهم». قبل از آن، مسئله را با زبان ساده بنویسید. امروز چه چیزی خوب کار نمی‌کند؟ چه کسانی تحت تأثیرند؟ این وضعیت چقدر زمان، پول یا فرصت از شما می‌گیرد؟

  • وضعیت فعلی را همان‌طور که هست شرح دهید، همراه با راه‌های میان‌بُری که تیم شما استفاده می‌کند (اکسل، پیام‌رسان، فرم‌های کاغذی).
  • بگویید بعد از ساخته شدن نرم‌افزار چه چیزی باید فرق کند.
  • مشخص کنید چه نتیجه‌ای را موفقیت پروژه می‌دانید، مثلاً «تأیید سفارش‌ها به‌جای یک روز در چند دقیقه انجام شود».

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

مشخص کنید چه کسانی از آن استفاده می‌کنند

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

  • مشتریان یا بازدیدکنندگان که از بخش عمومی استفاده می‌کنند.
  • کارکنان که امور روزمره را انجام می‌دهند.
  • مدیران که به گزارش و نظارت نیاز دارند.
  • مدیران سیستم که حساب‌ها، تنظیمات و محتوا را مدیریت می‌کنند.

برای هر گروه چند جمله بنویسید که چه کارهایی باید انجام دهند و با فناوری چقدر راحت‌اند. سیستمی که کارکنان انبار با دستکش و روی گوشی استفاده می‌کنند، با سیستمی برای حسابداران اداری طراحی کاملاً متفاوتی دارد.

جریان‌های کاری اصلی را گام‌به‌گام شرح دهید

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

برای هر جریان کاری این موارد را یادداشت کنید:

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

موارد استثنا به‌اندازهٔ مسیر ایده‌آل اهمیت دارند. تیم‌ها اغلب می‌فهمند بخش بزرگی از پیچیدگی واقعی در همین حالت‌های غیرمعمول پنهان است.

موارد ضروری را از موارد دلخواه جدا کنید

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

داده‌ها و سیستم‌های موجودتان را جمع کنید

نرم‌افزار جدید به‌ندرت تنها زندگی می‌کند. فکر کنید به چه چیزهایی باید وصل شود و چه چیزهایی را باید از قبل بگیرد.

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

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

نمونه‌ها و مرجع‌ها را جمع کنید

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

به محتوا، هویت بصری و زبان فکر کنید

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

  • آیا از قبل لوگو و راهنمای هویت بصری دارید؟
  • آیا محصول به بیش از یک زبان ارائه می‌شود؟ اگر بله، آیا رابط کاربری باید هم راست‌به‌چپ و هم چپ‌به‌راست را پشتیبانی کند؟
  • چه کسی محتوا را می‌نویسد و ترجمه می‌کند و چه کسی تأیید می‌کند؟

محدودیت‌های فنی و حقوقی را بشناسید

بعضی محدودیت‌ها بهتر است از ابتدا گفته شوند، نه اینکه وسط کار کشف شوند.

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

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

بودجه و زمان‌بندی واقع‌بینانه تعیین کنید

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

به بعد از راه‌اندازی هم فکر کنید. نرم‌افزار در تمام عمرش به هاستینگ، به‌روزرسانی، رفع باگ و پشتیبانی نیاز دارد. بپرسید چه هزینه‌های جاری باید انتظار داشت و از ابتدا آن‌ها را در حساب‌هایتان بگنجانید.

مشخص کنید چه کسی از طرف شما تصمیم می‌گیرد

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

بدانید مالک چه چیزی خواهید بود

پیش از امضای هر چیزی، پرسش‌های عملی مالکیت را روشن کنید.

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

پرسیدن این سؤال‌ها از ابتدا از غافلگیری‌های ناخوشایند جلوگیری می‌کند و دربارهٔ شفاف بودن تیم هم چیزهای زیادی به شما می‌گوید.

برای تیم توسعه سؤال آماده کنید

یک جلسهٔ اول خوب دوطرفه است. شما هم دارید آن‌ها را ارزیابی می‌کنید. این سؤال‌ها را در نظر بگیرید:

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

یک چک‌لیست ساده برای همراه بردن

  • توضیح یک‌پاراگرافی مسئله و هدف.
  • فهرست انواع کاربران و کارهایی که هرکدام باید انجام دهند.
  • پنج یا شش جریان کاری کلیدی همراه با موارد استثنا.
  • فهرست ضروری، مهم و دلخواه.
  • نمونه‌هایی از داده‌ها، اسناد و فرم‌های موجود.
  • فهرست سیستم‌هایی که نرم‌افزار باید به آن‌ها وصل شود.
  • چند سایت یا اپلیکیشن مرجع، همراه با یادداشت دربارهٔ آنچه می‌پسندید.
  • دارایی‌های برند و برنامه‌ای برای اینکه چه کسی محتوا را تأمین می‌کند.
  • محدودیت‌های شناخته‌شده: هاستینگ، دستگاه‌ها، امنیت، زبان‌ها.
  • بازهٔ بودجه، تاریخ هدف و یک تصمیم‌گیرندهٔ مشخص.

جمع‌بندی

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

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

نظرها