اصول اسکرام و آشنایی با مفاهیم و نقش ها
دوشنبه 01/خرداد/1402 601 تحلیل و بررسی

اصول اسکرام و آشنایی با مفاهیم و نقش ها

اسکرام Scrum به زبان ساده، نوعی چارچوبی مدیریتی برای تیم های نرم افزاری است تا به بهینه ترین شکل ممکن، پروژه های بزرگ را پیاده سازی کنند. لازم به ذکر است برخی متخصصان اسکرام آن را یک فریم ورک یا چارچوب می دانند درحالیکه برخی دیگر، اسکرام را به عنوان یک متدولوژی معرفی می کنند. ما در این مقاله اسکرام را به عنوان یکی از روش های Agile معرفی می کنیم.

دوازدهمین گزارش سالانه Agile: نزدیک به 70 درصد از تیم های نرم افزاری از متد اسکرام یا ترکیبی از آن استفاده می کنند.

متد اسکرام در اکثر فعالیت های تجاری، فناوری اطلاعات و بازاریابی، هنگامی که با پروژه های پیچیده ای روبرو بودند، مورد استفاده قرار گرفته است.

3 اصل اسکرام

اسکرام 3 اصل اساسی دارد که قبل از شروع روند آن، باید بررسی شده و مورد توافق همه باشند:

شفافیت موضوع Transparency: یعنی تمام مسائلی که ممکن است بر نحوه انجام کار و خروجی آن اثر بگذارند باید ذکر شده و قابل بررسی و کنترل باشند.

بررسی Inspection: مراحل مختلف پیاده سازی باید به صورت مداوم چک شوند تا در صورت بروز مشکل، سریع آن را برطرف کرد.

توانایی انطباق Adaptation: ممکن است جنبه هایی از پروژه باعث ایجاد مشکلاتی در خروجی شده و محصول نهایی را دچار نقص کنند. بهتر است بلافاصله این موانع را شناخته و برای تصحیح و پیاده سازی آن ها مجددا برنامه ریزی کرد.

اسکرام یک روش افزایشی Incremental است یعنی با گذشت زمان و طی شدن مراحل، روند تکامل پروژه نیز افزایش می یابد. Scrum شامل چرخه های متفاوتی است که با اطمینان از پیاده سازی صحیح پروژه در هر چرخه، به کاهش ریسک های احتمالی و هزینه های مازاد کمک می کند. بدین ترتیب یک پروژه بزرگ، به وظایف کوچکتری تقسیم شده که هر بخش آن به عنوان اسپرینت Sprint تعریف می شوند.

هر اسپرینت معمولا با مشورت اعضا تیم، 1 تا 2 هفته طول می کشد و در آن وظایف هر بخش یا عضوی از تیم مشخص می شود. پس از پایان هر اسپرینت همه اعضا تیم جلسه ای تشکیل داده و نتایج کار را بررسی می کنند و سپس برنامه ریزی اسپرینت بعدی را انجام می دهند.

Scrum

آشنایی با برخی مفاهیم و نقش ها در اسکرام

Product Backlog: سند محصول، سندی شامل اطلاعات، شرح اهداف و نیازمندی های پروژه است که در ابتدای شروع فرایند اسکرام با نظارت صاحب محصول و توسعه دهندگان باید به طور دقیق شرح داده شود.

بک لاگ نیز مجموعه نیازمندی های عملیاتی و غیرعملیاتی است که باید در هر اسپرینت تمام شوند و به نام اسپرینت بک لاگ (sprint backlog) گفته می شود. هر دوره اسپرینت sprint cycle تا زمانی که محصول آماده انتشار باشد، ادامه می یابد و ممکن است که صاحب پروژه بعد از انتشار، نیازمندی های جدیدی را به پروژه اضافه کند که به آن product backlog می گویند.

