news

تفاوت User Story و Task در اسکرام

قبل از اینکه به تفاوت User Story و Task در اسکرام بپردازیم بهتر است با اسکرام آشنا شویم. اسکرام چیست؟.اسکرام به عنوان یک چارچوب چابک برای مدیریت و اجرای پروژه های پیچیده کاربرد دارد. البته در ابتدا اسکرام برای توسعه نرم افزارها استفاده شد و به مرور زمان در مدیریت پروژه های بزرگ و پیچیده نیز مورد استفاده قرار گرفت. از طریق آموزش اسکرام کاربر متوجه می شود که در یک تیم توسعه چگونه می تواند با به کارگیری چارچوب اسکرام محصولات نرم افزاری با کیفیتی را توسعه داد. فرآیند اسکرام زیر مجموعه Agile است و مفاهیم و شیوه‌های آن به سه دسته نقش ها، مصنوعات و جعبه های زمان تقسیم می شوند. در این مطلب به بیان تفاوت داستان کاربر و تسک در اسکرام می پردازیم.

User Story  در اسکرام چیست؟

در مدیریت پروژه و توسعه نرم افزار برای توصیف و تعریف ساده از ویژگی های نرم افزار از User story استفاده می شود. User story ها را باید از دید یک کاربر نهایی یا کاربران سیستم نوشت. همچنین با توجه به نوع پروژه داستان کاربر می تواند توسط هیئت مدیره، تیم توسعه و یا مشتریان نوشته شود. هدف از نوشتن User story کمک به تیم های نرم افزاری برای درک صحیح و بهتر از ارتباط درست بین اعضای تیم و سیستم است.

قواعد نوشتن  User story

برای تاثیرگذاری و بهبود در عملکرد سیستم های درحال توسعه User story نوشته می شود. معمولا هر فردی می تواند داستان کاربر را بنویسد که یا در جلسات مدیریتی ایجاد می شود و یا در یک لحظه به صورت ایده در ذهن به وجود می آیند. در بعضی از تیم ها در اسکرام مدیر پروژه وظیفه دسته بندی و مدیریت داستان کاربر و تبدیل آن به backlog  را برعهده دارد.

کاربرد User story

User story  در تعداد زیادی از متدولوژی های مدیریت چابک مورد استفاده قرار می گیرند. نقش آن ها تعیین امکاناتی است که باید در پروژه های نرم افزاری قرار داده شود. همچنین کاربران یا مالکان پروژه تعیین کننده داستان های کاربر هستند و در این مرحله موارد مهم و اولویت های پروژه مشخص شده و سپس به تسک ها (Task) یا وظایف تقسیم می شوند. هنگام توسعه داستان کاربر باید توسعه دهندگان با مشتری در ارتباط باشند. در مواقعی که نوشتن User story نیاز به پیش زمینه داشته یا نیازمندی های آن ها تغییر کرده باشد ممکن است حتی اجرای User story کوتاه نیز مشکل باشد. داستان های کاربر قابل گسترش هستند برای مثال امکان افزودن یادداشت ها، پیوست ها یا معیار پذیرش (Acceptance criteria) جدید به آن ها وجود دارد.

مزایا  User story

کمترین مزیت استفاده از User story در فرآیند توسعه و تولید نرم افزار و اجرای پروژه ها کاهش خطاها و اشکالات بی مورد در جریان فرآیند است. البته این موضوع که استفاده از داستان کاربر باعث افزایش بهره وری پروژه ها می شود فاقد سند و مدرک دقیقی می باشد.

محدودیت های User story

برای استفاده از داستان کاربر در اسکرام چهار محدودیت کلی شامل مشکل افزایش مقیاس، گنگ و ناقص بودن User story، بیان شدن نیازمندی های غیر ضروری و غیر وظیفه ای داستان کاربر وجود دارد. همچنین داستان کاربر لزوما اینکه فناوری مدنظر چگونه باید ساخته شود را نشان نمی دهد.

Task در اسکرام چیست؟

تسک ها (Task) فعالیت هایی مثل کد زدن، ایجاد داده های تست، طراحی، اتوماسیون و … را شامل می شود که فقط یک نفر روی آن کار می کند.

