معرفی متدولوژی اسکرام و جلسات آن

معرفی متدولوژی اسکرام و جلسات آن

متدولوژی اسکرام

اسکرام (Scrum) یک چارچوب برای مدیریت توسعه محصول و سایر کارهای علمی می باشد. فرایند اسکرام را مبتنی بر تجربه می دانند زیرا ابزاری برای تیم ها فراهم می کند تا فرضیه ای را در مورد نحوه کار کردن، آزمایش کردن، تجربه کردن و تنظیمات یا اصلاحات مناسب، ایجاد کنند. البته این موارد زمانی اتفاق می افتد که چارچوب به درستی استفاده شود. 
ساختار اسکرام به روشی ساخته شده است که به تیم ها امکان استفاده از روش های مربوط به چارچوب های دیگر را، در مواردی که برای زمینه کاری تیم منطقی است، می دهد. 
بر اساس دوازدهمین گزارش سالانه Agile نزدیک به 70 درصد از تیم های نرم افزاری از متد اسکرام یا ترکیبی از آن استفاده می کنند. متد اسکرام در اکثر فعالیت های تجاری، فناوری اطلاعات و بازاریابی، هنگامی که با پروژه های پیچیده ای روبرو بودند، مورد استفاده قرار گرفته است. همچنین بسیاری از تیم های رهبری، شیوه های مدیریت چابک خود را بر اساس متد اسکرام بنا می کنند.

تفاوت بین چابک و اسکرام

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

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

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

ارزش های یک تیم اسکرام

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

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

اصول متدولوژی اسکرام

اصول زیر پایه ماهیت تجربی اسکرام می باشد:

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

ساختار متدولوژی اسکرام

متدولوژی اسکرام توسط نقش های تیمی (Role)، رویدادها (Event)، مصنوعات (Artifact) و قوانین (Rule) تعریف می شود.

نقش ها (Roles)

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

صاحب محصول (Product Owner)

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

استاد اسکرام (Scrum Master)

استاد اسکرام نقش اصلی را در تیم بازی می کند. او هر روز در محل کار حضور دارد، تیم داخلی را می شناسد و دقیقا می داند چه خبر است. در حقیقت یک مجری است تا اطمینان حاصل کند که تیم به نظریه ها، شیوه ها و قوانین اسکرام، پایبند است. افرادی که این نقش را بر عهده دارند باید از موضع نفوذ پیش بروند و غالبا موضع رهبری خدمتگزار (servant-leadership) را اتخاذ کنند. 
این نقش هر کاری برای بالا بردن عملکرد تیم انجام می دهد مانند از بین بردن موانع و تسهیل جلسات و کمک به صاحب محصول برای جمع آوری موارد Backlog. وظایف اصلی استاد اسکرام عبارتند از: 
• اطمینان حاصل کردن از این که تیم مطابق با قوانین اسکرام کار می کند. 
• جنبه های عملی را سازماندهی می کند. به عنوان نمونه برای جلسات برنامه ریزی می کند، به دنبال پیشرفت فرایند می باشد و اطمینان حاصل می کند که توسعه دهندگان از ابزارهای مناسب برخوردار هستند. 
• مشکلات غیر قابل حل تیم را حل می کند.
• علاوه بر این، او به معنای دقیق کلمه از تیم پشتیبانی می کند، به عنوان مثال به صاحب محصول کمک می کند تا روند های کاربری به درستی طی شوند و یا محصول را به مرحله ی آزمایش وارد کنند.

تیم توسعه (Development Team)

تیم توسعه شامل افرادی است که توسعه محصول را در داخل Sprint انجام می دهند. مسئولیت اصلی تیم توسعه مواردی است که در هر Sprint حداکثر ارزش را دارد. برای انجام این کار مسئولیت تقسیم کار و نحوه ی آن به عهده تیم است که بر اساس شرایط در زمان خود، تعیین می شود. 
هیچ عنوانی در تیم توسعه وجود ندارد و هیچ کس، از جملهScrum Master ، به تیم توسعه نمی گوید که چگونه موارد Backlog محصول را به موارد قابل اجرا تبدیل کند.

مربی چابک (Agile Coach)

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

رویداد های اسکرام

متداول ترین رویداد های اسکرام به شرح زیر می باشد:

1- Sprint

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

  • حفظ یک مدت زمان ثابت در طول توسعه 
  • دنبال کردن یک Sprint جدید بلافاصله بعد از نتیجه گیری Sprint قبلی 
  • ثابت بودن تاریخ شروع و پایان Sprint

2- Sprint Planning

جلسات برنامه ریزی برای کارهایی که قرار است تحویل داده شود و کارهایی که باقی می ماند. یک تیم، یک Sprint را با بحث و گفتگو شروع می کند تا مشخص کند روی کدام یک از موارد موجود در محصول در طول Sprint، کار خواهد کرد. نتیجه نهایی Sprint Planning یک لیست از Sprint Backlog است. 
برنامه ریزی Sprint به طور معمول در دو قسمت اتفاق می افتد. 
1- در قسمت اول، صاحب محصول و بقیه اعضای تیم توافق می کنند که کدام یک از موارد باقیمانده محصول در Sprint لحاظ شود. 
2- در قسمت دوم برنامه ریزیSprint ، تیم تعیین می کند که چگونه موارد باقیمانده محصول مشخص شده را به عنوان بخشی از توسعه محصول قابل اجرا، با موفقیت تحویل دهند. بر اساس همین ممکن است وظایف خاص و جدیدی به تیم محول شود که انجام آنها ضروری باشد. موارد باقیمانده ی محصول که برای تحویل مشخص شده است و همچنین وظایف جدید، Sprint Backlog را تشکیل می دهد. 
هنگامی که تیم و صاحب محصول، محدوده Sprint را براساس موارد موجود در محصول تعیین کردند، دیگر هیچ موردی نمی تواند به Sprint Backlog اضافه شود. این کار از تیم در برابر تغییر محدوده در آن Sprint محافظت می کند.

