اسکرام
اسکرام ( Scrum ) یک روش چابک است که توسط تیمهای درون یک ای آر تی ( ART ) برای ارائه ارزش مشتری در یک جعبه زمانی کوتاه استفاده میشود. تیمهای اسکرام از تکرارها، سیستمهای کانبان و رویدادهای اسکرام برای برنامهریزی، اجرا، نمایش و بازنگری کار خود استفاده میکنند.
بسیاری از تیم ها از اسکرام به عنوان فرآیند اولیه تیم چابک خود استفاده می کنند. با این حال، آنها محدود به اسکرام نیستند و ممکن است از تیم کانبان نیز استفاده کنند. با این حال، همه تیمهای از تکنیکهای کیفیت داخلی و سایر شیوهها و فعالیتهایی که در اسکرام تعریف نشدهاند، استفاده میکنند. تیمهای اسکرام با دیگر تیمهای چابک و ذینفعان ای آر تی همکاری میکنند و راهحلهایی را ایجاد و به کار میبرند که به نفع مشتریانش باشد. این مقاله نحوه استفاده از اسکرام تیم چابک را شرح می دهد.
تیمهای چابک که اسکرام را به کار میگیرند، برای دستیابی به یک هدف مشترک، رویدادهای منظمی را دنبال میکنند و ارزشی را به شرکت و مشتریانش ارائه میکنند. تیم ها از اختیار و استقلال برای برنامه ریزی، اجرا و مدیریت کار خود، تصمیم گیری در محدوده خود، و انطباق با شرایط در حال تغییر به بهترین شکلی که مناسب می بینند، دارند. این امر تصمیمگیری را غیرمتمرکز میکند، همسویی را تضمین میکند و هدایت مدیریتی ظریف و حداقلی را برای تیمهای اسکرام تقویت میکند. در واقع، تیمها تعیین میکنند که چگونه کار خود را انجام میدهند و محدودهای را که میتوانند در چارچوب زمانی تکرار به آن متعهد شوند، تعیین میکنند. آنها موارد بک لاگ ها را ایجاد و اصلاح می کنند که به عنوان داستان ها و معیارهای پذیرش بیان می شوند و اهداف تکراری را تعریف می کنند و به آنها متعهد می شوند.
سپس آنها عملکرد جدید را می سازند، آزمایش می کنند و به کار می گیرند و کیفیت داخلی را برای هر افزایش راه حل تضمین می کنند. علاوه بر این، از آنجایی که تیمهای اسکرام تمام نقشها و مهارتهای مورد نیاز برای توسعه و ارائه افزایش ارزش را دارند، به گونهای طراحی شدهاند که با حداقل محدودیتها و وابستگیهای ممکن با سایر تیمها کار کنند. ماهیت خود مدیریتی و متقابل عملکردی تیم اسکرام – همراه با ارتباط مداوم، درگیری سازنده و تعامل پویا – محیط کاری لذت بخش، سرگرم کننده و سازنده تری ایجاد می کند.
چرخه اسکرام
شکل ۱ چرخه اصلی اسکرام نشان می دهد (مثلاً تکرار در مقابل اسپرینت). هر رویداد در این چرخه فرصتی برای بررسی پیشرفت و انجام اصلاحات در اواسط دوره فراهم می کند. این رویدادها اغلب در یک زمان و مکان برای کاهش هزینه های اضافی برگزار می شوند.
شکل ۱. چرخه اسکرام
بخش های زیر یک نمای کلی از این چرخه ارائه می دهد. تکرارها و رویدادهای اسکرام، از جمله برنامه ریزی تکرار، بررسی، و گذشته نگر، به طور خلاصه در بخش های بعدی و با جزئیات بیشتر در مقالات توضیح داده شده است.
تیم بک لاگ
تیم بک لاگ تمام کارهای آینده مورد نیاز برای پیشبرد راه حل را در خود جای داده است. بیشتر کار توسط داستانهای کاربر ثبت میشود، اما سایر کارها و فعالیتها (مانند آموزش، پشتیبانی) نیز ممکن است شامل شوند. عقب ماندگی تیم در طول برنامه ریزی PI تا حدی پر می شود و تیم ها اهداف PI خود را تعیین می کنند. تیمها بهطور مداوم بک لاگ را اصلاح میکنند تا اطمینان حاصل کنند که همیشه حاوی داستانهایی است که بدون خطر یا غافلگیری قابل اجرا آماده هستند. در طول پالایش بک لاگ، تیمها داستانها و ویژگیهای کاربران آتی (در صورت لزوم) را برای تعریف، بحث، تخمین و تعیین معیارهای پذیرش برای موارد عقب مانده آینده بررسی میکنند. پالایش بک لاگ یک فرآیند پیوسته در طول تکرار است.
تکرار
تکرارها (Sprints) ضربان قلب اسکرام هستند و ریتمی را برای کار در تایم باکس بزرگتر PI ایجاد می کنند. تمام کارهای لازم برای دستیابی به تکرار – از جمله برنامه ریزی، همگام سازی تیمی، بررسی تکرار، و گذشته نگر – در تکرارها انجام می شود. هر تکرار یک تایم باکس استاندارد و با طول ثابت است که معمولاً دو هفته طول می کشد. تیم افزایش ارزش با کیفیت بالا را در طول تکرار به عنوان نرم افزار کار، آزمایش شده، راه حل ها یا سایر مصنوعات ارزشمند ارائه می دهد. تکرارها پیوسته و متوالی هستند و یک تکرار جدید بلافاصله بعد از تکرار قبلی شروع می شود.
برنامه ریزی تکرار
برنامه ریزی تکرار اولین رویداد تکرار است. اسکرام مستر/کوچ تیم معمولاً این رویداد را تسهیل می کند. همه اعضای تیم با یکدیگر همکاری می کنند تا تعیین کنند چه مقدار از عقب ماندگی تیم را می توانند در طول یک تکرار آتی ارائه دهند و آن داستان ها را در مجموعه ای از اهداف تکرار خلاصه کنند. تیم طرح به دست آمده را در بارنامه تکراری ثبت می کند. مالک محصول اطمینان میدهد که شرکتکنندگان آماده هستند تا درباره مهمترین موارد عقب ماندگی تیم و نحوه نگاشت آنها به اهداف تکرار و اهداف PI بحث کنند. تیم اسکرام ممکن است افراد دیگری را برای برنامه ریزی و ارائه مشاوره دعوت کند.
برنامه ریزی تکرار به موضوعات زیر می پردازد:
- چرا این تکرار ارزشمند است؟
- در این تکرار چه کاری می توان انجام داد؟
- کار چگونه انجام خواهد شد؟
- کار انتخاب شده چگونه انجام خواهد شد؟
در طول برنامه ریزی تکرار، تیم در مورد معیارهای پذیرش برای هر داستان توضیح می دهد و تلاش برای تکمیل آن را تخمین می زند. تیم داستان های نامزد را بر اساس ظرفیت موجود برای تکرار انتخاب می کند. برای هر آیتم انتخاب شده، تیم کار لازم را برای ایجاد یک افزایش ارزش که مطابق با تعریف انجام شده (DoD) باشد، برنامه ریزی می کند و اطمینان حاصل می کند که می توان آن را کامل در نظر گرفت. توسعه مستمر عملکرد سیستم افزایشی مستلزم یک تعریف مقیاسپذیر از انجام شده است تا اطمینان حاصل شود که کار به درستی انجام میشود (به تعریف مقیاسپذیر انجام شده در مقاله کیفیت داخلی مراجعه کنید). برنامه ریزی تکرار اغلب مستلزم تجزیه اقلام بک لاگ به داستان های کاربر یا Enabler است که معمولاً می توانند در یک یا دو روز تکمیل شوند. تیم تصمیم می گیرد که کار در تکرار چگونه انجام شود. پس از تکمیل برنامه ریزی، تیم به کار متعهد می شود و بک لاگ تکرار را در مکانی قابل مشاهده مانند استوری بورد، تابلوی Kanban یا ابزار مدیریت پروژه Agile ثبت می کند. برنامه ریزی حداکثر تا حدود دو ساعت برای یک تکرار دو هفته ای تنظیم شده است.
اهداف تکراری
اهداف تکرار خلاصه سطح بالایی از اهداف تجاری و فنی است که یک تیم چابک موافقت می کند تا در یک تکرار به آن دست یابد. آنها برای هماهنگی یک ART به عنوان یک تیم خودسازمانده و خود مدیریت از تیم های چابک حیاتی هستند. اهداف تکرار مزایای زیر را ارائه می دهند:
- اعضای تیم را با یک هدف مشترک هماهنگ می کند
- تیم ها را با اهداف مشترک ART PI هماهنگ می کند و به مدیریت وابستگی ها کمک می کند
- شفافیت و اطلاعات مدیریتی را ارائه می دهد
هنگامی که تیم برنامه ریزی تکرار را کامل کرد و بار تکرار را ایجاد کرد، تیم کار را برای تکرار بعدی به عنوان مجموعه ای از اهداف تکرار ترکیب می کند، که مشخص می کند چرا تکرار ارزشمند است. این اهداف از بک لاگ تکرار مشتق شده و با اهداف PI همسو هستند. اختیاری، PO ممکن است یک مجموعه اولیه از اهداف را قبل از برنامه ریزی تعریف کند. این به ایجاد زمینه برای “چرا” و “چه چیزی” برنامه ریزی کمک می کند. اهداف تکرار، اطلاعات و زبان مشترکی را برای حفظ همسویی، مدیریت وابستگیها و انجام تنظیمات لازم در طول اجرای PI، به تیمهای Agile، ذینفعان ART و مدیریت ارائه میدهند.
تکرار بک لاگ
در طول برنامهریزی تکرار، تیمها آیتمهایی را از بک لاگ تیم بیرون میکشند تا بکلوگ تکرار را ایجاد کنند که شامل مواردی است که قصد دارند در آن تکرار تکمیل کنند. از آنجایی که برنامه ریزی PI سطح بالایی دارد، احتمالاً باید برای هر تکرار تنظیماتی انجام شود. علاوه بر این، تیمها بازخورد دریافت میکنند – نه تنها از تکرارهای قبلیشان، بلکه از نسخه نمایشی سیستم و سایر تیمهایی که با آنها همکاری میکنند. نگرانی های تیم محلی (نقایص، بدهی های فنی و تعمیر و نگهداری)، عقب ماندگی ART، و اهداف PI تیم متعهد، همگی بر محتوای عقب مانده تکرار تأثیر می گذارند.
ارائه
تیمهای اسکرام در چارچوب الزامات آهنگسازی و همگامسازی ART عمل میکنند و همترازی، مدیریت وابستگی و چرخههای یادگیری یکپارچه سریع را برای کل Solution تسهیل میکنند.در طول تکرار، هر تیم برای تعریف، ساخت و آزمایش داستان هایی که در طول برنامه ریزی تکرار شناسایی کرده اند، همکاری می کند. آنها پیشرفت تکرار را دنبال می کنند و با استفاده از تابلوهای داستان و Kanban و رویدادهای همگام سازی تیم، جریان ارزش را بهبود می بخشند. آنها داستانها را در طول تکرار ارائه میکنند و از «آبشار» تایم باکس اجتناب میکنند. آنها شیوه های کیفیت داخلی را برای ساخت صحیح سیستم اعمال می کنند. این داستان های تکمیل شده در طول تکرار و در Iteration Review نمایش داده می شوند.
همگام سازی تیم
همگام سازی تیم یک جلسه کوتاه (معمولاً ۱۵ دقیقه یا کمتر) است که معمولاً روزانه برگزار می شود تا پیشرفت به سوی هدف تکراری بررسی شود، ارتباط برقرار شود و کارهای برنامه ریزی شده آینده تنظیم شود. تیم می تواند از هر ساختار یا تکنیکی برای همگام سازی تیم استفاده کند و یک برنامه عملیاتی برای هماهنگی روز کاری بعدی ایجاد کند. اما همگام سازی تیم تنها زمانی نیست که اعضای تیم می توانند تنظیمات را انجام دهند. تیم با هم همکاری می کند و هر زمان که لازم باشد در مورد تطبیق یا برنامه ریزی مجدد کار بحث می کند. تیم های با عملکرد بالا از همگام سازی تیم برای یافتن فرصت هایی برای کمک به یکدیگر استفاده می کنند تا تیم در تحقق اهداف تکرار متعهد خود موفق شود. Scrum Master/Team Coach موضوعاتی را نیاز به بحث بیشتر دارند در تابلوی “Meet After” یادداشت می کند. فقط طرفهای درگیر در طول جلسه بعد از آن میمانند تا درباره این موضوعات با جزئیات بیشتر صحبت کنند. همگامسازی ناکارآمد تیم ممکن است نشانه مشکلات عمیقتری باشد که به یک رویکرد سیستمی برای حل نیاز دارد، که اغلب به عهده Scrum Master/Team Coach است.
افزایش
افزایش نشان داده شده در شکل ۱ نشان می دهد که چگونه عملکرد راه حل جدید در هر تکرار تکامل می یابد. هر افزایش به همه موارد قبلی افزوده می شود و تأیید می شود و اطمینان حاصل می کند که همه آنها با هم کار می کنند. هر کدام یک راه حل کارآمد، آزمایش شده و قابل استفاده است که با معیارهای کیفیت توافق شده در تعریف انجام شده (DoD) مطابقت دارد.
علاوه بر این، تیم می تواند چندین افزایش را در یک تکرار ارائه دهد. مجموع تمام افزایش های تیم در بررسی تکرار بررسی می شود.
بررسی تکرار
برای تیم های اسکرام، Iteration Review دومین تا آخرین رویداد تکرار است. هر تیم نتایج تکرار را بررسی می کند، نتایج کار خود را به ذینفعان کلیدی ارائه می دهد و پیشرفت به سوی هدف تکرار و اهداف PI را ارزیابی می کند. همچنین هر گونه سازگاری آینده با محصول یا فرآیند را تعیین می کند. بر اساس نتایج، ذینفعان و تیم در مورد کارهای بعدی با یکدیگر همکاری می کنند. همچنین ممکن است عقب ماندگی تیم برای دیدار با فرصت های جدید تنظیم شود. بررسی تکرار حداکثر تا ۹۰ دقیقه برای یک تکرار دو هفته ای بسته بندی شده است.
تکرار گذشته نگر
Iteration Retrospective آخرین رویداد تکرار است. هدف اصلی آن تأمل در تکرار و استخراج ایده های جدید برای بهبود فرآیند و راه حل آن است. گذشته نگر به القای مفهوم بهبود بی وقفه کمک می کند. تیم بحث می کند که چه چیزی خوب پیش رفت، با چه مشکلاتی مواجه شد و چگونه آن مشکلات حل شدند (یا نشدند). تیم مفیدترین تغییرات را برای بهبود شناسایی می کند. این تغییرات در اسرع وقت مورد بررسی قرار می گیرند و یا برای تکرار بعدی در بک لاگ ثبت می شوند. زمان گذشته نگر حداکثر تا ۶۰ دقیقه برای یک تکرار دو هفته ای تنظیم شده است.
شرکت در نمایش سیستم
نمایش سیستم یک نمای یکپارچه از ویژگی های جدید را برای آخرین تکرار ارائه شده توسط همه تیم های ART ارائه می دهد. هر نسخه نمایشی به ذینفعان ART یک معیار عینی از پیشرفت در طول PI می دهد. همه افراد حاضر در ART در دمو سیستم شرکت می کنند یا حداقل در آن شرکت می کنند.
شکل ۲. نمونه ای از بک لاگ و گردش کار تیمی که در تابلوی کانبان نمایش داده شده است
نقش های اسکرام
اندازه و ساختار تیم اسکرام (معمولاً ده یا کمتر) ارتباطات، تعامل و توانایی ارائه ارزش را بهینه می کند. تیم اسکرام به اندازهای کوچک است که بتواند زیرک بماند و به اندازهای بزرگ است که کارهای مهمی را در یک سرعت انجام دهد [۲].
همه تیمهای چابک، از جمله تیمهایی که Scrum را اجرا میکنند، دو نقش تیمی تخصصی دارند که هر کدام مجموعهای از مسئولیتها را دارند (شکل ۳):
- Scrum Master/Team Coach (که ممکن است یک نقش پاره وقت باشد) مسئول کمک به هماهنگ کردن جریان کار برای ارائه به مشتریان است. آنها با آموزش اصول Scrum و Lean-Agile، کمک به رفع موانع پیشرفت و تسهیل خودسازماندهی و خود مدیریتی تیم، محیطی را برای عملکرد بالا و بهبود بی امان ایجاد می کنند. بسیاری از SAFe Scrum Masters/Team Coaches دارای مسئولیتهای مربیگری اضافی هستند، مانند مربیگری DevOps، کیفیت داخلی، Kanban و جریان.
- مالک محصول (معمولاً یک نقش تمام وقت) نیازها و انتظارات مشتریان را درک می کند. آنها بهعنوان مالک محتوای بکلوگ تیم عمل میکنند و به عقبماندگی تیم اولویت میدهند و به اطمینان از ساختن کار درست تیم به روش درست کمک میکنند.
شکل ۳. تیم Agile
تیم های چابک در قطار هستند
اگرچه تیمها دارای عملکرد متقابل هستند، اما یک تیم چابک ممکن است نتواند ارزش کامل کاربر نهایی را برای سیستمهای بزرگی که ممکن است شامل پلتفرمهای فناوری مختلف و طیفی از رشتهها مانند سختافزار، نرمافزار و مهندسی سیستم باشد، ارائه دهد. با این حال، تیم ها باید برای بهینه سازی جریان تلاش کنند تا مقدار سرتاسری را تا حد امکان مستقل ارائه دهند. برای حمایت از هدف بزرگتر، تیمهای چابک در یک قطار انتشار چابک (ART) فعالیت میکنند و محیطی را برای همسویی و همکاری با تیمهای دیگر برای ایجاد راهحلهای بزرگتر و کشف چگونگی کاهش یا حذف وابستگیها و بهبود تیم و جریان ART فراهم میکنند.
به عنوان بخشی از ای آر تی (ART) ، همه تیمها با هم برنامهریزی میکنند، آزمایش میکنند و یاد میگیرند، همانطور که در شکل ۴ نشان داده شده است، که به آنها کمک میکند هم بر نگرانیهای محلی و هم بر هدف بزرگتر ای آر تی تمرکز کنند. این همترازی همچنین به تیمها امکان میدهد به طور مستقل کاوش، ادغام، استقرار و انتشار ارزش را داشته باشند. مقاله Agile Teams مشارکت هر تیم در این مسئولیت مشترک ارائه ارزش مشتری را بیشتر تعریف می کند.
شکل ۴. تیم های چابک با هم برنامه ریزی، دمو و یادگیری می کنند
در گفتگو ها شرکت کنید.