با ما در تماس باشید: info@scrumfarsi.ir

راهنمای اسکرام 2020

این راهنما ترجمه مستقیمی است از The 2020 Scrum Guide. میتوانید فایل PDF این راهنما به فارسی را از اینجا دانلود کنید.

هدف از راهنمای اسکرام

ما اسکرام را در اوایل دهه 1990 میلادی توسعه دادیم. اولین نسخه راهنمای اسکرام را در سال 2010 نوشتیم تا به مردم در سرتاسر دنیا در درک اسکرام کمک کنیم. و از آن روز به بعد همواره این راهنما را با مواردی کوچک و کاربردی بروز رسانی کرده ایم. ما در کنار یکدیگر از این راهنما حمایت می کنیم.

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

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

از آنجایی که استفاده از اسکرام در حال گسترش است، توسعه دهندگان (Developers)، پژوهشگران (Researchers)، تحلیلگران (Analysts)، دانشمندان (Scientists) و دیگر کارشناسان، کارها را [با استفاده از این فریم ورک] انجام می دهند. ما در اسکرام از واژه توسعه دهندگان (Developers) برای حذف باقی مشاغل استفاده نمی کنیم بلکه هدف از اینکار ساده سازی است. اگر شما هم در حال بهره بردن از مزایای اسکرام هستید می توانید خودتان را توسعه دهنده (Developers) در نظر بگیرید.

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

تعریف اسکرام

اسکرام یک چهارچوب (Framework ) سبک وزن است که به افراد، تیمها و سازمان ها کمک می کند تا ارزش (Value) را با کمک راهکارهای تطبیق پذیر آن، برای مسائل دشوار و پیچیده، ایجاد کنند.

بطور کلی، اسکرام به یک Scrum Master نیاز دارد تا محیطی ایجاد کند که در آن:

  1. یک مالک محصول(Product Owner)  کارهای مربوط به حل یک مسئله پیچیده را در بک لاگ محصول (Product Backlog) اولویت بندی کند.
  2. تیم اسکرام، فهرستی از کارهای انتخاب شده (Sprint Backlog) را در طول اسپرینت به انجام رسانده و یک افزایش (Increment) را در راستای خلق ارزش (Value) ایجاد نماید.
  3. تیم اسکرام و ذینفعان (Stakeholders) نتایج کارهای انجام شده در طول اسپرینت را بازبینی کرده و اسپرینت بعدی را با نتایج بدست آمده تطبیق دهند.
  4. مراحل بالا تکرار می شوند.

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

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

اسکرام  کارآمدی نسبی پارامترهایی مانند مدیریت، محیط و تکنیک‌های کاری فعلی را قابل مشاهده می‌کند، تا با مشاهده آنها بتوان بهبودهای لازم را به انجام رساند. [اسکرام به تیم‌ها اجازه می‌دهد تا با استفاده از متریک‌های مختلف، کارآیی فعلی مدیریت، محیط و تکنیک‌های کاری خود را ارزیابی کرده آن‌ها را بهبود دهند. این چارچوب به تیم‌ها اجازه می‌دهد تا با توجه به نتایج به دست آمده، بهبودهای لازم را انجام داده و کارآیی و کیفیت کار خود را افزایش دهند].

تئوری اسکرام

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

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

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

شفافیت (Transparency)

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

شفافیت، بازرسی را ممکن می سازد. بدون شفافیت، بازرسی گمراه کننده و بی هدف خواهد بود.

بازرسی (Inspection)

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

بازرسی، تطبیق پذیری/سازگاری را ممکن می سازد. بازرسی بدون سازگاری بی معنی خواهد بود. رویدادهای اسکرام با هدف پذیرش و اعمال تغییر طراحی شده اند.

سازگاری (Adaptation)

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

اگر افراد درگیر، قادر به تصمیم گیری نبوده و قابلیت خود-مدیریتی (self-managing) نداشته باشند، فرایند سازگاری با شرایط جدید دشوار خواهد بود. از تیم اسکرام انتظار می رود تا به محض یادگیری یک موضوع جدید در فرایند بازرسی/بازبینی، خود را با آن سازگار کند.

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