Sprint Backlog: سند اسپرینت، سندی است که شامل جزئیات هر اسپرنیت، زمان اختصاص داده شده، افراد درگیر و نقش هر فرد در همان مرحله از پروژه می باشد.
هسته اصلی اسکرام را اسپرینت (Sprint) تشکیل می دهند. اسپرینت ها دوره های زمانی تکرارشونده است. همان طور که گفتیم، متدولوژی اسکرام بر تکرارشوندگی بنا شده است. در این دوره های تکراری است که محصول به تدریج کامل می شود و در پایان دوره زمانی هر تکرار، شرایط محصول بررسی می شود. این روند تکراری آنقدر ادامه می یابد تا در پایان، محصول نهایی تولید شود. در اسپرینت ها باید مشخص شود که چه کارهایی قرار است انجام شود، چه نیازمندی هایی وجود دارد و چطور می توان به آن ها جامه عمل پوشاند.

هر اسپرینت به این موارد رسیدگی می شود:

  • شفافیت: مشخص و واضح بودن تمامی جنبه های فرایند برای همه اعضای تیم (مشتری و برنامه نویس)؛
  • بازبینی: تشخیص سریع انحراف احتمالی در هر مرحله از فرایند؛
  • تطبیق: تعدیل هرچه سریع تر انحراف های شناسایی شده در کمترین زمان ممکن.

و در هر اسپرینت که جلسات روزانه ای با حضور اعضای تیم (تیم تولید و ذی نفعان) است، پیشرفت های پروژه در قالب 3 پرسش زیر پاسخ داده می شود:

  • چه پیشرفت هایی حاصل شده است؟
  • چه موفقیت هایی در اسپرینت بعدی حاصل می شود؟
  • چه موانعی برای ادامه کار پیش رو است؟

اسکرام از 4 رویداد رسمی تشکیل می شود که فرایند کار را آسان تر پیش ببرد:

  • برنامه ریزی اسپرینت (Sprint Planning)
  • اسکرام روزانه (Daily Scrum)
  • بازبینی اسپرینت (Sprint Review)
  • بازاندیشی اسپرینت (Scrum Retrospective)

ScrumFlow: در یک جریان اسکرام، میزان پیشرفت در هر اسپرینت و روند کلی فرایند اسکرام توسط اسکرام مستر بررسی می شود.
Scrum Board: برای اینکه افراد بدانند کار درچه مرحله ای است و اتمام وظایف خود را اعلام کنند یک تخته (Board) فیزیکی در محل استقرار تیم در نظر گرفته می شود. البته امروزه این کار بیشتر از طریق نرم افزارهای مدیریتی مانند Trello انجام می شود.

Product Owner: صاحبان محصول و یا ذی نفعان پروژه، کسانی هستند که با تیم نرم افزاری وارد مذاکره شده و پیشنهاد تولید محصول را مطرح می کنند. مدیران پروژه باید به طور منظم با صاحبان محصول در ارتباط باشند.

Scrum Master: متخصص اسکرام وظیفه نظارت و کنترل فرایند اسکرام را به عهده دارد. بررسی خروجی هر اسپرینت، ارائه گزارشات کتبی در جلسات و منعطف سازی فرایند با توجه به شرایط، از وظایف یک اسکرام مستر است.

Software Team Members: اعضای تیم نرم افزاری کسانی هستند که انجام پروزه را به عهده دارند. علاوه بر جلسات مدیران پروژه و صاحب محصول، لازم است جلساتی با حضور همه اعضای تیم نیز به طور ماهیانه یا هفتگی برگزار شود.

اسکرام برای بهینه سازی پیش بینی و مدیریت ریسک در طول مدیریت پروژه از یک روش چرخشی-افزایشی استفاده می کند؛ این کار برای پاسخ به این 2 سؤال است:

  • آیا ما «محصول درستی» را می سازیم؟
  • آیا ما محصول را به «شیوه درستی» می سازیم؟

اسکرام چه زمانی قابل اجرا می باشد؟

