قرار هست چی رو بررسی کنیم؟
نیازهایی که جمع کردیم هنوز خاماند؛ چطور به «دانش قابل طراحی» تبدیلشان کنیم؟
تا اینجا یاد گرفتیم نیازمندیها را چطور از ذینفعها و کاربرها جمع کنیم. ولی این دادهی خام هنوز برای طراحی سیستم آماده نیست. باید تحلیل شوند، ساختار بگیرند، دستهبندی شوند و از همه مهمتر تضاد و ابهامشان برطرف شود. اینجاست که «داده» به «دانش طراحی سیستم» تبدیل میشود.
هدف این مرحله حذف ابهام و تکرار، پیدا کردن تضاد بین نیازها، تبدیل نیازهای زبان طبیعی به مستندات فنی، و اولویتبندی خواستهها برای تصمیم بهتر در طراحی است.
انواع دستهبندی
نیازمندیهای کارکردی (Functional) آنچه سیستم باید انجام دهد، مثل «کاربر بتواند گزارش ماهانهی عملکرد تولید کند» یا «سیستم رمز عبور را هنگام ورود اعتبارسنجی کند.»
نیازمندیهای غیرکارکردی (Non-Functional) ویژگیهای کیفی سیستم، مثل «پاسخگویی کمتر از ۳ ثانیه» یا «امنیت داده مطابق استاندارد OWASP.»
یک دستهبندی دیگر هم داریم، بر حسب اهمیت:
| نوع | توضیح | مثال |
|---|---|---|
| اجباری | بدون آن سیستم ناقص است | لاگین امن |
| اختیاری | ارزشافزاست ولی ضروری نیست | داشبورد گرافیکی |
| آیندهنگر | برنامهریزی برای توسعهی بعدی | اتصال به یک ERP خارجی |
تعارض بین نیازها
در بسیاری از پروژهها ذینفعها خواستههایی دارند که با هم در تضادند. مثلاً بخش مالی میخواهد فقط چند مدیر خاص به گزارشها دسترسی داشته باشند و واحد بازاریابی میخواهد همهی دادهها آزاد و قابل دانلود باشد. اینجا تحلیلگر باید تضاد را شناسایی کند، با ذینفعها گفتگو کند، پیشنهاد حل تعارض بدهد و راهحل را مستند و تأیید بگیرد.
ابزارها
برای تحلیل از Use Case Diagram (تعامل کاربر با سیستم)، Activity Diagram یا BPMN (جریان کار)، Decision Table (مستند کردن تصمیمها) و Mind Map یا Affinity Diagram (گروهبندی نیازها) استفاده میکنیم.
اولویتبندی
معیارهای معمول: ارزش تجاری (Business Value)، هزینهی پیادهسازی، زمان لازم و ریسک مرتبط. یک ابزار محبوب روش MoSCoW است: Must Have، Should Have، Could Have و Won’t Have Now.
مستندسازی نهایی
خروجی این مرحله باید سندی شفاف و دقیق باشد، شامل فهرست دستهبندیشدهی نیازمندیها، توضیح دقیق هر نیاز، اولویتها، سناریوها و نمودارهای پشتیبان و تأیید کتبی ذینفعها.
به نظرم این مرحله مثل جدا کردن طلا از شنهای رودخانه است: دادهی خام را پالایش میکنیم، تضادها را برطرف میکنیم و آمادهاش میکنیم برای طراحی.
تحلیل_نیازمندیدسته_بندیاولویت_بندیMoSCoW
مرتبط: 19 اعتبارسنجی نیازمندیها (آخرین قدم: مطمئن شویم همین چیزی که نوشتیم همان چیزی است که باید ساخته شود).