استفاده موفقیت آمیز از اسکرام منوط به تسلط تیم اسکرام به ارزشهای آن است. این ارزش ها عبارتند از:
تعهد، تمرکز، باز/پذیرا بودن، احترام، شجاعت

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

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

تیم اسکرام


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

تیم اسکرام یک تیم خود-بسنده (Cross-functional) است. به این معنی که اعضای تیم، تمامی مهارت های لازم جهت ایجاد ارزش (Value) در هر اسپرینت را دارا هستند. آنها همچنین خود-مدیریت کننده (Self-managing) هستند، به این معنی که آنها خود تصمیم می گیرند چه کسی، چه کاری را، در چه زمانی و به چه شکلی انجام دهد.

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

تیم اسکرام مسئول تمام فعالیتهای مرتبط با محصول از قبیل همکاری و تعامل با ذی نفعان، دریافت تایید (Verification)، نگهداری از محصول، عملیات (Operation)، آزمایش (Experimentation)، تحقیق و توسعه و هر فعالیت مورد نیاز دیگر می باشد. تیم اسکرام توسط سازمان ساختاردهی شده و قدرت لازم جهت انجام کارهای خود را دارد. کار در یک اسپرینت با یک نرخ پایدار [بهتر است در تمامی اسپرینت ها حجم کار یکسان و متناسب با ظرفیت تیم در نظر گرفته شود] باعث می شود تا تیم عملکردی متمرکز، پیوسته و منظم داشته باشد.

تمامی تیم اسکرام مسئول ایجاد یک افزایش (Increment ) با ارزش و مفید در هر اسپرینت می باشند. اسکرام سه مسئولیت خاص را در تیم اسکرام تعریف می کند: توسعه دهندگان (Developers)، مالک محصول (Product Owner) و اسکرام مستر (Scrum Master).

توسعه دهندگان

توسعه دهندگان (Developers) افرادی هستند که متعهد می شوند، در هر اسپرینت، یک افزایش (Increment) قابل استفاده از محصول ایجاد کنند. مهارتهای خاصی که تیم توسعه در اسکرام نیاز دارد اغلب بسیار متنوع هستند با این حال توسعه دهندگان همیشه مسئولیت های زیر را برعهده خواهند داشت:

  • ایجاد یک برنامه (Plan) برای هر اسپرینت یا همان بک لاگ اسپرینت (Sprint Backlog)
  • تامین کیفیت محصول ایجاد شده با رعایت تعریف کار انجام شده (Definition of Done)
  • بازبینی و تطبیق برنامه اسپرینت با هدف اسپرینت (Sprint Goal) بصورت روزانه
  • کمک به دیگر اعضای تیم برای پذیرش مسئولیت به عنوان یک متخصص

مالک محصول

مالک محصول مسئول به حداکثر رساندن ارزش محصول یا همان نتیجه و خروجی کار تیم اسکرام می باشد. نحوه انجام این کار در سازمانها، تیمها و افراد مختلف متفاوت می باشد.

مالک محصول همچنین مسئول مدیریت موثر بک لاگ محصول (Product Backlog) می باشد. این فعالیت شامل موارد زیر می باشد:

  • توسعه و ابلاغ صریح هدف محصول (Product Goal)
  • ایجاد و ابلاغ صریح آیتم های بک لاگ محصول (Product Backlog)
  • اولویت بندی آیتم های بک لاگ محصول
  • اطمینان حاصل کردن از اینکه بک لاگ محصول (Product Backlog) شفاف، قابل مشاهده و قابل درک باشد.

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

برای موفقیت یک مالک محصول، تمام افراد سازمان باید به تصمیمات او احترام بگذارند. این تصمیمات در محتوا و اولویت بندی انجام شده در بک لاگ محصول و همچنین در طی مرحله بارسی اسپرینت (Sprint Review) قابل مشاهده هستند.

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