متد اسکرام در شرایطی که یک تیم با کاری پیچیده مواجه است و می تواند آن رابه بخش های مختلف، در بازه های زمانی 2 تا 4 هفته تقسیم کند، مناسب است.

اعضای یک تیم اسکرام باید ارزش های زیر را یاد بگیرند:

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

یک مثال از نحوه اجرای اسکرام بزنید؟

در فریمورک اسکرام، توصیه می شود که هر اسپرینت با یک جلسه کوتاه برای برنامه ریزی کارهایی که باید انجام شوند آغاز شود، همینطور هر اسپرینت با جلسه ای که کارهای صورت گرفته را مرور و نقد می کند خاتمه یابد. به صورت رایج فاصله بین این دو جلسه، بازه زمانی است که انتظار می رود کارهای اسپرینت طبق برنا مه ریزی و تقسیم مسولیت صورت گرفته پیش بروند.

سه نقش کلیدی در فریمورک اسکرام چه هستند؟

در فریمورک اسکرام، اگر بخواهیم به سه نقش کلیدی اشاره کنیم، این نقش ها عبارت هستند از:

  1. مالک محصول
  2. اسکرام مستر
  3. اعضای تیم توسعه

کتاب اسکرام

کتاب مدیریت محصول چابک با اسکرام

خلق محصولاتی که مشتری عاشقش می شود
نویسنده: رومن پیچلر
مترجم: آرش خرمشاهی، اسد صفری
فیدیبو

Scrum

راهنمای اسکرام Scrum Guide

راهنمای قطعی اسکرام: قوانین بازی

کِن شوئِبِر و جِف سادِرلند

نوامبر 2020

دانلود فایل PDF

اسکرام، کانبان و اجایل

اسکرام چنان فریمورک محبوب اجایلی است که غالباً اسکرام و اجایل با هم اشتباه گرفته می شوند. اما فریمورک های دیگری نیز مانند «کانبان» (Kanban) وجود دارند که جایگزین رایجی محسوب می شوند.
هم کانبان و هم اسکرام از روش های دیداری مانند تخته اسکرام یا تخته کانبان برای ردگیری پیشروی کار استفاده می کنند. هر دو آن ها بر روی کارآمدی و افراز کارهای پیچیده به دسته های کوچک تر برای مدیریت بیشتر تأکید دارند، اما رویکرد آن ها در خصوص رسیدن به این اهداف متفاوت است.

اسکرام روی تکرارهای کوچک تر و با طول ثابت تأکید دارد. هنگامی که بازه زمانی یک اسپرینت مورد توافق قرار گرفت، استوری ها یا بک لاگ محصول که می تواند در طی این اسپرینت پیاده سازی شوند مورد تصمیم گیری قرار می گیرند. با این حال، در کانبان تعداد وظایف یا کارهایی که در حال پیاده سازی هستند در ابتدا فیکس می شوند. زمان مورد نیاز برای پیاده سازی این قابلیت ها در ادامه به صورت بازگشتی محاسبه می شود

کانبان به اندازه Scrum ساخت یافته نیست. به جز محدودیت WIP کانبان در خصوص تفسیر موارد دیگر با گشاده دستی برخورد می کند. با این حال، اسکرام چند مفهوم خاص مانند بررسی اسپرینت، گذشته نگری، اسکرام روزانه و غیره دارد که باید پیاده سازی شوند. همچنین اسکرام روی کارکرد های متقابل نیز تأکید دارد که به معنی توانایی یک تیم اسکرام برای عدم وابستگی به اعضای بیرون تیم جهت رسیدن به اهدافش است. جمع کردن یک تیم با کارکردهای متقابل کار سرراستی نیست. از این نظر استفاده از کانبان ساده تر است در حالی که اسکرام را می توان به عنوان یک تغییر بنیادین در فرایند فکری و کارکردی یک تیم توسعه تلقی کرد.


درباره این مطلب دیدگاهی بنویسید...

آدرس پست الکترونیک شما منتشر نخواهد شد.

نظرات (0)