پیش گفتار
همان طور که قبلاً گفته شد در راستای تولید محتوای فارسی برای موضوعات مورد علاقه و باارزش، مطالب برگزیده پس از ترجمه توسط چند تن از عزیزان و بازنگری آن، از طریق وبلاگ در اختیار خوانندگان قرار خواهد گرفت. با وجود همه کمبودها، امیدوارم که این کار اثرگذار و مفید باشد.
مجموعه جدید مقالهها، به حوزه نیازمندیها در متدهای چابک اختصاص داده شده است. مرجع فعلی مطالب، کتاب Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise نوشتهی Dean Leffingwell است.
ترجمهی این مجموعه توسط خانم مهندس فاطمه اردستانی انجام شده است که از ایشان برای قبول زحمت سپاسگزارم.
یادآوری: به دلیل انتخاب بخشهای ناپیوسته از کتاب، ممکن است به جاهایی ارجاع داده شود که ترجمه نشدهاند. ارجاعات به گونهای هستند که فهم متن را دشوار نخواهند کرد. در صورت نیاز، خلاصهای از بخشهای ارجاع داده شده آورده شده است
فصل ششم
۱-مقدمه
۱-۱-مروری بر داستان کاربر
۱-۲-داستان کاربر به کاهش فاصله مشتری-توسعهدهنده کمک میکند
۱-۳-داستان کاربر نیازمندی نیست
۲-شکل داستان کاربر
۳-INVEST در داستانهای کاربر خوب
۴-تقسیم داستانهای کاربر
۵-اسپایکها(Spike)
۶-مدلسازی داستان با کارتهای نمایه
۷-خلاصه فصل
۱-مقدمه
در فصل سوم، «نیازمندیهای چابک برای تیم»، مفاهیم و روابط بین فرآوردههای اصلی یعنی بکلاگ، داستانهای کاربر و وظیفهها بیان گردیدند که توسط تیمهای چابک برای تعریف، ساخت و آزمون سیستم استفاده میشوند. در آنجا اشاره شد که داستان کاربر اسب بارکش توسعهی چابک و وسیلهای برای انتقال و تحویل «ارزش» به مشتری است. همچنین داستان کاربر استعارهای(metaphor) از رویکرد تدریجی و ارزشآفرینی برای کاربر است یعنی این که:
درمورد آنچه که برای کاربر ارزشمند است، داستانی تعریف کنید؛
آن را در یک تکرار کوتاه پیادهسازی و آزمایش کنید؛
سپس آن را به کاربر نمایش یا تحویل دهید؛
تا ابد این کار را تکرار کنید!
شکل ۶-۱ خلاصهای از فرآوردههای مرتبط با نیازمندیها را نشان میدهد که برای تحقق این رویکرد لازمند.
مطابق شکل، داستان نوعی قلم بکلاگ است که با انجام کارهایی مثل طراحی، کدنویسی و آزمون، توسعه داده میشود. از آن گذشته تا زمانی که داستان کاربر آزمون پذیرش را با مؤفقیت پشت سر نگذارد، «کامل شده » بهشمار نمیآید.
در این فصل، جزییات بیشتری از داستان کاربر تشریح میشود، زیرا داستان کاربر به همراه مجموعهای از تجربههای چابکی کمک میکند تا همزمان علاوه بر تطبیق مستقیم راهحل با نیازهای مشتری، کیفیت نیز تضمین گردد.
۱-۱-بازنگری داستان کاربر
به بخشی از تأثیرات اسکرام در توسعه تجربههای سازمانی چابک در فصلهای گذشته اشاره شد. به عنوان نمونه میتوان به نقش «مالک محصول» اشاره کرد که بخش مهمی از تجربههای حوزه نیازمندی است. اما ابداع داستان کاربر را به متد XP مدیونیم و این طرفداران XP بودند که آن را بسط و گسترش دادند. بک(Beck) و فاولر(Fowler) در [۲۰۰۵] مینویسند:
«داستان، واحد کارکرد پروژههای مبتنی بر XP است. پیشرفت پروژه با تحویل کد هر داستان که آزمایش و یکپارچه شده، نشان داده میشود. داستان باید قابلِ فهم برای مشتریان و توسعهدهندگان؛ آزمونپذیر؛ ارزشمند برای مشتریان؛ و به اندازهای کوچک باشد که برنامهنویس بتواند تعدادی از آنها را در هر تکرار انجام دهد.»
با این حال، هر چند سرآغاز داستان کاربر از XP است، اما از جمله موضوعاتی است که دربارهی آن در متدولوژیها اتفاقنظر وجود دارد. به همین دلیل، هماکنون داستان کاربر بخشی از دورههای آموزشی اسکرام به عنوان ابزاری جاافتاده برای ایجاد بکلاگ محصول و تعریف اسپرینت است. بخش عمدهای از یکپارچهسازی داستانکاربر با اسکرام توسط مایک کوهن(Mike Cohn) انجام شده که از وی سپاسگزاریم. او یکی از فعالان انجمنهای اسکرام و کسی است که مفهوم داستان کاربر را در کتابش [۲۰۰۴] بسط و گسترش داد.
به دلایلی، داستان کاربر را به شکل سادهی زیر تعریف میکنیم:
«داستان کاربر شرح کوتاهی است از انگیزهی کاربر در مورد کاری که انتظار دارد سیستم برایش انجام دهد».
اغلب داستانهای کاربر در XP توسط مشتری نوشته میشود که باعث حضور مستقیم وی در فرایند توسعه میشود. در اسکرام نیز اغلب مالک محصول داستانهای کاربر را با دریافت اطلاعات از مشتریان، ذینفعان و تیم مینویسد. عملاً هر عضو تیم که دربارهی قلمروی مسأله دانش کافی داشته باشد، میتواند داستانهای کاربر را بنویسد، اما وظیفهی پذیرش و اولویتدهی آنها با مالک محصول است.
داستان کاربر ابزاری برای تعریف رفتار سیستم است بهگونهای که برای کاربر و توسعهدهنده قابل فهم باشد. با بهکارگیری داستان کاربر، کارها براساس ارزش تعیینشدهی کاربر انجام میشوند و نه براساس روش رایجِ ساختار شکستِ کارکردی(functional breakdown structure) . از طرف دیگر داستان کاربر، رویکردی سبک و مؤثر برای مدیریت نیازمندیها نیز فراهم میکند.
داستان کاربر شرح کوتاهی از کارکرد سیستم است که بر روی یک کارت نمایه (index card) یا احتمالاً در یک ابزار نوشته میشود. در سادهترین شکلِ بکلاگ، داستانها فقط فهرستی از کارهاییاند که سیستم باید برای کاربر انجام دهد. به عنوان مثال:
○ ورود به صفحهی پرتال پایش انرژی
○ دیدن مصرف انرژی روزانه
○ کنترل نرخ هزینهی فعلی برق
جزئیات رفتار سیستم در داستان کاربر آورده نمیشود، بلکه به آینده موکول میگردد تا از طریق گفتوگو و تعیین معیارهای پذیرش بین تیم و مالک محصول مشخص شود.
گزیده:
انسانها ابزارِ ابزارهای خود شدهاند.
اچ دی تورو
برچسبها: چابک Agile, نیازمندیها Requirements
دیدگاهتان را بنویسید