اسکرام مستر

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

اسکرام مستر مسئولیت اثربخشی تیم اسکرام را برعهده دارد. او اینکار را با کمک به تیم اسکرام در بهبود روش ها و عملکردهای خود در قالب چهارچوب (Framework) اسکرام انجام می دهد.

اسکرام مسترها رهبران واقعی ای هستند که به سازمانهای بزرگ و تیمهای اسکرام خدمت می کنند.

اسکرام مستر به طرق مختلف به تیم اسکرام خدمت می کند. این خدمات شامل موارد زیر می باشند:

  • آموزش اعضای تیم درباره خود مدیریتی (Self-management) و خود-بسندگی (Cross-functionality)
  • کمک به اعضای تیم اسکرام برای متمرکز شدن بر روی ایجاد یک افزایش (Increments ) با ارزش بالا که تعاریف انجام شده (Definition of Done) سازگار باشد.
  • برطرف کردن موانع پیشرفت تیم اسکرام
  • اطمینان حاصل کردن از برگزاری تمامی رویدادهای اسکرام بصورت مثبت، مفید و در چهارچوب زمانی مشخص شده

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

  • کمک در پیدا کردن تکنیک های موثر برای تعریف هدف محصول و مدیریت بک لاگ محصول
  • کمک به تیم اسکرام، برای درک نیاز به موارد واضح و مختصر در بک لاگ محصول
  • کمک به پیاده سازی برنامه ریزی تجربی محصول (Empirical Product Planning) در یک محیط پیچیده
  • تسهیل تعامل و همکاری با ذینفعان در صورت نیاز یا درخواست

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

  • رهبری، آموزش و مربی گری (Coaching) سازمان در فرایند پذیرش، گسترش و اجرای اسکرام
  • برنامه ریزی و مشاوره در اجرای اسکرام در سازمان
  • کمک به کارکنان و ذینفعان برای درک و بکارگیری رویکرد تجربه محور در کارهای پیچیده
  • برطرف کردن موانع موجود بین ذینفعان و تیم اسکرام

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

اسپرینت دربردارنده تمامی دیگر رویدادها می باشد [تمامی رویدادهای دیگر در داخل رویداد اسپرینت برگزار می شوند]. هر رویداد در اسکرام یک فرصت رسمی برای بازرسی و تطبیق مصنوعات (Scrum artifacts) اسکرام می باشد. این رویدادها به‌طور خاص برای محقق کردن شفافیت مورد نیاز اسکرام طراحی شده اند. عدم اجرای هر یک از این رویدادها به شکل مشخص شده در راهنمای اسکرام، منجر به از دست رفتن فرصت های بازرسی و تطبیق خواهد شد. رویدادهای اسکرام، برای ایجاد تناوب و روال منظم ایجاد شده اند تا نیاز به برقراری جلساتی که در اسکرام تعریف نشده اند را به حداقل برسانند.

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

اسپرینت (The Sprint)

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

تمامی کارهای لازم برای دستیابی به هدف محصول، مانند برنامه ریزی اسپرینت (Sprint Planning)، جلسات رووزانه اسکرام (Daily Scrum)، بازبینی اسپرینت (Sprint Review) و بررسی اسپرینت (Sprint Retrospective) در طول یک اسپرینت انجام می شوند.

در طول یک اسپرینت:

  • تغییری که باعث به خطر افتادن هدف اسپرینت بشود، داده نمی شود.
  • کیفیت کاهش پیدا نمی کند.
  • هرگاه که نیاز باشد، بک لاگ محصول مورد بازبینی قرار می گیرد [با هدف افزایش جزئیات به آن].
  • دامنه پروژه (Scope ) ممکن است با یادگیری بیشتر در طول اسپرینت، با مالک محصول مورد بررسی و بازبینی قرار گیرد.

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

