قبل از اینکه به سراغ تعریف و کاربردهای اسکرام (Scrum) برویم، به یک پله عقبتر باز میگردیم. همانطور که بارها در متون متفاوت دیده و شنیدهاید اسکرام یک چارچوب است و نه یک متدلوژی.
در ابتدا به بررسی معنا و تفاوت چارچوب و متدلوژی میپردازیم سپس اسکرام را تعریف میکنیم.
آنچه درمورد اسکرام میخوانید
- تفاوت چارچوب و متدلوژی چیست؟ چرا اسکرام یک چارچوب است؟
- اسکرام چیست؟
- شفاف سازی چارچوب اسکرام
- چرا از اسکرام استفاده کنیم؟
- آشنایی با تیم اسکرام
- مالک محصول یا Product Owner
- تیم توسعه یا Development Team
- اسکرام مستر یا Scrum Master در تیم اسکرام
- جلسات اسکرام
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
- جمعبندی
تفاوت چارچوب و متدلوژی چیست؟ چرا اسکرام یک چارچوب است؟
متدلوژی مجموعه ای از روشها و مراحلی است که در محیطی مشخص پیاده سازی میشود.
چارچوب یک زیرساخت اساسی است که زیربنای یک سیستم را میسازد.
اسکرام چیست؟
اسکرام یک چارچوب برای توسعه، تحویل و نگهداری محصولات پیچیده است، در نتیجه اسکرام به جای وضع قوانین سختگیرانه که شما را وادار به انجام آن کند، در واقع راهنمایی برای پیشبرد کارها پیش روی ما میگذارد.
اسکرام بجای اینکه دستوالعملها و فرآیندهای از پیش تعیین شدهای را پیش روی شما بگذارد، خودش را با محیط کسب و کار شما سازگار (Adapt) میکند تا بتوانید مطابق با نیازها و اهدافی که دارید از آن استفاده کنید.
طبق نسخه 2017 راهنمای اسکرام این چارچوب از تیمهایی به همراه نقشها، رویدادها، مصنوعات و قوانین مرتبط با آنها تشکیل شده است.
ویژگیهای اسکرام
- سبک وزن است.
- فهم آن ساده است.
- تسلط بر آن و استفاده از آن دشوار است.
شفاف سازی چارچوب اسکرام
باور غلط
اسکرام تمامی مشکلاتی که در توسعه نرم افزارها وجود دارد را حل میکند.
واقعیت
اسکرام مشکلاتی که در پروژه های چابک وجود دارد را به ما نشان (برایمان مشخص میکند) تا برای حل آن اقدام کنیم.
اسکرام مشکلات موجود در کار ما را حل نمیکند، بلکه آن ها به شکل واضحی به ما نشان میدهد تا پس از آن تیم خودسازمانده اسکرام (Self- organize team) برای حل آن اقدام کنند.
اسکرام یک مفهوم و چارچوب وسیع است که در همه فرآیندهای ساخت و یا توسعه محصولات پیچیده و تمامی کسب و کارهایی که با رویکرد چابک مدیریت میشوند کاربرد دارد.
چرا از اسکرام استفاده کنیم؟
1- سازگاری با شرایط (Adaptability)
اسکرام تغییرات در پروژهها را در آغوش میگیرد. در واقع فرآیندهای اسکرام برای رویارویی با تغییرات طراحی شدهاند تا بتوان با استفاده از این قابلیت محصول بهتری را به مشتری ارائه داد.
2- کسب رضایت ذینفعان (Stakeholder Satisfaction)
یکی از مهم ترین اهداف در هر نوع پروژهای جلب رضایت ذینفعان آن پروژه است که اسکرام توانسته با استفاده از رویکرد مشارکت گونهای که در فرآیندهایش دارد به این هدف مهم دست پیدا کند.
3- تحویل با ارزشترین بخش کار در اولین اولویت (Early Delivery of high value product)
در چارچوب اسکرام میزان ارزش حاصل شده تعیین کننده خواهد بود. اسکرام به گونهای طراحی شده که حداقل در هر بازه ای از ماه (اسپرینت) بخشی از محصول به مشتری تحویل داده میشود، در این بین نحوهی چیدمان کارها به گونه ای است که کار با بالاترین ارزش در اولین اولویت قرار میگیرد تا تحویل مشتری داده شود.
4- بازخورد و بهبود مستمر (Continuous Development)
حتما تا به حال دربارهی مفهوم بهبود مستمر و یا چرخهی دمینگ شنیدهاید. در بهبود مستمر شما همواره به بهتر شدن روند انجام کارها میاندیشید به این شکل که پس از برنامه ریزی و انجام کار، نحوه ی عملکرد و بهرهوری کارتان را بررسی میکنید و در صورتی که نیاز به اصلاح بود آن را اصلاح میکنید.
این چرخه و یا بهتر است بگوییم طرز تفکر در هر کتاب و استانداردی یک ردپایی از خودش گذاشته است و چارچوب اسکرام هم از این قاعده مستثنی نیست.
در اسکرام با دریافت بازخوردهای مستمر و تحویل بخشی از محصول در هر بازهی زمانی که با آن اسپرینت (Sprint) میگوییم و دریافت بازخورد از مشتری نحوهی انجام کارها را بهبود میبخشیم.
برای استفاده از اسکرام در پروژهها دلایل بیشتری وجود دارد که در این بین به بیان برخی از آنها بسنده کردیم.
آشنایی با تیم اسکرام
تیم اسکرام به طور کلی شامل 3 نقش است:
- مالک محصول
- تیم توسعه
- اسکرام مستر
تیمهای اسکرام خود سازمانده و فرا وظیفهای هستند. تیمها خودشان بهترین روش انجام کار را انتخاب میکنند. تیمهای فراوظیفهای و خودسازمانده به جای اینکه توسط شخص دیگری از خارج تیم مدیریت شوند تمام شایستگیهای لازم برای انجام کار را بدون وابستگی به خارج تیم دارند.
الگوی تیم در اسکرام به گونهای طراحی شده تا انعطافپذیری، خلاقیت و تولید بهبود پیدا کند. تیم اسکرام ثابت کرده است که به طور فزایندهای میتواند در همه مواردی که قبلاً به آنها اشاره شد و هر کار پیچیده دیگری مؤثر عمل کند.
تیمهای اسکرام محصولات را به صورت تکراری و افزایشی عرضه میکنند که امکان دریافت بازخورد را به حداکثر میرساند.
ارائههای افزایشی این اطمینان را میدهند که همیشه یک نسخه قابل استفاده از محصول در دسترس است.
مالک محصول یا Product Owner
مالک محصول در مرحله اول الزامات و خواسته های مشتری را از او میگیرد و آنها را به تیم اسکرام توضیح میدهد.
سپس تمامی کارهایی که برای ساخت این سایت لازم است را در یک لیست به نام لیست محصول یا Product Backlog مینویسد.
در مرحلهی بعد تمامی کارهای لیست شده در Product Backlog (اصطلاحا بکلاگ محصول) را به گونهای که ارزش کار به بیشترین میزان خود برسد، دسته بندی و اولویت بندی میکند و برای انجام آنها، در بازههای زمانی مشخص شده و جلسات از پیش تعیین شده با تیم اسکرام برنامهریزی میکند.
به عنوان مثال او راه اندازی این سایت را به 5 بخش زیر تقسیم میکند:
- تحقیقات بازار
- تهیه دامنه و هاست
- تهیه و پیادهسازی سیستم فروشگاه ساز مناسب
- نهایی کردن سایت و بهره برداری
و برای انجام هر کدام یا دستهای از این بخشها یک ماه زمان در نظر میگیرد که در اسکرام به هر یک از این بازه های زمانی اسپرینت (Sprint) میگویند.
حالا در اسپرینت اول مالک محصول تمامی کارهای موجود در بکلاگ را که به این اسپرینت مربوط میشود در یک لیست جدا قرار میدهد که به آن Sprint Backlog میگویند.
حال که با این مثال متوجه مفهوم مالک محصول شدهاید، به طور دقیق به شرح مسئولیتها و وظایف کلی او میپردازیم.
وظایف مالک محصول در تیم اسکرام
مالک محصول، مسئول به حداکثر رساندن ارزش محصولی است که از کار تیم توسعه حاصل میشود.
اینکه این کار چگونه انجام میپذیرد ممکن است به طور وسیعی در بین سازمانها، تیمهای اسکرام و افراد متفاوت باشد.
مالک محصول تنها فرد مسئول برای مدیریت بکلاگ محصول است. مدیریت بکلاگ محصول شامل موارد زیر میشود:
- شرح و توصیف اقلام بکلاگ محصول به صورت شفاف
- رتبهبندی اقلام موجود در بکلاگ محصول به منظور دستیابی بهتر به اهداف و مأموریتها
- بهینهسازی ارزش کارهایی که تیم توسعه انجام میدهد.
- حصول اطمینان از اینکه بکلاگ محصول برای همه شفاف، واضح و قابل مشاهده بوده و کاری که تیم اسکرام در قدمهای بعدی انجام خواهد داد را به خوبی نمایش میدهد.
- حصول اطمینان از اینکه تیم توسعه به درکی کافی و لازم از اقلام درون بکلاگ محصول رسیده است.
موارد بالا را ممکن است مالک محصول خودش انجام دهد یا تیم توسعه اقدام به انجام آنها کند. در هر صورت مالک محصول همچنان مسئول و پاسخگو باقی میماند.
مالک محصول تنها یک نفر است و نه یک کمیته. مالک محصول ممکن است بیانکنندهی خواستههای یک کمیته در قالب بکلاگ محصول باشد، ولی کسانی که مایل به تغییر اولویتِ اقلام بکلاگ محصول هستند باید مالک محصول را مخاطب خود قرار دهند.
برای موفقیت مالک محصول، کل سازمان باید به تصمیمات او احترام بگذارد. تصمیمات مالک محصول در قالبِ محتوا و رتبه بندی بکلاگ محصول عینیت پیدا میکند. هیچکس نمیتواند تیم توسعه را مجبور به کار بر روی یک سری نیازمندی دیگر کند.
تیم توسعه یا Development Team
تیم توسعه شامل افرادی است که برای انجام این پروژه تخصصهای لازم را دارند. در این تیم و بطور کلی در اسکرام شخصی به عنوان رئیس و یا مدیر تعریف نشده است بلکه انتظار میرود کارها به شکل مشارکت گونه و خود سازمان یافته پیش رود.
حالا در اسپرینت اول تیم اسکرام (که شامل تیم توسعه، اسکرام مستر، مالک محصول است) برای انجام کارهای موجود در Backlog Sprint برنامهریزی میکنند.
همینطور تیم اسکرام باید برای انجام هر کدام از کارهای موجود در Sprint Backlog تخمین بزند. طبق منطق اسکرام تیم توسعه به عنوان انجامدهنگان کارها بهترین گزینه برای تخمین زدن مدت زمان کارها میباشند.
خب حالا که با تیم توسعه نیز به طور تقریبی آشنا شدهاید در ادامه وظایف و نقش تیم توسعه را نیز به طور رسمی و دقیقتر شرح میدهیم.
نقش و وظایف تیم توسعه
تیم توسعه شامل متخصصانی است که کار تحویل فرآورده (محصول) بالقوه قابل ارائه در انتهای هر اسپرینت را انجام میدهند.
برای جلسه بازبینی اسپرینت وجود یک فرآورده تکمیل شده ضروری است و تنها اعضای تیم توسعه هستند که فرآوردهها را تولید میکنند.
تیمهای توسعه توسط سازمان به شکلی ساماندهی و توانمند میشوند که کارهایشان را خودشان سازماندهی و مدیریت کنند. همافزایی حاصله باعث بهبود بهره وری و کارایی همه جانبه تیم توسعه میشود. تیمهای توسعه دارای مشخصات زیر هستند:
- خود سازمانده هستند. هیچکس (حتی اسکرام مستر) به تیم توسعه نمیگوید که چگونه بکلاگ محصول را به فرآوردهای بالقوه قابل ارائه تبدیل کند.
- تیمهای توسعه، فراوظیفهای هستند، در قالب یک تیم که تمام مهارتهای موردنیاز برای ساخت یک فرآورده محصول را دارا است.
- اسکرام سِمَت یا عنوانی را برای اعضای تیم توسعه، صرف نظر از نوع کاری که هر شخص انجام میدهد، به رسمیت نمیشناسد.
- صرف نظر از حوزههایی که باید مورد توجه قرار گیرند مانند آزمون، معماری، عملیات یا تحلیل کسبوکار، اسکرام تشکیل تیمهای فرعی در تیم توسعه را به رسمیت نمیشناسد.
- بعضی از اعضای تیم توسعه ممکن است دارای مهارتها و یا حوزههای تمرکز ویژهای باشند، اما بهطور کل مسئولیت پاسخگویی به تیم توسعه تعلق دارد.
اندازه تیم توسعه
اندازه مطلوب تیم توسعه آنقدر کوچک است که چالاک باقی بماند و آنقدر بزرگ است تا بتواند کار قابل توجهی را در طول اسپرینت به سرانجام برساند.
کمتر از 3 نفر برای تیم توسعه، باعث کاهش سطح تعاملات شده و منجر به دستاوردهای با سودمندی کمتر میشود. تیمهای توسعه کوچکتر ممکن است در طول اسپرینت با محدودیت و کمبود مهارت مواجه شوند به طوریکه باعث شود نتوانند یک فرآوردۀ بالقوه قابل عرضه در انتهای اسپرینت ارائه دهند.
داشتن بیش از 9 نفر در تیم توسعه نیازمند هماهنگیهای خیلی زیاد است. تیمهای توسعه بزرگ پیچیدگی خیلی زیادی را برای مفید بودن یک فرآیند تجربی به وجود میآورند. نقشهای مالک محصول و اسکرام مستر تا زمانی که تکلیفی در بکلاگ اسپرینت بر عهده نداشته باشند در این شمارش محاسبه نمیشوند.
اسکرام مستر یا Scrum Master در تیم اسکرام
به زبان ساده، اسکرام مستر یک تسهیلگر است که سعی میکند موانعی که بر سر راه تیم اسکرام قرار میگیرد را بردارد. اسکرام مستر تیم را در راستای رسیدن به اهداف اسپرینت حمایت میکند. او کسی است که مطمئن میشود تیم اسکرام جلسات برنامه ریزی و بررسی کار را به طور منظم برگزار میکند و به طور کلی اسکرام مستر باید اطمینان حاصل کند که همه چیز رو به راه است.
نقش و وظایف اسکرام مستر در تیم اسکرام
مسئولیت ترویج و حمایت از اسکرام به گونهای که در راهنمای اسکرام تعریف شده است را بر عهده دارد. اسکرام مستر این کار را از طریق کمک به دیگران برای درک مبانی نظری، روشها، قوانین و ارزشهای اسکرام انجام میدهد.
اسکرام مستر یک رهبر خدمتگزار برای تیم اسکرام است. اسکرام مستر به افراد خارج از تیم کمک میکند تا درک کنند که کدامیک از رفتارها و تعاملاتشان با تیم اسکرام، مفید بوده و کدامیک نبوده است.
اسکرام مستر به منظور بیشینه ساختن ارزش آفرینی تیم اسکرام، به همه کمک میکند این رفتارها و تعاملات را تغییر دهند.
خدمات اسکرام مستر برای مالک محصول
اسکرام مستر از طرق مختلفی به مالک محصول خدمترسانی میکند، از جمله:
- حصول اطمینان از اینکه همه افراد تیم اسکرام به خوبی اهداف و دامنه محصول را درک کرده باشند
- یافتن شگردهایی جهت مدیریت مؤثر بکلاگ محصول
- کمک به تیم اسکرام برای درک نیاز به داشتن اقلام بکلاگ محصول شفاف، کوتاه و موجز
- درک نحوه برنامه ریزی محصول در یک محیط تجربی
- حصول اطمینان از اینکه مالک محصول میداند به منظور بیشینه سازی ارزش چگونه بکلاگ محصول را مرتب کند
- درک و تمرین چابکی
- تسهیل رویدادهای اسکرام به محض درخواست یا نیاز
خدمات اسکرام مستر برای تیم توسعه
اسکرام مستر از طرق مختلفی به تیم توسعه خدمت رسانی میکند، از آن جمله:
- مربیگری تیم توسعه در مسیر خودسازمانده و فراوظیفهای شدن
- کمک به تیم توسعه برای خلق محصولات با ارزش
- حذف موانع موجود بر سر راه پیشرفت تیم توسعه
- تسهیل رویدادهای اسکرام به محض درخواست یا نیاز
- مربیگری تیم توسعه در محیطهای سازمانی که هنوز اسکرام به صورت کامل در آنها پذیرفته یا درک نشده است.
خدمات اسکرام مستر برای سازمان
اسکرام مستر از طرق مختلفی به سازمان خدمت رسانی میکند، از جمله:
- هدایت و مربیگری سازمان در مسیر پذیرش اسکرام
- طرح ریزیِ پیاده سازیهای اسکرام در سازمان
- کمک به کارمندان و ذینفعان برای درک و برگزاری عملی اسکرام و توسعه تجربی محصول
- سبب ساز و آغازگر تغییری که موجب افزایش سودمندی تیم اسکرام میشود
- همکاری با اسکرام مسترهای دیگر برای افزایش سودمندیِ کاربرد اسکرام در سازمان
جلسات اسکرام
جلسات و یا رویدادهای اسکرام برای ایجاد شفافیت لازم سازماندهی میشوند. اسکرام از رویدادها برای ایجاد نظم و کاهش نیاز به جلساتی که بخشی از چارچوب اسکرام نیستند استفاده میکند.
برای ساده کردن پیچیدگی، همه رویدادها باید در یک زمان و مکان برگزار شوند.
Sprint Planning
در Sprint Planning چه اتفاقی می افتد؟
در طول برنامه ریزی اسپرینت، کل تیم اسکرام با هم همکاری میکنند و در مورد کار با اولویت بالا برای اسپرینت بحث میکنند و هدف اسپرینت را تعریف میکنند. نقش استاد اسکرام در درجه اول تسهیل جلسه است. صاحب محصول هدف محصول را توصیف میکند و همچنین به سؤالات تیم توسعه در مورد معیارهای اجرا و پذیرش معیارهای رضایت پاسخ میدهد. توسعهدهندگان در مورد اینکه چه مقدار از کارهای با اولویت بالایی که میتواند در طول دوی سرعت انجام دهد، حرف آخر را میزنند.
- چه کسی در برنامهریزی اسپرینت اسکرام شرکت میکند؟
- برنامهریزی اسپرینت شامل کل تیم اسکرام است: تیم توسعه، مالک محصول و اسکرام مستر.
- برنامهریزی اسپرینت چقدر باید ادامه داشته باشد؟
- برنامهریزی اسپرینت حداکثر به هشت ساعت محدود میشود.
Daily Scrum
در Daily Scrum چه اتفاقی می افتد؟
تیم توسعه به مدت 15 دقیقه (یا کمتر) هر روز از اسپرینت برای بررسی پیشرفت به سمت هدف اسپرینت گرد هم میآیند. آنها برای یکدیگر توصیف میکنند که کارشان چگونه پیش میرود، در صورت نیاز درخواست کمک میکنند و در نظر میگیرند که آیا هنوز در مسیر رسیدن به هدف سرعت هستند یا خیر. این یک جلسه وضعیت نیست، بلکه فرصتی برای تیم توسعه است تا محصول و فرآیند را به صورت روزانه بررسی و تطبیق دهد.
پیشنهاد مطالعه
تعریف انجام شده یا Definition Of Done و اصول آن
Sprint Review
در Sprint Review چه اتفاقی می افتد؟
بررسیهای اسپرینت بر روی محصول در حال توسعه تمرکز دارد، به ویژه بر افزایش محصول بالقوه قابل حمل که در طول اسپرینت ایجاد میشود. در طول بررسی اسپرینت، تیم اسکرام از ذیاثران دعوت میکند تا در مورد آنچه در طول اسپرینت تکمیل شده است صحبت کنند. آنها بر اساس این بازخورد، Backlog محصول را در صورت نیاز تطبیق میدهند.
چه کسی در بررسی اسپرینت شرکت می کند؟
کل تیم اسکرام در بررسی اسپرینت شرکت می کنند. این تیم از کاربران، مشتریان، ذیاثران، مدیران ارشد و بخشهای تحت تأثیر (مانند بازاریابی، پشتیبانی مشتری) دعوت میکند تا در آن شرکت کنند و بازخورد بدهند. تیمهای اسکرام تشویق میشوند تا تعداد افراد زیادی را که اتاق میتواند داشته باشد دعوت کنند – بازخوردهای متنوع برای ایجاد محصولات عالی ضروری است.
بررسیهای اسپرینت چقدر باید دوام داشته باشد؟
بررسیهای اسپرینت حداکثر به چهار ساعت محدود میشود.
قاعده کلی این است که هر یک هفته از طول اسپرینت، یک ساعت برای مرور سرعت در نظر گرفته شود. این بدان معناست که تیمها باید بازبینی تایم باکس را به دو ساعت برای دو هفته و چهار ساعت برای یک ماه سرعت بازبینی کنند.
Sprint Retrospective
در یک Sprint Retrospective چه اتفاقی میافتد؟
بررسیهای گذشته اسپرینت بر روی این فرآیند تمرکز دارد. تیم اسکرام در طول یک Sprint Retrospective، در مورد آنچه درست پیش رفت و زمینههایی برای بهبود در اسپرینت بحث میکند. آنها برنامههای ملموسی برای بهبود فرآیند، ابزار و روابط خود میسازند.
بازنگریهای اسپرینت چه مدت باید طول بکشد؟
بازنگریهای اسپرینت حداکثر به سه ساعت محدود میشود.
جمعبندی
تا اینجا با مفهوم اسکرام و نقشهای تشکیل دهنده آن آشنا شدید و وظایف هر کدام را بررسی نمودیم. چه یک فرد مشتاق به یادگیری اسکرام باشید یا بخواهید از اصول اسکرام را در تیم خود استفاده کنید، گذراندن یک دوره آموزشی اولین قدم برای شروع است. مجموعه پیشرو مدیریت پیران (PMPiran) دورهای به عنوان دوره SAFe Scrum Master برگزار میکند که با شرکت در این دوره و گذراندن آن علاوه بر یادگیری اصول اسکرام میتوانید برای دریافت گواهی SAFe اقدام کنید.
دیدگاهتان را بنویسید