3- اسکرام روزانه (Daily Scrum)

یک بحث یا جلسه کوتاه (معمولا حدود 15 دقیقه) است که در آن، تیم فعالیت های خود را برای روز بعد هماهنگ می کند. دقت کنید، قرار نیست Daily Scrum به عنوان یک جلسه گزارش وضعیت یا بحث حل مسئله باشد. (در برخی موارد با عنوان Daily Stand-Up نیز یاد می شود.)

4- نقد و بررسی Sprint Review) Sprint)

در پایان هرSprint ، تمام تیم (از جمله صاحب محصول) نتایج آن Sprint را با ذینفعان محصول بررسی می کنند. صاحب محصول کار را با توجه به معیارهای از پیش تعریف شده بررسی می کند و در نهایت یا کار را می پذیرد یا رد می کند. 
توجه داشته باشید که Sprint Review برای تهیه گزارش وضعیت، در نظر گرفته نشده است. بازخورد حاصل از بررسی Sprint، برای بررسی در آینده، در Backlog محصول قرار می گیرد. 
حداکثر زمان در نظر گرفته شده برای Sprint Review، 4 ساعت می باشد. برای مثال در یک هفته 1 ساعت، اگر 2 هفته داریم پس 2 ساعت و اگر یک بازه 4 هفته ای داریم، باید 2 تا 2 ساعت برای آن در نظر گرفت.

5- گذشته نگر (Retrospective) یا عقب گرد (Retro)

آخرین جلسه تیم در Sprint است که تعیین می کند چه چیزی خوب پیش رفته، چه چیزی خوب پیش نرفته و اینکه تیم چگونه می تواند در Sprint بعدی پیشرفت کند. این جلسه با حضور تیم و Scrum Master یک فرصت مهم برای تیم است که می تواند روی عملکرد کلی خود متمرکز شود و استراتژی هایی را برای بهبود فرایند های خود شناسایی کند. 
توجه کنید که Sprint Review بر روی محصول تمرکز می کند اما Retrospectives بر روند کار تمرکز دارد. حداکثر زمان در نظر گرفته شده برای Retrospectives تقریبا 3 ساعت می باشد. برای مثال، در یک هفته 45 دقیقه زمان، در طول دو هفته 1 ساعت و نیم و در نهایت 4 هفته، 3 ساعت را به آن اختصاص دهید.

مصنوعات (Artifacts)

انواع Artifact در اسکرام عبارت اند از:

1- Backlog محصول (Product Backlog)

Backlog محصول، لیست مرتب شده ای از کلیه تغییرات احتمالی موجود در محصول است. مواردی که در Backlog وجود دارند به این معنی نیستند که حتما باید تحویل داده شوند پس تعهدی مبنی بر انجام آنها وجود ندارد. 
Backlog محصول، مهمترین سندی است که به طور خلاصه تمام نیازهای یک سیستم، پروژه یا محصول را مشخص می کند. همچنین آن را می توان لیستی از to-do دانست که متشکل از لیست کارها است و هرکدام از آن ها محصول قابل تحویل، تولید می کنند. 
موارد جا مانده ای که از نظر تجاری دارای ارزش هستند نیز ممکن است توسط صاحب محصول سفارش داده شود. صاحب محصول به طور مداوم، Backlog محصول شامل محتوا، در دسترس بودن و مرتب سازی، نگهداری می کند.

2- Sprint Backlog

لیست خاصی است که از Product Backlog بدست آمده و قرار است در یک Sprint تکمیل شود.

3- افزایش یا جمع بندی (Increment)

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

4- قوانین اسکرام (Rules)

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

5- چرخه زندگی اسکرام (Scrum Lifecycle)

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

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

  1. ابتدا Backlog محصول ایجاد می شود. 
  2. صاحب محصول و تیم توسعه در نیمه ی اول محدوده ی Sprint را تعیین می کنند و در نیمه ی دوم برنامه ریزی Sprint و برنامه ی تحویل آن را مشخص خواهند کرد. 
  3. با پیشرفتSprint ، تیم توسعه کارهای لازم را برای تحویل موارد Backlog محصول انتخاب شده، انجام می دهد. 
  4. به طور روزانه، تیم توسعه کار خود را در Daily Scrum هماهنگ می کند. 
  5. در پایانSprint ، تیم توسعه مواردی را که در طول برنامه ریزی Sprint انجام شده اند، ارائه می دهد. تیم توسعه برای نشان دادن پیشرفت کار به مشتری و دریافت بازخورد، یک Sprint Review برگزار می کند. تیم توسعه دهنده و صاحب محصول همچنین در مورد چگونگی پیشروی Sprint تا کنون صحبت کرده و فرایند های آن ها را مطابق با گذشته بررسی می کنند. 
  6. تیم، مراحل 2 تا 5 را تکرار می کند تا نتیجه مطلوب برای محصول، برآورده شود.

مزایای استفاده از متدولوژی اسکرام

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

  • بهره وری بالاتر
  • محصولات با کیفیت بهتر
  • زمان کمتر برای بازاریابی
  • بهبود رضایت سهامداران
  • پویایی بهتر تیم
  • کارمندان شادتر

جمع بندی

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

منابع

1- https://digital.ai/resources/agile-101/what-is-scrum

2- https://www.agilealliance.org/glossary/scrum/ 

3- https://www.scrumalliance.org/about-scrum/overview

4- https://www.gladwellacademy.com/agile-coach-or-scrum-master-whats-the-difference/ 

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


online-support-icon