شیوه های بسیاری برای پیش بینی پیشرفت کار وجود دارند مانند: burn-downs، burn-ups و یا cumulative flows. با وجود اینکه استفاده از این شیوه ها مفید خواهد بود اما با این حال آنها نمی توانند جایگزین تجربه گرایی شوند. در محیط های پیچیده، اینکه چه چیزی روی خواهد داد کاملا ناشناخته است. تنها آنچه که قبلا روی داده است می تواند برای تصمیم گیری برای آینده استفاده شود.

یک اسپرینت در صورتی که هدف اسپرینت منسوخ شود، می تواند لغو شود. تنها مالک محصول اختیار لغو اسپرینت را دارد.

برنامه ریزی اسپرینت (Sprint Planning)

رویدادهای برنامه ریزی اسپرینت، با مشخص کردن کارهایی که باید در طول اسپرینت انجام شود، آغازگر اسپرینت هستند [برگزاری جلسه برنامه ریزی اسپرینت، به معنی شروع اسپرینت است]. این برنامه ریزی، با همکاری تمامی اعضای تیم اسکرام انجام می شود.

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

جلسه برنامه ریزی اسپرینت موضوعات زیر را پوشش می دهد.

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

موضوع دوم: چه کارهایی می توانند در این اسپرینت انجام شوند؟

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

تصمیم گیری درباره اینکه چه حجمی از کار باید در طول یک اسپرینت انجام شود می تواند چالش برانگیز باشد. با این حال هرچه توسعه دهندگان درباره بهره وری خود در اسپرینت های گذشته، ظرفیت تیم خود در اسپرینت بعدی، و تعاریف مربوط به کار انجام شده (Definition of Done) بیشتر بدانند، بهتر و دقیق تر می توانند این مورد را پیش بینی کنند.

موضوع سوم: کارهای انتخاب شده چگونه انجام می شوند؟

برای هر یک از آیتم های انتخاب شده از بک لاگ محصول، توسعه دهندگان جهت انجام دادن آنها، در راستای ایجاد یک افزایش (Increment) مطابق با تعریف انجام شده (Definition of Done) برنامه ریزی می کنند. این برنامه ریزی اغلب با شکستن آیتم های بک لاگ محصول به کارهای جزئی تر، که قابل انجام در طول یک روز و یا کمتر از یک روز هستند صورت می گیرد. چگونگی انجام این کار به تشخیص و نظر توسعه دهندگان بستگی دارد. هیچ کس دیگری نمی تواند به آنها بگوید که چگونه آیتم های بک لاگ را به یک افزایش (Increment) و یا ارزش (Value) تبدیل کنند.

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

مدت زمان جلسه برنامه ریزی اسپرینت، برای یک اسپرینت یک ماهه باید حداکثر 8 ساعت باشد. برای اسپرینت های کوتاهتر، این زمان کوتاهتر خواهد بود.

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

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

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

مادامی که تمرکز جلسات روزانه اسکرام بر روی دستیابی به هدف اسپرینت و ایجاد یک برنامه ریزی مناسب برای روز بعد باشد، توسعه دهندگان می توانند هر ساختار و یا تکنیکی که میخواهند را برای جلسات روزانه انتخاب کنند. اینکار باعث ایجاد تمرکز شده و خود-مدیریتی (self-management) را تقویت می کند.

اسکرام روزانه باعث بهبود ارتباطات، شناسایی موانع، ترویج تصمیم گیری های سریع بوده و متعاقبا نیاز به جلسات دیگر [خارج از چهارچوب اسکرام] را کاهش می دهد.

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

بازبینی اسپرینت (Sprint Review)

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

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

بازبینی اسپرینت دومین رویداد از آخرین رویدادهای اسپرینت [از آخر دومی!] است و حداکثر زمان آن برای یک اسپرینت یک‌ماهه، 4 ساعت می باشد. برای اسپرینت های کوتاهتر، این زمان کوتاهتر خواهد بود.

بررسی اسپرینت (Sprint Retrospective)

