پیگیری نیازمندیهای پروژه، بسته به محیط توسعه شما میتواند چالش برانگیز باشد. برخی از پروژهها ممکن است فقط چند مورد نیازمندی داشته باشند، در حالی که برخی دیگر ممکن است دهها مورد از نیازمندیهای خود را برای بررسی و انجام تستهای لازم، در لیست تیم خود قرار داده باشند. برای توسعه نرمافزار انواع مختلفی از نیازمندیها باید در نظر گرفته شود، از جمله:
- نیازمندیهای کسب و کار
- نیازمندیهای کاربر
- نیازمندیهای رابط کاربر (UI)
- نیازمندیهای عملکردی و غیر عملکردی
- نیازمندیهای فنی
غیر معمول نیست که کسب و کارها میتوانند نرمافزار جدیدی را با مشکلات و اشکالاتی که هزینههای بیشماری دارند، ارائه دهند. فقط در عرض چند دقیقه، یک شرکت بزرگ، بسته به شدت موضوع، میتواند از لیست میلیونها نفر خارج شود.
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20879%20495'%3E%3C/svg%3E)
راهحل چیست؟
برای جلوگیری از خطاهای پرهزینه، ماتریس ردیابی نیازمندیها (RTM)، نقش بسیار موثری را بازی میکند. در این مقاله، ما به شما نشان خواهیم داد که چگونه با این راهحل، مهارتهای مدیریت پروژه و مدیریت نیازمندیهای خود را به سطح بالاتری برسانید و چگونه روند رشد کسب و کار خود را در بازار رقابتی این روزها، در اوج نگه دارید.
ماتریس ردیابی نیازمندیها چیست؟
ماتریس ردیابی نیازمندیها ترجمه عبارت Requirement Traceability Matrix است و به اختصار RTM خوانده میشود. این ماتریس، سندی است که نیازهای کاربر را با موارد آزمایشی ترسیم و ردیابی میکند. این سند کلیه نیازهای پیشنهادی مشتری و قابلیت ردیابی نیازها را در یک جا، که در پایان چرخه عمر توسعه نرمافزار ارائه خواهد شد، ضبط میکند.
هدف اصلی ماتریس ردیابی نیازمندی، تأیید این نکته است که همه موارد مورد نیاز، از طریق مراحل آزمایشی بررسی میشوند، به گونهای که هیچ کارایی در هنگام آزمایش نرمافزار برداشته و حذف نشود.
چرا ماتریس ردیابی نیازمندیها مهم است؟
دستور کار اصلی هر آزمایشکننده، باید درک نیاز مشتری باشد و مطمئن شود که محصول خروجی، بدون عیب و نقص و طبق خواستههای مشتری تحویل داده شود. برای دستیابی به این هدف، هر تیم تضمین کننده کیفیت (QA) باید این نیازها را کاملا درک کرده و موارد آزمایشی مثبت و منفی ایجاد کند.
این مسئله بدان معنی است که نیازهای نرمافزاری ارائه شده توسط مشتری، باید بیشتر به سناریوهای مختلف تقسیم شود و موارد دیگر نیز برای آزمایش بهترین مولفهها، تقسیم شود. هر یک از این پروندهها باید به صورت جداگانه اجرا شوند.
به بیان دیگر
زمانی که به این سوال میاندیشیم که چرا ردیابی نیازمندیها مهم است؟ این موارد را در خاطر خواهید داشت که ردیابی نیازمندیها برای مدیریت موثر نیازهای ما ضروری خواهد بود. زیرا که:
هنگامی ماتریس ردیابی که به خوبی انجام شود، چرخه یک نیازمندی را دنبال میکند. این کار از همان زمان بررسی یک نیازمندی، شروع میشود و با تحقق این شرط ادامه مییابد. بنابراین این ماتریس اطمینان حاصل میکند که نیازمندیهای شما اهداف اصلی شما را برآورده میکند. به عنوان مثال، این ماتریس به شما اثبات میکند که محصول نهایی، شرایط مطابقت با نیازهای اصلی شما را داشته است یا خیر.
ماتریس ردیابی نیازمندیها، همچنین به تیم تضمین کیفیت شما کمک میکند تا آنچه را که باید آزمایش شود، درک کند. این ماتریس با تهیه نقشه موارد آزمایشی و تقسیم این موارد به بخشهای کوچکتر و قابل دستیابی، پوشش آزمون را بهبود میبخشد. بنابراین، تیم تضمین کیفیت قادر به آزمایش همه موارد درست خواهد بود. در نتیجه، شما میتوانید نشان دهید که نیازمندیهای شما به درستی اجرا شده است.
از ماتریس ردیابی نیازمندیها، همچنین میتوان برای تصمیمگیری در طول توسعه محصول، استفاده کرد. شما قادر خواهید بود درک کنید که طراحی چگونه تحت تأثیر نیازمندیها قرار میگیرد و اگر نیازمندی تغییر کند، میتوانید تأثیر آن تغییر را برای توسعه محصول، در نظر قرار دهید.
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20964%20543'%3E%3C/svg%3E)
ماتریس ردیابی نیازمندیها، برای مدیریت پروژهها نیز مفید است. با تکیه بر اطلاعات این ماتریس، شما دقیقا میدانید که چقدر پیشرفت کردهاید. در نهایت، قادر خواهید بود دامنه نیازمندیهای خود را مدیریت کنید. با پیوند دادن نیازمندیها خود با آزمایشات، خواهید فهمید که چگونه میتوانید به طور واقعی این شرایط را برآورده کرده و همچنان به موقع کار خود را تحویل دهید.
پاسخ به دو سوال مهم
اکنون میدانید که ماتریس ردیابی نیازمندی مهم است. اما اگر ماتریس ردیابی ضعیفی داشته باشید چه اتفاقی میافتد؟ قابلیت ردیابی ضعیف میتواند دستیابی به اهداف را دشوار کند. همچنین در انجام آزمایشهای مناسب، تصمیمگیری و مدیریت پروژهها وقفه ایجاد نماید.
در اینجا سوالی دیگری مطرح میشود که توجه به آن مهم است: “چگونه اطمینان حاصل شود که با توجه به همه سناریوها، موارد احتمالی مورد آزمایش قرار گرفته است؟” به بیان دیگر: “چگونه اطمینان حاصل کنیم که هیچ نیازمندی از چرخه آزمایش خارج نمیشود؟” یک راه ساده توجه مدوام به ماتریس ردیابی نیازمندیها، طرحریزی سناریوهای آزمون مربوطه و موارد آزمایشی است.
در یک تعریف کلی
ماتریس ردیابی نیازمندی، به طور معمول یک کاربرگ است که شامل نیازمندیها با تمام سناریوها و موارد آزمایش ممکن و وضعیت فعلی آنها است. یعنی اگر قبولی یا شکستی در پروژه رخ داده باشد، باید در این سند چرا و چگونگی آن ذکر شده باشد. این سند به تیم آزمایش کمک میکند تا سطح فعالیتهای آزمایش انجام شده برای محصول خاص را درک کنند.
کدام پارامترها را در ماتریس ردیابی نیازمندی قرار دهید؟
- شناسه مورد نیاز
- نوع و توضیحات مورد نیاز
- موارد آزمون با وضعیت خاص
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20801%20510'%3E%3C/svg%3E)
درتصویر بالا یک ماتریس قابلیت ردیابی نیازمندیها وجود دارد. البته در یک پروژه آزمایش نرمافزار معمولی، ماتریس قابلیت ردیابی بیش از این پارامترها را در نظر خواهد داشت. اما همانطور که در بالا نشان داده شده است، با یک ماتریس ردیابی مورد نیاز میتوانید:
- پوشش مورد نیاز را در تعداد موارد آزمون نشان دهید
- وضعیت طراحی و همچنین وضعیت اجرای مورد آزمایش خاص را بررسی کنید.
- اگر آزمون پذیرش کاربر وجود داشته باشد (که توسط کاربران انجام شود)، وضعیت UAT نیز میتواند در همان ماتریس ضبط شود.
- نقایص مربوط به آن و وضعیت فعلی را نیز میتوان در همان ماتریس ذکر کرد.
این نوع ماتریس میتواند با استفاده از یک محل برای ارائه چند سرویس (One Stop Shop) شرایط مناسب برای همه فعالیتهای آزمایشی را فراهم کند. جدا از حفظ این سند در یک فایل اکسل جداگانه. یک تیم آزمایشی همچنین میتواند نیازهای موجود در مورد ابزارهای مدیریت آزمون را انتخاب کند.
انواع ماتریس ردیابی نیازمندیها
در مهندسی نرمافزار، ماتریس ردیابی نیازمندیها را میتوان به سه جز اصلی تقسیم کرد که در زیر ذکر شده است:
قابلیت ردیابی رو به جلو:
از این ماتریس برای بررسی پیشرفت پروژه در مسیر مورد نظر و برای دستیابی به محصول مناسب استفاده میشود. این ماتریس اطمینان حاصل میکند که هر نیازمندی برای محصول خاص اعمال میشود و هر مورد کاملا آزمایش شده است. در واقع نیازمندیها را برای آزمایش موارد مورد نظر، ترسیم میکند.
قابلیت ردیابی به عقب یا معکوس:
این ماتریس برای اطمینان از باقی ماندن (و ادامه دادن) محصول فعلی، در مسیر درست استفاده میشود. هدف اصلی پشت این نوع ماتریس این است که تأیید کنیم ما با افزودن کد، عناصر طراحی، آزمایش یا سایر کارهایی که در نیازمندیها مشخص نشده است، دامنه پروژه را گسترش نمیدهیم. در اصل، موارد آزمایشی را بر اساس نیازمندیها ترسیم میکنیم.
قابلیت ردیابی دو جهته (جلو + عقب):
این ماتریس قابلیت ردیابی تضمین میکند که کلیه موارد مورد نیاز، تحت آزمایش قرار میگیرند. این ماتریس اثر تغییرات، در موارد لازم و تحت تأثیر نقص در یک محصول کاری و بالعکس را تجزیه و تحلیل میکند.
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20756%20325'%3E%3C/svg%3E)
نتیجه سخن
در متن پیش رو اشاره کردیم که، ماتریس ردیابی نیازمندیها، تمام نیازهای پیشنهادی مشتری و قابلیت ردیابی آنها را فقط در یک سند ارائه شده در پایان چرخه عمر پروژه ثبت میکند. به بیان دیگر، در یک پروژه توسعه نرمافزار، ماتریس ردیابی نیازمندیها، سندی است که برای تأیید اتصال همه موارد مورد نیاز، به موارد آزمایشی استفاده میشود.
دلیل اصلی استفاده مدیران پروژه از ماتریس ردیابی نیازمندیها، تأیید این نکته است که کلیه نیازها در مرحله آزمایش محاسبه میشوند. این ماتریس معمولا به ارزیابی تأثیر نیازمندیهای پروژه کمک میکند. وقتی نیازمندیها در میانه راه پروژه تغییر کنند، یک ماتریس ردیابی نیاز، به شما امکان میدهد گردش کار تأثیرپذیر، موارد آزمایشی، مواد آموزشی، کد نرمافزار و غیره را مشاهده کنید.