قرار هست چی رو بررسی کنیم؟
قبل از اینکه ساختن را شروع کنیم، از کجا مطمئن شویم نیازمندیهایمان درست، کامل و مورد توافقاند؟
بعد از اینکه نیازمندیها را جمع، تحلیل و دستهبندی کردیم، یک مرحلهی حیاتی مانده: اعتبارسنجی. بدون آن ممکن است همهی تلاش ما بر پایهی اطلاعات نادرست، ناقص یا نامعتبر بنا شده باشد. این مرحله جایی است که با قاطعیت میگوییم: «ما دقیقاً میدانیم چه میخواهیم و همین چیزی است که باید ساخته شود.»
هدف
کامل بودن و پوشش نیازهای واقعی را بررسی کنیم، ابهام و برداشت دوگانه را حذف کنیم، از ذینفعها توافق و تأیید نهایی بگیریم، و از بازطراحی پرهزینه در مرحلههای بعد جلوگیری کنیم.
چهار تکنیک
۱. بازبینی گروهی با ذینفعها (Requirements Review). جلسهای با حضور کاربر، مدیر پروژه، برنامهنویس و دیگر افراد مرتبط. مزیتش اجماع و بازخورد مستقیم است. حتماً از مستندات تصویری و نمونه برای توضیح استفاده کنید.
۲. نمونهسازی سریع (Prototyping). طراحی سریع یک رابط یا نمونهی اولیه تا ببینیم با نیاز واقعی میخواند یا نه. برداشت اشتباه را کم میکند و برای سیستمهایی که تعامل زیادی با کاربر دارند (UI/UX حساس) مناسب است.
۳. سناریو. سناریوهای واقعی استفاده از سیستم را تعریف میکنیم و میبینیم نیازمندیها جوابگوی آنها هستند یا نه. مثلاً: «کاربری تازه در روز تعطیل وارد سیستم میشود و میخواهد درخواست پشتیبانی ثبت کند.» پرسش: آیا سیستم چنین حالتی را پیشبینی کرده؟
۴. چکلیست ویژگیهای یک نیازمندی معتبر.
| ویژگی | توضیح |
|---|---|
| واضح و بیابهام | همه آن را یکسان تفسیر کنند |
| قابل اندازهگیری | بشود درستی انجامش را بررسی کرد |
| قابل پیادهسازی | با منابع و فناوری موجود عملی باشد |
| قابل پیگیری | در طراحی، پیادهسازی و تست ردیابی شود |
مستنداتِ خروجی
نسخهی نهایی سند نیازمندیها، امضای تأیید ذینفعها، صورتجلسهی بازبینیها و اصلاحات انجامشده، و چکلیست اعتبارسنجیِ پرشده.
اشتباههای رایج
فرض گرفتن بعضی نیازها بدون مستند کردن، نادیده گرفتن ذینفعهای غیرمستقیم، و زبان مبهم، مثل «کارکرد خوب» یا «کاربرپسند باشد.»
به نظرم اعتبارسنجی لحظهای است که تحلیلگر مطمئن میشود همهی نیازمندیها «دقیق، قابل اجرا و تأییدشده» هستند. این کار هم جلوی خطاهای پرهزینهی آینده را میگیرد، هم اعتماد ذینفعها به کل پروژه را بالا میبرد.
اعتبارسنجیتحلیل_نیازمندیبازبینی
مرتبط: 20 آشنایی با سیستمهای خبره و نقش آنها در تحلیل (وقتی دانش خبرهها را بخواهیم به سیستم بسپاریم).