هدف از جلسه بررسی اسپرینت برنامه ریزی برای افزایش کیفیت و بهره وری است.

تیم اسکرام در بررسی اسپرینت گذشته، نسبت به افراد، تعاملات، فرآیندها، ابزارها و تعریف خود از انجام شده (Definition of Done)، نحوه پیشرفت اسپرینت را بررسی می کند. در این بررسی، تیم اسکرام به دنبال بهبود عملکرد خود در اسپرینت های آینده است. عناصری که در این جلسه بررسی می شوند، معمولا در حوزه های کاری مختلف، متفاوت هستند. فرضیاتی  (Assumptions) که منجر به گمراهی تیم شده اند شناسایی شده و ریشه اصلی آنها مشخص می شود. تیم اسکرام، در مورد مواردی که خوب پیش رفته‌اند، مشکلاتی که با آنها مواجه شده‌اند و چگونگی حل یا عدم حل آن مشکلات، بحث می‌کند.

تیم اسکرام، مفیدترین تغییرات اعمال شده را، در راستای بهبود کارایی خود شناسایی می کند. مفیدترین تغییرات، در اسرع وقت اعمال می شوند و یا ممکن است به لیست کارهای اسپرینت بعدی اضافه شوند.

بررسی اسپرینت، اسپرینت را به پایان می رساند [آخرین رویداد اسپرینت است]. حداکثر زمان این رویداد برای یک اسپرینت یک ماهه 3 ساعت می باشد. برای اسپرینت های کوتاهتر این زمان کوتاهتر خواهد بود.

مصنوعات اسکرام (Scrum Artifacts)

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

هر یک از مصنوعات شامل تعهد (Commitment) است که اطمینان می دهد؛ اطلاعاتی که در آن مصنوع قرار دارد شفافیت و تمرکز را افزایش داده و میزان پیشرفت کارها با استفاده از آن تعهد، قابل اندازه گیری است:

  • برای بک لاگ محصول آن تعهد، هدف محصول می باشد
  • برای بک لاگ اسپرینت، هدف اسپرینت است
  • برای یک افزایش (Increment) تعریف کار انجام شده است

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

بک لاگ محصول (Product Backlog)

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

آیتم هایی از بک لاگ محصول که ممکن توسط تیم اسکرام برای انجام دادن در اسپرینت، در جلسه برنامه ریزی اسپرینت (Sprint Planning) انتخاب شوند، باید از پیش آماده باشند. این موارد پس از پالایش (Refining) این درجه از شفافیت را بدست می آورند. پالایش بک لاگ محصول (Product Backlog Refinement)، فعالیتی است که طی آن، آیتم های بک لاگ محصول به کارهای کوچکتر با توضیحات دقیقتر شکسته می شوند. پالایش بک لاگ محصول یک فعالیت پیوسته و ادامه دار است که برای افزودن جزئیاتی مانند: توضیحات (Description)، ترتیب یا اولویت (Order) و اندازه (Size) به آیتم ها انجام می شود. این جزئیات ممکن است در حوزه های کاری مختلف، متفاوت باشند.

توسعه دهندگانی که مسئول انجام کارها هستند باید اندازه (Size) آیتم ها را مشخص کنند. مالک محصول می تواند با ارائه توضیحات لازم، به توسعه دهندگان کمک کرده و اندازه (Size) انتخاب شده را متعادل کند.

تعهد: هدف محصول

هدف محصول، وضعیت آینده محصول را توصیف می‌کند که می‌تواند به عنوان یک هدف برای تیم اسکرام در برنامه‌ریزی استفاده شود. هدف محصول، در داخل بک لاگ محصول قرار می گیرد. باقی موارد موجود در بک لاگ محصول، بیان می کنند که “چه چیزی” هدف محصول را براورده می کند [بیان کننده چیزهایی هستند که هدف محصول را براورده می کند].

