اغلب گفته می شود که تحلیلگران تجاری نیازمندی های عملکردی را دوست دارند و بنابراین به طور طبیعی تمایل دارند به سمت این الزامات گرایش پیدا کنند. از سوی دیگر، الزامات غیر کاربردی متوسط در سایه رها می شوند و به ندرت تا آخرین لحظه به آنها فکر می شود. انجام این کار باعث ایجاد مشکلات زیادی در هنگام راه اندازی سیستم می شود. در حالی که یک سیستم/محصول ممکن است عالی به نظر برسد، اگر عملکرد آن وجود نداشته باشد، هیچ کس از آن استفاده نخواهد کرد. این امر بر تجارت بسیار بیشتر از زمانی که یک ویژگی خوب در محصول نهایی گنجانده نشده باشد، تأثیر می گذارد.
تفاوت ها
الزامات عملکردی تحت «آنچه» محصول در تلاش است انجام دهد، در حالی که الزامات غیرعملکردی تحت «چگونه» آن را انجام خواهد داد. بنابراین، قابل درک است که چرا تحلیلگران کسب و کار ترجیح می دهند بر الزامات عملکردی تمرکز کنند – جایی که می توانید به کاربران، مشتریان و مدیران نشان دهید که محصول چه کاری انجام می دهد. بسیار دشوار است که مدیران یا مشتریان را در مورد الزامات غیر کاربردی هیجان زده کنید.
یک فنجان قهوه
در حالی که می توان گفت الزامات غیرعملکردی به اندازه الزامات عملکردی جذاب نیستند. من واقعاً مطمئن نیستم که چرا الزامات غیرعملکردی به آخرین لحظه سپرده می شود. وقتی قهوه بیرون میخرم، از شرکت سازنده کانتینر میخواهم که به نحوه حمل و نقل و همچنین آنچه در ظرف است توجه کند. بیایید این را جلوتر ببریم، من به طور منظم وب سایت بی بی سی را مرور می کنم و دلیل استفاده من از این محصول نه تنها به دلیل محتوا بلکه عملکرد خوب آن یعنی سرعت بارگیری صفحات است.
موارد قابل توجه زیادی وجود داشته است که شرکت به الزامات غیرعملکردی توجه کامل نداشته است. شما اغلب می شنوید که چگونه یک وب سایت خراب می شود زیرا شرکت ظرفیت مورد نیاز خود را کاملاً پیش بینی نکرده است. اگر از توییتر در روزهای اولیهاش استفاده میکردید، با این نهنگ روبرو میشدید، زمانی که توییتر به اندازهی ظرفیتش غرق شده بود و بنابراین نمیتوانست از پس تقاضاها برآید. این به طور طبیعی باعث ناامیدی بالایی برای خدمات شد و آنها در مورد نارضایتی خود بسیار با صدای بلند صحبت کردند. شکست نهنگ توییتر یک مثال عالی از اتفاقی است که وقتی یک شرکت به درستی سطح ظرفیت را پیش بینی نمی کند یا مقیاس پذیری محصول خود را درک نمی کند، اتفاق می افتد.
چیزهای کلیدی برای جستجو
اگر در مورد الزامات غیرعملکردی تازه کار هستید، در اینجا حوزه های مختلف الزامات غیرعملکردی وجود دارد که باید هنگام ایجاد این الزامات در نظر بگیرید.
-
عملکرد: زمان پاسخگویی سیستم از چه نقطه ای و تحت چه شرایطی باید اندازه گیری شود؟
-
حجمی: چند کاربر به سیستم دسترسی خواهند داشت؟
-
مقیاس پذیریحداکثر اندازه تراکنش چقدر است؟ سطح اوج کاربران چقدر است؟
-
ظرفیت:چند کاربر به سیستم دسترسی خواهند داشت؟
-
در دسترس بودنسیستم در چه ساعات و روزهایی در دسترس خواهد بود؟
-
اعتبارچه قابلیت اطمینان (به استثنای قطعی های برنامه ریزی شده) مورد نیاز است؟
-
قابلیت نگهداریسیستم چگونه حفظ خواهد شد؟ چه کسی مسئول نگهداری است؟
-
حفاظت: چگونه سیستم در برابر هک محافظت می شود؟ اگر هک می شد چه اتفاقی می افتاد؟
-
حسابرسی: چه مدت برای حفظ داده ها نیاز دارید؟ آیا باید بدانید چه کسانی به سیستم شما دسترسی دارند و به چه چیزی دسترسی دارند؟
-
بازیابی: سیاست بازیابی فاجعه شما در صورت خرابی سیستم چیست؟
الزامات غیر کاربردی دیگری نیز وجود دارد که در بالا به آنها اشاره نکردم که شاید بخواهید نگاهی به آنها بیندازید. قابلیت همکاری، سازماندهی، سهولت خدمات و سهولت استفاده
برانگیختن الزامات غیر کاربردی
استخراج الزامات غیرعملکردی به آسانی این نیست که از شرکت بپرسیم که کدام «الزامات نگهداری» لازم است. شما باید با سایر اعضای تیم پروژه صحبت کنید، به عنوان مثال، یک مهندس فنی باید بتواند در بسیاری از این نیازها به شما کمک کند.
اگر نمیتوانید یا نمیتوانید با مهندس فنی صحبت کنید، با کاربران نهایی سیستم صحبت کنید تا وضعیت «همانطور که هست» فعلی را به دست آورید. با داشتن خط مبنا می توانید اطلاعات را دسته بندی کنید. به عنوان مثال، یک دستیار فروش هنگام صحبت با مشتری، صفحه درخواست فروش را نمایش می دهد
هدف:هدف پشت این سناریو چیست؟
الزامات فرآیند:بازیابی اطلاعات مشتری
نیاز غیر کاربردی: صفحه نمایش با چه سرعتی بارگذاری می شود؟
با طبقه بندی اطلاعات به روش فوق، به شما این امکان را می دهد که تجزیه و تحلیل و ارزیابی کنید که آیا نیازی به یک نیاز وجود دارد یا خیر و اولویت برای آن نیاز چیست.
هنگام بررسی الزامات غیرعملکردی مهم است که آنها را به صورت مجزا به نتیجه نرسانید.
مستندات
نوع روشی که در پروژه استفاده می کنید به ابزاری که برای اسناد استفاده می کنید بستگی دارد. برای پروژه های آبشار، از کاتالوگ نیازمندی ها برای مستندسازی نیازمندی های غیر کاربردی استفاده خواهید کرد. در Agile باید آن را در پشت کارت مستند کنید.
بنابراین، دفعه بعد که میخواهید الزامات را استخراج کنید، ابتدا با الزامات غیرعملکردی شروع کنید.