تله تعیین Task برای اعضای تیم در اسکرام

در اسکرام تیم بر اساس خود سازمانده (self-organized)  ایجاد می شود و در یک سازمان کارفرما چیزی به نام  Task-Assign توسط هر عضوی از تیم وجود ندارد. به این تیم ها فقط گفته می شود چه کاری می خواهیم انجام دهیم و خود تیم باید چگونگی نحوه انجام را باید پیدا کند. در این تیم ها تمام تخصص های لازم وجود دارد؛ بنابراین بدون وابستگی به سازمان های بیرون می توانند یک محصول را تولید، تست و ارائه دهند. وظایف یا تسک های (Task) نقش Cross-Functional  شامل چگونگی نحوه انجام کار و تعیین مقدار کاری یا تسکی که باید در طی یک اسپرینت (۲-۴ هفته) انجام دهند، می شود.

تفاوت User Story و Task در اسکرام

تفاوت اساسی که بین Task و User story وجود دارد مربوط به تعداد کارهایی می شود که در ایجاد این دو انجام می شود. محل قرارگیری User story در بک لاگ محصول است. در حالی که Task قسمتی از بک لاگ اسپرینت است و در طی جلسه، برنامه ریزی و شناسایی می شود.

در آموزش اسکرام تفاوت اساسی تسک و داستان کاربر به این صورت تعریف می شود که بر روی story چند نفر کار می کنند. تسک را فقط یک شخص انجام می دهد. توسعه User story  توسط تیمی شامل برنامه نویس، طراح پایگاه داده، تستر، طراح رابط کاربری یا آنالیز صورت می گیرد و یک قابلیت قابل مشاهده برای کاربر نهایی است.  در برخی مواقع بعضی فعالیت ها باید توسط دو نفر انجام شود. به این معنی که برای یک نوع کار دو مغز و یک جفت دست با هم همکاری می کنند. با توجه به این نکته می بینیم که این کار با دیگر فعالیت هایی که در یک User story اتفاق می افتد تفاوت دارد.

بعضی از تسک ها (Task) در طی یک جلسه شکل می گیرند. به عنوان مثال بازبینی یک طرح توسط سه نفر از اعضای گروه انجام می شود. این کار به عنوان یک Task در نظر گرفته می شود نه یک  User story . از این رو . داستان های کاربر شامل تعداد زیادی کار مثل برنامه نویسی، تست، طراحی پایگاه داده ها، طراحی واسط کاربری، آنالیز می گردند؛ در حالی که Taskها یا وظایف به یک نوع کار محدود می شوند.

 

عنوان

توضیحات

Epic

یک کار بزرگ است که بایستی به کارهای کوچکتر شکسته شود، در واقع اپیک باگ ها، تسک ها و ... را گروه بندی می کند تا پیشرفت یک کار بزرگتر را نمایش دهد

Story

کوچکترین واحد کاری که باید انجام شود البته با توجه توضیحات گفته شده معمولا از Task بزرگتر و زمان انجام آن طولانی تر خواهد بود

Bug

یک مشکل در عملکرد یک محصول است که معمولا توسط کاربر نهایی، تیم پشتیبانی یا تیم تست گزارش می شود

Portfolio Epic

می تواند یک پروژه باشد که مجموعه ای از اپیک ها را شامل می شود

Milestone

برای اندازه گیری موفقیت هر پروژه، بزرگ یا کوچک استفاده می شود

Task

کوچکترین واحد کاری که باید انجام شود

Enabler

ظاهرا برای تنظیم و ثبت جلسات فنی استفاده می شود

New Feature

درخواست قابلیت یا ویژگی جدید در نرم افزار

Improvement

درخواست بهبود عملکرد سیستم (سرعت، تجربه کاربری و ...) می باشد که معمولا توسط کاربر نهایی، تیم پشتیبانی یا تیم تست گزارش می شود

جمع بندی

آموزش اسکرام توسط مراکز آموزشی انجام می شود و کاربرد آن برای مدیریت پروژه‌های پیچیده و یا توسعه نرم افزارهای تحت وب یا موبایلی است. در این مقاله در مورد تفاوت User Story و Task در اسکرام و مزایا و کاربردهای داستان کاربر صحبت شد.