یک محصول، وسیله‌ای برای ارائه ارزش (Value) است. محصول دارای مرز و محدوده مشخص، ذینفعان شناخته شده و کاربران یا مشتریان دقیقا تعریف شده است. یک محصول می‌تواند یک خدمت، یک محصول فیزیکی یا چیزی انتزاعی تر باشد.

هدف محصول، هدف بلندمدت تیم اسکرام است. آن‌ها باید یک هدف را پیش از شروع هدف بعدی برآورده کرده و یا آن را رها کنند.

بک لاگ اسپرینت (Sprint Backlog)

بک لاگ اسپرینت دربرگیرنده هدف اسپرینت (چرایی)، لیستی از آیتم های انتخاب شده از بک لاگ محصول برای اسپرینت (چه چیزهایی) و یک برنامه عملی برای ارائه ارزش(Value) می باشد (چگونگی).

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

تعهد: هدف اسپرینت

هدف اسپرینت(Sprint Goal)، تنها هدف (Objective) تیم اسکرام است. هدف اسپرینت، تعهدی برای توسعه دهندگان نیز هست. هدف اسپرینت، انعطاف پذیری لازم برای انجام کارهای درست، در راستای دستیابی به آن را فراهم می کند [به عبارت دیگر، توسعه‌دهندگان می‌توانند با توجه به شرایط و نیازهای پروژه، به صورت انعطاف‌پذیری برنامه‌ریزی کنند تا به هدف اسپرینت برسند].

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

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

افزایش/افزونه (Increment)

افزایش، یک گام ملموس در راستای دستیابی به هدف محصول است. هر افزایش، به افزایش های قبلی اضافه شده و اطمینان حاصل می شود که تمامی این افزایش ها با هم کار می کنند. برای فراهم کردن ارزش (Value)، افزایش باید قابل استفاده باشد(به درستی کار کند) [هر افزایش، بخشی قابل افزودن به محصول است که به بهبود محصول کمک کرده و به مشتریان و کاربران محصول ارزش افزوده می دهد].

چندین افزایش می تواند در یک اسپرینت ایجاد شود. مجموع این افزایش ها در جلسه بازبینی اسپرینت (Sprint Review) ارائه می شوند. بازبینی این افزایش ها به تجربه گرایی کمک می کند. با این حال، یک افزایش می تواند قبل از پایان اسپرینت به ذینفعان تحویل داده شود. جلسه بازبینی اسپرینت (Sprint Review) هرگز نباید به عنوان دروازه ای برای ارائه ارزش در نظر گرفته شود [در واقع، هدف اصلی بررسی اسپرینت، بررسی افزایش‌های تحویل داده شده و اطمینان حاصل کردن از مطابقت هر یک از آنها با تعریف انجام شده می باشد. به عبارت دیگر، بررسی اسپرینت باید به عنوان یک فرصت برای بازخورد و بهبود فرآیند توسعه محصول در نظر گرفته شود]. یک کار تنها زمانی به عنوان یک افزایش در نظر گرفته می شود که با تعریف کار انجام شده (Definition of Done) مطابقت داشته باشد.

تعهد: تعریف انجام شده

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

به محض اینکه یک آیتم از بک لاگ محصول، با تعریف انجام شده مطابقت داشته باشد، یک افزایش (Increment) متولد می شود.

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

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

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

سخن پایانی

اسکرام رایگان بوده و در این راهنما ارائه شده است. همانطور که در اینجا شرح داده شد، چهارچوب (Framework) اسکرام ثابت و تغییرناپذیر است. با وجود اینکه پیاده‌سازی ناتمام اسکرام امکانپذیر است، باید توجه داشت که خروجی و نتیجه آن دیگر اسکرام نخواهد بود. اسکرام تنها به صورت کامل و به عنوان یک ظرف برای تکنیک‌ها، روش‌ها و شیوه‌های دیگر عمل می‌کند [به عبارت دیگر، اسکرام به تنهایی کافی نیست و برای دستابی به نتایج مطلوب، باید با تکنیک‌ها، روش‌ها و شیوه‌های دیگر ترکیب شود].