همه کسبوکارها تمایل دارند با طراحی سریع و پیشرونده روند کارها، به پیشرفت بیشتری دست پیدا کنند. اما آیا این اتفاق به راحتی و برای تمام مشاغل به صورت یکسان رخ میدهد؟ به دلیل سهولت و پیچیدگی روالها در برخی کسبوکارها برای موفقیت عملیات پروژه باید چارچوبها و راهکارهایی در نظر گرفته شود. یکی از مهارتهای سخت در مشاغل، ایده پردازی راهکار است که به کمک اسکرام میتواند باعث مدیریت بهتر پروژه شود. با توجه به اهمیت این موضوع در این مطلب از بلاگ شرکت دانش بنیان متین به شما میگوییم که اسکرام چیست و چه عملکرد و متدولوژی دارد.
چارچوب با متدولوژی چه تفاوتهایی دارد؟
در یک کسبوکار گاهی از چارچوبها و گاهی متدولوژیها استفاده میشود. چارچوب شامل زیر ساختی اساسی است که زیر بنای یک سیستم را میسازد. اما متدولوژی، روشها و مراحلی است که در فضایی مشخص اجرا میشوند. اما اسکرام چیست؟ یک متدولوژی یا یک چارچوب است؟ در پاسخ به این سوال میگوییم که اسکرام نوعی چارچوب به حساب میآید.
اسکرام به زبان ساده
اگر شما هم یک کسبوکار دارید که میخواهید کارها را با روند سریعتری پیش ببرید، با سوالات زیادی مواجه میشوید. برای مثال اسکرام چیست؟ اسکرام به زبان ساده عبارت است از چارچوبی برای توسعه، تحویل و نگهداری محصولاتی پیچیده. یعنی با استفاده از اسکرام شما قرار نیست قوانین سختگیرانهای تعیین کنید و کارها را مطابق آن پیش ببرید، بلکه اسکرام برای پیش بردن کارها، راهبردهایی را جلوی پای شما میگذارد.
در واقع به چارچوبی تکرار شدنی که میتوان به آن عناصر و فاکتورهایی را افزود تا پروژهها کنترل شوند، اسکرام نام دارند. اسکرام به عنوان مدلی در مهندسی نرمافزار برای حل مسئلههای پیچیده کاربرد دارد. یعنی در مسائلی که ما دانش کمی نسبت به آن داریم و به تدریج تکمیل میشوند باید از اسکرام استفاده کرد.
برای پیش بردن کارها بهصورت چابک و سریع، اسکرام به کمک شما میآید. برای شروع استفاده از اسکرام باید نیازمندیهای ابتدایی پروژه را در راس کار قرار دهید و با استفاده از بازخوردهای دریافت شده از سوی مشتریان، آن را تکمیل کنید. بهگونهای که نظرات و ایدههای جدید را در قالب عناصر قابل طرح به اسکرام بیفزایید.
این روزها کسبوکارهای زیادی با مسائل پیچیده مواجه میشوند. به خصوص بیشتر این کسبوکارها با مشکل کمبود نیروی انسانی و تولید محصول با سرعت بالا روبهرو هستند. دقیقا همان نیازی که اسکرام پاسخگوی آن است. پیش از شروع کار با اسکرام باید این چارچوب را به خوبی بشناسید. اسکرام یک تکنیک برای تولید محصول نیست، بلکه چارچوبی برای بهینهسازی ساخت محصول محسوب میشود.
برخی مفاهیم اسکرام را بیشتر بشناسید!
- اسکرام برد یا Scrum Board: برای تعیین وظایف هر فرد و اینکه همه اعضای تیم اتمام وظیفه خود را اعلام کنند باید تخته یا برد بهصورت فیزیکی در محل استقرار تیم وجود داشته باشد. البته این روزها بیشتر تیمها برای مدیریت پروژههای خود از نرمافزارهایی مانند ترلو، میزیتو، asna و…. استفاده میکنند.
- ScrumFlow: اسکرام مستر وظیفه دارد ScrumFlow را بررسی کند که شامل روند کلی اسپرینت و میزان پیشرفت در آن است.
عملکرد چارچوب اسکرام
در پاسخ به اسکرام چیست باید بگوییم که اسکرام نوعی مهارت برای حل مسئلههای پیچیده است. اما این چارچوب چگونه کار میکند؟ در اسکرام، مسئلههای پیچیده به کارهایی ثابت و تکرار شونده تبدیل و بین اعضای یک تیم تقسیم میشوند. اسکرام در طول مدیریت پروژه با استفاده از یک الگوی افزایشی و چرخشی، به وجود آمدن ریسکهای احتمالی را پیشبینی و مدیریت میکند. یعنی با استفاده از این چارچوب شما به پاسخ دو سوال اساسی میرسید:
- اول اینکه آیا محصول درستی را تولید میکنیم؟
- دوم اینکه آیا شیوه تولید محصول ما درست است؟
شاید در برخی کسبوکارها پاسخ به این سوالات آسان و در برخی دیگر سخت باشد. ولی گاهی در انتهای یک پروژه نظرات مشتریان، صاحبان محصول، اسکرام مستر و اعضای تیم را غافلگیر میکند. اینجاست که میتوانید به این نتیجه برسید اسکرام چه کاربردی داشته است.
مزایای استفاده از اسکرام
- سازگار با شرایط تغییر یافته: اسکرام بر اصل سازگاری با هر گونه تغییر در پروژه ساخته شده است. یعنی در صورت وجود هر گونه تغییر میتوانید با استفاده از اسکرام، محصول بهتری را تولید کنید.
- کسب رضایت بیشتر صاحبان محصول: همه اعضای یک تیم در پروژه تلاش میکنند تا رضایت صاحبان محصول را به دست آورند. اسکرام، چارچوبی با رویکرد مشارکتی است که به کسب رضایت بیشتر صاحبان محصول کمک میکند.
- تحویل بخشی از کار با بالاترین کیفیت: اسکرام بهگونهای طراحی شده که در هر ماه (هر اسپرینت) بخشی از کار به صاحبان محصول تحویل داده شود. نحوه چیدمان کارها بهصورت مشارکتی در اسکرام باعث میشود کار را با بالاترین کیفیت تحویل دهید.
- بررسی بازخوردها و بهبود مستمر: همه ما در پی این هستیم که فرایند کاری خود را دائما بهبود ببخشیم و بهترین محصول را به دست مشتریان برسانیم. در چارچوب اسکرام بعد از برنامهریزی، انجام کار و تحویل بخشی از آن میتوانید بازخورد مشتریان را ببینید. سپس براساس نیازمندیهای جدید از سوی صاحبان محصول و مشتریان، فرایند پروژه خود را بهبود میبخشید.
ساختههای اسکرام چیست؟
ساختههای اسکرام درست مانند ابزاری برای حل مشکلات شما هستند. اما این ساختههای اسکرام چیست؟ ساختههای این چارچوب شامل بک لاگ محصول، بک لاگ اسپرینت و افزایش هستند. artifacts یا ساختهها همان چیزی هستند که اعضای یک تیم اسکرام میسازند.
بک لاگ محصول
اطلاعات، نیازمندیها و اهداف پروژه باید در یک سند بهصورت دقیق شرح داده شوند. به این سند، سند محصول میگویند که باید صاحب محصول و توسعهدهندگان بر شرح این اطلاعات در اسکرام نظارت داشته باشند. ممکن است صاحبان محصول پس از انتشار محصول نیز نیازمندیهای جدیدی را به این پروژه اضافه کنند. همه اطلاعاتی که به عنوان ورودی اسپرینت هستند، بک لاگ محصول نام دارند. در واقع بک لاگ محصول شامل یک لیست موارد مورد نیاز برای انجام یک پروژه است.
بک لاگ اسپرینت
در یک سند تحت عنوان سند اسپرینت باید اطلاعاتی مانند افراد درگیر در هر تیم، وظایف هر یک از افراد، جزئیات هر اسپرینت و زمان اختصاص یافته برای هر اسپرینت نوشته شود. در واقع بک لاگ، مجموعهای از نیازمندیهای عملیاتی و غیر عملیاتی است که باید در هر اسپرینت آورده شود. در جلسه برنامهریزی اسپرینت، هر تیم اسپرینت مورد نظر خود را از بک لاگ محصول انتخاب میکند.
این اسپرینتها باید قابلیت انعطافپذیری و تغییر داشته باشند؛ زیرا در طول انجام کامل میشود. در واقع تیم توسعهدهنده فهرستی از اصلاحیهها و باگهای مربوط به یک اسپرینت را بهصورت بک لاگ در اختیار تیمهای دیگر قرار میدهد. ممکن است بعد از هر مرحله انجام این فرایند، اصلاحیههای جدیدی هم اضافه شوند، ولی هدف نهایی اسپرینت تغییر نخواهد کرد.
افزایش
افزایش اصطلاحی است که به عنوان هدف نهایی یا محصول نهایی اسپرینت مشخص میشود. درست است که با چارچوب اسکرام شما بخشی از کار را طی زمان معین تحویل میدهید. ولی افزایش یعنی همان هدف نهایی و انجام کار اصلی. هر چه انتشار محصول به زمان بیشتری نیاز داشته باشد، ریسک نرسیدن به هدف نهایی هم افزایش خواهد یافت.
آشنایی با اعضای تیم اسکرام و نقش هر یک
برای عملکرد بهتر چارچوب اسکرام به افراد مختلفی نیاز است. یعنی یک تیم اسکرام باید مالک محصول، تیم توسعه و اسکرام مستر را داشته باشد. اما وظیفه هر یک از اعضای تیم اسکرام چیست؟
صاحب محصول یا Product Owner
صاحبان محصول کسانی هستند که با تیم نرمافزاری مشارکت میکنند و ایده ساخت محصول مورد نظر را پیشنهاد میدهند. مدیران پروژه با صاحبان محصول باید دائما در ارتباط باشند. صاحب یا مالک محصول روی نیاز بازار، مشتری و الزامات کسبوکار تمرکز میکند. سپس با اولویتبندی کارها، آنها را به تیم مهندسی میسپارد. یک مالک محصول موفق از شرایط زیر برخوردار است:
- ساخت و مدیریت بک لاگ محصول
- ارتباط نزدیک با کسبوکار و اعضای تیم برای اطمینان از درک افراد از آیتمهای موجود در بک لاگ محصول
- ارائه راهنماییهای دقیق درباره تحویل فیچرها
- تصمیم درباره زمان تحویل محصول در بازههای زمانی کوتاهتر
اسکرام مستر یا Scrum Master
اسکرام مستر کسی است که وظیفه بررسی و نظارت بر فرایند اسکرام را بر عهده دارد. یعنی اسکرام مستر باید در هر جلسه گزارش کتبی ارائه دهد، خروجی هر اسپرینت را بررسی کند و با توجه به شرایط، فرایند را پیش ببرد. مسئولیت همه کارها درون تیمها بر عهده اسکرام مستر است. یعنی برای پیش بردن کارها رویه منظمی در نظر میگیرد و تیمها و مالک محصول را در فرایند اسکرام راهنمایی میکند.
Software Team Membes
اعضای تیم نرمافزاری همان کسانی هستند که پروژه را اجرا میکنند. این اعضا علاوه بر برگزاری جلسات با مدیران محصول و اسکرام مستر باید بهصورت ماهانه یا هفتگی جلساتی با یکدیگر برگزار کنند. برای تشکیل تیمهای توسعه اسکرام بهتر است نکات زیر را در نظر گرفت:
- تیمهای اسکرام، انجام کارهای مشخص شده را بر عهده دارند.
- با پنج الی هفت نفر از افراد، تیم توسعه را تشکیل دهید.
- تیمهای توسعه باید ارتباط تنگاتنگی با یکدیگر داشته باشند.
- هر یک از اعضای تیم مهارتهای مختلفی دارند و باید به تقویت مهارت یکدیگر کمک کنند.
- همه اعضای تیم با مشارکت با همدیگر، یک اسپرینت را با موفقیت به پایان میرسانند.
- اعضای تیم توسعه موظف هستند که بر اساس مدت زمان و حجم انجام اسپرینتهای قبلی، تخمین بزنند که چه حجمی از کار را در مدت زمان معین انجام میدهند.
تیم اسکرام باید چه رویدادهایی را برگزار کند؟
به مجموعه رویدادهای متوالی که تیم اسکرام آنها را مرتب برگزار میکند، رویدادها یا مراسم اسکرام گفته میشود. این مراسم جایی است که بیشترین تغییر در بین تیمها مشاهده میشود. از این رو ممکن است خیلی از افراد اجرای همه این مراسم را ضروری دانسته و خیلی هم آن را پیچیده و تکراری بدانند. توصیه ما این است که در ابتدا و به مدت دو اسپرینت از همه مراسم استفاده کرده و پس از بررسی شرایط، بازنگری لازم را برای جاهایی که باید تعدیل کنید، داشته باشید.
در ادامه یک فهرست کلی از کلیدیترین رویدادهای تیم اسکرام را بررسی میکنیم:
سازماندهی بک لاگ
سازماندهی یا دستکاری بک لاگ از مسئولیتهای مهم مالک محصول است. مالک وظیفه دارد محصول را به سمت چشمانداز آن هدایت کند و با احاطه کامل روی مشتری و بازار، فهرستی از تیم توسعه و بازخوردهای مشتری به دست بیاورد. بدین ترتیب میتواند علاوه بر رعایت اولویتبندی، بک لاگ را در هر زمان تمیز و آماده نگه دارد.
برنامهریزی اسپرینت
برنامهریزی اسپرینت طی یک جلسه و به وسیله کل تیم توسعه انجام میشود. این جلسه توسط اسکرام مستر هدایت شده و به تصمیمگیری راجع به اهداف اسپرینت کمک میکند. پس از آن هم استوریهای استفاده خاص از بک لاگ محصول به اسپرینت اضافه میشود. این استوریها با هدف همسو هستند و تیم اسکرام نیز راجع به پیادهسازی آنها با هم توافق دارد. در پایان هر جلسه، هر عضو اسکرام باید تصویر روشنی از این که در اسپرینت کنونی چه چیزی باید تحویل داده شود، داشته باشد.
اسپرینت
به بازه زمانی که تیم اسکرام بر روی اتمام یک افزایش کار میکند، اسپرینت گفته میشود. یک مدت کاملا معمول برای اسپرینت، دو هفته است. با این حال بعضی تیمها یک هفته و بعضی تا یک ماه را به تحویل یک افزایش ارزشمند اختصاص میدهند. در کل هرچه کار ناشناختهتر و پیچیدهتر باشد، اسپرینت آن هم باید کوتاهتر باشد. البته انتخاب این مدت زمان به افراد تیم بستگی دارد و میتواند بر اساس توافق بین مالک محصول و اعضای تیم توسعه مشخص شود.
همه رویدادها شامل برنامهریزی تا بازنگری در اسپرینت رخ میدهند. وقتی بر روی یک بازه زمانی برای اسپرینت توافق حاصل شد، این بازه باید ثابت بماند. این کار باعث یادگیری تیمها از وقایع گذشته میشود.
اسکرام سرپایی یا روزانه
این جلسه در زمانهای یکسان (معمولا صبح) برگزار میشود و بسیار کوتاه و ساده است. مدت زمان این جلسه روزانه اختیاری است. با این حال بسیاری از تیمها این جلسه را در طی ۱۵ دقیقه برگزار میکنند. تاکید بر این است که اسکرام سرپایی یا روزانه سریع باشد. هدف آن هم این است که اعضای تیم از هماهنگ بودن با هدف اصلی اسپرینت مطمئن باشند و برای ۲۴ ساعت آینده برنامهریزی کنند. جلسه روزانه Scrum جایی است که اعضا دغدغههای خود را راجع به هدف اسپرینت یا وجود هر گونه مانع بیان میکنند.
یک روش خیلی کاربردی برای برگزاری جلسه اسکرام روزانه این است که هر فرد به سوالات زیر پاسخ دهد:
- دیروز چه کاری انجام دادم؟
- امروز قرار است چه کاری انجام بدهم؟
- آیا هر نوع مانعی وجود دارد؟
در این شرایط اگر متوجه شدید که اعضای تیم در حال روخوانی تقویم کاری دیروز و امروز خود هستند، جلسه را خلاقانهتر برگزار کرده و اجازه ندهید که گفتگوهای حواس پرت کن در جلسه تمرکز افراد را به هم بزنند.
بررسی اسپرینت
در انتها تیمها یک نشست غیر رسمی داشته و سعی میکنند پس از مشاهده یک دمو از افزایش، آن را بازبینی کنند. تیم توسعه با نشان دادن آیتمهای بک لاگ به هم تیمیها بازخورد گرفته و مالک میتواند تصمیم بگیرد که افزایش انتشار پیدا کند یا خیر. از طرفی در این جلسه امکان بازبینی بک لاگ محصول بر اساس اسپرینت جاری هم فراهم میشود. یک جلسه بازنگری برای اسپرینت یک ماهه، حداکثر در یک بازه زمانی چهار ساعته قابل اجرا است.
گذشته نگری اسپرینت
به مستندسازی و مورد بحث قرار دادن آن چه که تیمها بر روی آن کار کرده و در اسپرینت جاری موفق به انجام آن نشدند، گذشته نگری گفته میشود. این بررسیها شامل یک فرد، یک پروژه، یک رابطه، ابزارها و حتی خاطرات مشخص در پی اسپرینت است.
از اسکرام در چه جاهایی میتوان استفاده کرد؟
اسکرام در طیف وسیعی از کسبوکارها و پروژهها قابل استفاده است. اما بیشتر در موارد زیر کاربرد دارد:
۱. پروژههای پیچیدهای که به صورت تیمی انجام میشوند:
متد اسکرام یک گزینه ایدهآل برای تقسیم هر فرایند به بخشهای کوچک است و باعث آسانتر شدن پروژه میشود.
۲. شرکتهایی که نتایج کار برایشان مهم است:
اسکرام برای شرکتهایی که به نتیجه بیشتر از پیشرفت مستند فرآیند ارزش میدهند، سودمند است. این متد به جای تمرکز بر یک فرایند سخت و دقیق، روی کارایی و نوآوری متمرکز است تا کسبوکار را به نتایج دلخواه برساند.
۳. شرکتهایی که خدمات و محصولات ارائه میدهند:
اسکرام به مدیریت پروژه در شرکتهای ارائه دهنده خدمات و محصولات مختلف کمک میکند. این روش مدیریتی سازگار با تغییرات بوده و توسعه خدمات را مطابق با مشخصات و درخواست مشتری انجام میدهد.
اسکرام و اجایل چه تفاوتهایی دارند؟
بسیاری از افراد به اشتباه تصور میکنند که اجایل همان اسکرام است در حالیکه اینطور نیست! اسکرام و اجایل دو سیستم مدیریت پروژه مشابه هستند که میتوانند به صورت جداگانه استفاده شوند. البته چند تفاوت کلیدی بین آنها وجود دارد. اول اینکه اجایل یک متدولوژی کامل از یک رویکرد تکراری و افزایشی است که به وسیله توسعهدهندگان و برای توسعه نرمافزار به کار میرود. اما اسکرام بخشی از اجایل است. معمولا متد اسکرام به دلیل انعطافپذیری بالا، خیلی سریع به تغییرات پاسخ میدهد. از طرفی اجایل در هر محیط کسبوکاری با تیمهای کوچک قابل استفاده است.
تیمهای اجایل به تعاملات چهره به چهره و همکاری مداوم احتیاج دارند اما تیمهای اسکرام از طریق گفتگوی روزانه بر ایجاد یک تیم خود سازمانده تمرکز دارند. تفاوت دیگر مربوط به اصول اجایل است که بیشتر به پذیرش الزامات تغییر تمرکز دارد تا تمام مراحل فرایند توسعه تا زمان تکمیل پروژه به خوبی سپری شوند. اما در اسکرام این آگاهی از پیشرفت پروژه است که اهمیت دارد و محیط مناسبی را برای رشد و خلاقیت فراهم میکند.
یکی دیگر از مهمترین اصول اسکرام، محدودیت زمانی است. تیمهای اسکرام پرتلاش بوده و تلاش دارند ارزش خود را از هر اسپرینت به حداکثر برسانند. بدین ترتیب با تقسیم اسکرام به تحویلهای کوچکتر، روند اتمام پروژه راحتتر انجام میشود. اجایل هم مثل اسکرام یک فرایند تکراری است با این تفاوت که تکرار چرخههای آن بیشتر است. در کنار همه اینها تیم پروژه اسکرام شامل نقشهای خاص بوده و اجایل اعضایی از تیمهای چندکاره دارد.
نحوه اجرای اسکرام
اسکرام بیشتر از اینکه یک تعداد چک لیست باشد که باید دائما به دنبال آنها باشید، یک ذهنیت است. در ادامه شما را با رایجترین راههایی که شرکتها از طریق آنها اسکرام را به اجرا در میآورند، آشنا میکنیم:
- انتخاب مالک محصول
- انتخاب حداکثر ۹ نفر به عنوان اعضای یک تیم دارای عملکرد متقابل و فرانقش
- تعیین یک اسکرام مستر
- ایجاد بک لاگ از کارهای مربوط به محصول مورد نظر و اولویتبندی آن
- پالایش کارهای موجود در بک لاگ و تخمین زمان و میزان توانایی که برای انجام آنها لازم است
- به راه کردن یک تخته کن بن
- برنامهریزی اسپرینت دو هفتهای کاری خود
- برگزاری جلسات ایستاده روزانه
- کار کردن
- برگزاری جلسه مرور اسپرینت و گذشته نگری
- برنامهریزی سریع برای اسپرینت دو هفتهای بعدی
در پایان فراموش نکنید اسکرام برای همه مفید نیست و مثل تمام روشهای مدیریت چابک، ضعفها و محدودیتهای خودش را دارد.
۶ اصل اساسی در اسکرام
اسکرام دارای ۶ اصل اساسی است. این دستورالعملها باید در هر پروژه دنبال شوند تا پروژه به پیروزی برسد و تمرکز تیم از دست نرود.
۱. کنترل فرآیند تجربی
در اسکرام فرآیند تجربی جایگزین تئوری مبتنی بر مشاهده شواهد سخت و آزمایش شده است و برای آن سهایده وجود دارد:
- شفافیت
- بازرسی
- انطباق
هر مرحله باید کاملا واضح و روشن باشد تا با مورد بازرسی قرار دادن فعالیتهای مرتبط، امکان خطا به حداقل برسد.
۲. خود سازماندهی
به دلیل متکی بودن فرآیند اسکرام به افراد زیاد، خود سازماندهی یک اصل ضروری و مهم به شمار میآید. همه افراد درگیر پروژه، اختیار مستقل کار کردن را دارند. البته اصل خود سازماندهی به معنی وجود تعهد و جلب مشارکت بین اعضا است.
۳. همکاری
اسکرام یک فرآیند مشارکتی بوده و بر سه بعد زیر متمرکز است:
- آگاهی
- بیان
- تخصیص
اعضا با آگاهی پیدا کردن از عملکرد یکدیگر و همکاری در پیشبرد کار سریعتر نتیجه میگیرند.
۴. اولویتبندی بر ارزش
این اصل سازماندهی و اولویتبندی وظایف بر اساس ارزش و چگونگی تکمیل آنها را شامل میشود.
۵. تایم اسپرینت
در اسکرام کارها به صورت اسپرینت انجام شده و مدت زمان مشخصی دارند. بدین ترتیب تیم پروژه باید در یک تایم معین، یک سری اقدامات را بر روی محصول انجام دهد. شروع و توقف برنامهریزی اسپرینت، جلسات روزانه و دیگر عناصر از همان ابتدا مشخص است. این زمانبندی با در نظر گرفتن زمان تلف شده، مقدار زمان اختصاص داده شده برای هر مرحله را به طور دقیق مشخص میکند.
۶. توسعه تکراری
این اصل بیان میکند یک پروژه در طول فرآیند توسعه ممکن است به پالایش چند باره احتیاج پیدا کند. توسعه تکراری با اجازه دادن به تیم برای انجام تنظیمات، امکان مدیریت آسانتر تغییرات را فراهم میکند.
سخن پایانی
کار تیمی میتواند خیلی راحت ما را به اهداف و رویاهایمان برساند. به شرطی که در هر پروژه اعضای یک تیم با همکاری یکدیگر بتوانند به پیشبرد آن کمک کنند. کمکها و همکاریهای تیم با به کارگیری تکنیک اسکرام بسیار مفید واقع میشوند. از این رو هر عضو در هر بخشی از تیم که قرار داشته باشد، باید با مشارکت در فرآیند اسکرام نقش خود را ایفا کند. به عبارت دیگر عملکرد این روش بر اساس سلسله مراتب ساخته نشده و در آن با هر عضو یکسان رفتار میشود.
منابع