قرار هست چی رو بررسی کنیم؟

قبل از اینکه ساختن را شروع کنیم، از کجا مطمئن شویم نیازمندی‌هایمان درست، کامل و مورد توافق‌اند؟

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

هدف

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

چهار تکنیک

۱. بازبینی گروهی با ذی‌نفع‌ها (Requirements Review). جلسه‌ای با حضور کاربر، مدیر پروژه، برنامه‌نویس و دیگر افراد مرتبط. مزیتش اجماع و بازخورد مستقیم است. حتماً از مستندات تصویری و نمونه برای توضیح استفاده کنید.

۲. نمونه‌سازی سریع (Prototyping). طراحی سریع یک رابط یا نمونه‌ی اولیه تا ببینیم با نیاز واقعی می‌خواند یا نه. برداشت اشتباه را کم می‌کند و برای سیستم‌هایی که تعامل زیادی با کاربر دارند (UI/UX حساس) مناسب است.

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

۴. چک‌لیست ویژگی‌های یک نیازمندی معتبر.

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

مستنداتِ خروجی

نسخه‌ی نهایی سند نیازمندی‌ها، امضای تأیید ذی‌نفع‌ها، صورت‌جلسه‌ی بازبینی‌ها و اصلاحات انجام‌شده، و چک‌لیست اعتبارسنجیِ پرشده.

اشتباه‌های رایج

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

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

اعتبارسنجیتحلیل_نیازمندیبازبینی

مرتبط: 20 آشنایی با سیستم‌های خبره و نقش آن‌ها در تحلیل (وقتی دانش خبره‌ها را بخواهیم به سیستم بسپاریم).