اصل INVEST برای ایجاد داستانهای کاربری
علاوه بر یک فرمت استاندارد و عناصر کامل، یک داستان کاربری همچنین باید از INVEST اصول پیروی کند: 1. مستقل؛ 2.قابل مذاکره؛ 3.؛ 3.با ارزش؛ 4.؛ 4.قابل برآورد؛ 5.؛ 5.کوچک؛ 6.؛ 6.قابل تست.قابل تست.
1. مستقل – مهم است که یک داستان کاربری تا حد ممکن از سایر داستانهای کاربری مستقل باشد. حفظ استقلال بین داستانهای کاربری نه تنها اولویتبندی و هماهنگی را تسهیل میکند، بلکه برنامهریزی انتشار و تکرار را نیز آسانتر میکند، فهم مستقل، پیگیری، پیادهسازی، تست و تحویل مکرر را تسهیل میکند، بلکه دامنه برآورد اندازه داستان کاربری را نیز واضحتر میکند و در نتیجه تعصب برآورد را کمتر میکند.
2. قابل مذاکره – محتوای یک داستان کاربری قابل مذاکره است؛ یک داستان کاربری یک قرارداد نیست. یک داستان کاربری فقط یک توصیف کوتاه از داستان کاربری است بدون جزئیات زیاد؛ جزئیات خاص در مرحله ارتباط تولید میشوند. یک داستان کاربری با جزئیات زیاد در واقع کاربر، ایدههای تیم و ارتباطات را محدود میکند.
3. با ارزش – هر داستان باید برای مشتری ارزشمند باشد (چه کاربر، خریدار یا نقش داخلی شرکت باشد). داستانهای کاربری برای کاربر نهایی ارزشمند هستند، بنابراین باید از دیدگاه کاربر نوشته شوند و یک ویژگی را توصیف کنند نه یک وظیفه.
این ویژگی تسهیلکننده انتقال از سبک کار سنتی مبتنی بر دستور به سبک کار خودران و ارزشمحور برای اعضای توسعه و تست تیم است، به طوری که هر کس در تیم ارزش کاری که هر روز انجام میدهد را بداند.
4. قابل برآورد (قابل ارزیابی) – یک بخش بسیار مهم در جلسه برنامهریزی، برآورد امتیاز داستان است. در واقع، این یک برآورد کلی از داستان کاربری است که باید توسعه یابد تا تیم بتواند پیچیدگی (بار کاری) این داستان کاربری را بداند.
تمرکز بر این است که آیا داستان کاربری میتواند در تکرار فعلی بر اساس شرایط پذیرش آن داستان کاربری و DoD (معیارهای تکمیل) تعریف شده توسط تیم، تکمیل شود یا خیر، و اگر نتواند تکمیل شود، دلیل آن ارائه میشود و PO تصمیم میگیرد که آیا داستان کاربری را تقسیم کند یا دوباره طراحی کند.
مشکلاتی که برآورد داستان را برای توسعهدهندگان دشوار میکند ناشی از: عدم دانش در زمینه (که در این صورت نیاز به ارتباط بیشتر است) یا اینکه داستان خیلی بزرگ است (که در این صورت نیاز به تقسیم به قطعات کوچکتر دارد).
5.کوچک – یک داستان خوب باید از نظر بار کاری تا حد ممکن کوتاه باشد، ترجیحاً بیشتر از 10 نفر ایدهآل در روز نباشد، حداقل برای اطمینان از اینکه در یک تکرار تکمیل میشود. هر چه داستان کاربری بزرگتر باشد، ریسک بیشتری در برنامهریزی، برآورد بار کاری و غیره وجود دارد.
6. قابل تست (قابل تست) – یک داستان کاربری باید قابل تست باشد تا تأیید کند که میتواند تکمیل شود. اگر یک داستان کاربری قابل تست نباشد، نمیتوانید بدانید که چه زمانی تکمیل خواهد شد. یک مثال از یک داستان کاربری غیرقابل تست: نرمافزار باید استفاده آسانی داشته باشد.
سه راهنما
یک داستان کاربری اساساً یک داستان کاربری خوب است زمانی که اصول INVEST رعایت شود. سپس بر روی سه راهنما تمرکز میکنیم تا به بهتر رعایت کردن اصول هنگام تولید داستانهای کاربری کمک کنیم.
سه راهنمایی عبارتند از: یک کاربر، ارزش کامل و عدم وابستگی.
یک نوع کاربر – فقط یک نوع کاربر را شامل کنید، زیرا کاربران متعدد معمولاً تفاوتهای جزئی دارند. معمولاً یک کاربر معمولی است که نیاز مشترکی از نوعی دارد.
ارزش کامل – یک ارزش مشتری را به طور کامل ارائه دهید. یک داستان کاربری کامل به این معنی است که وقتی این داستان کامل است، کاربر میتواند به یک هدف واضح و معنادار برسد.
عدم وابستگی – سه نوع رایج وابستگی عبارتند از: همپوشانی، توالی و دربرگیری.
به طور کلی، باید از نقاط عملکردی همپوشان بین داستانها اجتناب کرد؛ روابط توالی یک واقعیت هستند و در بیشتر موارد میتوان آنها را به طرقی حل کرد؛ و روابط دربرگیری برای سیستمهای پیچیده مفید هستند و تأثیراتی بر زمانبندی انتشارها و برنامههای تکرار دارند که نیاز به توجه دارند.
وابستگیهای همپوشان
وابستگیهای همپوشان نوعی وابستگی هستند که بیشترین مشکل را ایجاد میکنند، به ویژه زمانی که چندین داستان کاربری شامل چندین بخش همپوشان مختلف باشند. پیدا کردن مجموعهای از داستانهای کاربری که بتواند مجموعه ویژگیها را برای آن حداقل محصول قابل عرضه نماید، دشوار است، که باید شامل و فقط شامل ویژگیهای مورد نیاز یک بار باشد.
راه حل
بخشهای همپوشان را به عنوان داستانهای کاربری جداگانه حذف کنید.
تقسیم منطقی داستانهای کاربری و نگهداشتن همپوشانیها تنها در یکی از داستانهای کاربری منسجمتر.
از مدل توسعه اسکرام استفاده کنید.
وابستگیهای توالی
وابستگی توالی به این معنی است که برای تکمیل یک داستان کاربری، یک یا چند داستان کاربری دیگر باید قبل از آن تکمیل شوند. وابستگیهای توالی معمولاً بیضرر هستند و راههایی برای کاهش این نوع وابستگیها وجود دارد.
از منظر توسعه چابک، کل سیستم به تدریج از یک محصول حداقل قابل عرضه اولیه به یک محصول قویتر تکامل مییابد، به طوری که هر مرحله بعدی بر اساس مراحل قبلی ساخته میشود.
اما از منظر دیگر، وابستگیهای توالی غیرضروری باعث میشود که رتبهبندی و اولویتبندی دشوارتر شود، که به نوبه خود بر توسعه برنامههای انتشار و تکرار تأثیر میگذارد و تخمین اندازه داستانهای کاربری را دشوارتر میکند.
راه حل
داستانهای کاربری را در یک تکرار تا حد ممکن از وابستگیهای ذاتی آزاد کنید.
فقط وابستگیهای یکطرفه بین تکرارها را حفظ کنید، با وابستگیهای یکطرفه در زمان از داستانهای تکرارهای بعدی به داستانهای تکرارهای قبلی (وابستگیهای رو به جلو).
حذف وابستگیهای اصلی به عنوان داستانهای جداگانه و عدم ترکیب الزامات وابسته و غیر وابسته در یک داستان.
شامل شدن وابستگیها
وابستگیهای دربرگیرنده به استفاده از مدیریت سلسلهمراتبی در سازماندهی داستانهای کاربری اشاره دارد، مانند مدیریت رایج دو سطحی ویژگی-داستان، که در آن یک ویژگی شامل چندین داستان کاربری است و بنابراین وابستگی دربرگیرندهای از ویژگی به داستانهای زیرمجموعهاش را تشکیل میدهد.
راه حل
سطح داستان کاربری برای برنامهریزی تکرار استفاده میشود و از برنامهریزی تکرار با سطح ویژگی که میتواند برای برنامهریزی انتشار استفاده شود، اجتناب میکند.
سطح ویژگی نیز میتواند تقسیم شود تا به سطح یک ویژگی حداقل قابل عرضه برسد و داستانهای کاربری که شامل آن است میتوانند به طور جداگانه به ویژگیهای جدید تقسیم شده گروهبندی شوند.
با پیروی از مفهوم حداقل محصول قابل عرضه، یک ویژگی در چندین تکرار از چندین داستان کاربری پیادهسازی میشود، که هر یک میتواند منجر به یک محصول قابل تحویل بالقوه یا ارائه بازخورد داخلی یا خارجی شود.
منابع
- داستانهای کاربری مؤثر – راهنمای 3C و INVEST
- تم در برابر حماسه در برابر داستان کاربری در برابر وظیفه
- نقشه داستان کاربری
- نقشهبرداری داستان کاربری چیست؟
- اهداف SMART و INVEST را برای داستانهای کاربری بنویسید
This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.