اسکرام چیست ؟ درباره متدولوژی اسکرام بیشتر بدانید
اسکرام یک فریم ورک است که به تیمها کمک میکند با هم کار کنند. مثل یک تیم والیبال که خودش را برای مسابقه آماده میکند، اسکرام تیم را تشویق میکند تا تجربه بیندوزند، در حالی که در حال رفع یک مشکل هستند، خودسازماندهی کنند و از برد و باختها درس بگیرند تا پیشرفت مداوم داشته باشند. با ما همراه باشید تا بیشتر توضیح دهیم که اسکرام چیست .
اصول اسکرام را نه تنها میتوان درمورد تیم توسعه نرمافزار به کار برد، بلکه میتوان برای همه تیمهای کاری به کار بست. به همین خاطر است که اسکرام بسیار محبوب است. گاهی نیز اسکرام با فریم ورک مدیریت پروژه اجیل (agile) اشتباه گرفته میشود. اسکرام در واقع مجموعه جلسات، ابزارها و نقشهایی است که در کنار هم قرار میگیرند تا به ساختار تیم و مدیریت کارهایشان کمک کند.
در این مقاله خواهیم گفت اسکرام چیست و شما را با ساختار آن آشنا میکنیم.
فریم ورک (چارچوب) اسکرام چیست ؟
افراد اغلب فکر میکنند اسکرام همان اجیل (agile) است، زیرا اسکرام برمبنای رشد و پیشرفت مستمر قرار دارد که اصل اساسی agile است. به هر حال اسکرام چارچوبی است برای انجام کار، درحالی که agile یک طرز فکر است. پیادهسازی agile نیاز به تغییر دیدگاه تیم در خصوص ارائه ارزش به مشتریان دارد، اما استفاده از چارچوبی مانند اسکرام به شما کمک میکند چنین طرز فکری را آغاز کنید و اصول agile را در ارتباطات و فعالیتهای روزمره خود به کار ببرید.
چارچوب اسکرام اکتسابی است و برمبنای یادگیری مداوم و سازگاری با عوامل متغیر قرار گرفته است. اسکرام واقف است به اینکه همه تیم از همان شروع پروژه همه چیز را نمیدانند و در خلال تجربه بهتر میشوند. اسکرام طوری ساختار یافته که به تیمها کمک کند تا به طور طبیعی با شرایط در حال تغییر و نیازهای کاربر سازگار شوند و این کار با اولویتبندی مجدد که در پروسه صورت میگیرد، انجام میشود، به همین خاطر تیم شما مدام در حال یاد گرفتن و پیشرفت خواهد بود.
اسکرامی که ساخته میشود خیلی سفت و سخت نیست. نحوه اجرای آن میتواند مطابق با نیازهای سازمان باشد. تئوریهای زیادی وجود دارد در خصوص اینکه چگونه تیم اسکرام باید برای موفقیت تلاش کند. اما تجربه نشان داده شفافیت در ارتباطات و تلاش برای پیشرفت مداوم باید همیشه در مرکز چارچوبی که انتخاب میکنید باشد، حال هر چارچوبی که باشد. بقیه چیزها بستگی به خودتان دارد.
مفاهیم اسکرام
با سه مفهوم اصلی در اسکرام شروع میکنیم که عبارتند از بک لاگ محصول، بک لاگ اسپرینت و سود که در ادامه بیشتر توضیح میدهیم.
بک لاگ محصول (Product Backlog)
بک لاگ یا سند محصول در ابتدای لیست قرار گرفته و باید توسط صاحب محصول یا مدیر محصول انجام شود. این لیستی پویا از ویژگیها، الزامات، پیشرفتها و اصلاحاتی است که به عنوان ورودی بک لاگ اسپرینت عمل میکنند. این در واقع لیستی از تکالیف یا کارهایی است که تیم باید انجام دهد. بک لاگ محصول مدام بازبینی و اولویتبندی مجدد میشود و توسط صاحب محصول نگهداری میشود، زیرا هر چه بیشتر یاد میگیریم یا بازار تغییر میکند، ممکن است این آیتمها دیگر خیلی مناسب نباشند یا مشکل به روشهای دیگری حل شود.
بک لاگ اسپرینت (Sprint Backlog)
بک لاگ یا سند اسپرینت لیستی از آیتمها، داستانهای کاربران یا رفع اشکالات است که توسط تیم توسعه برای اجرا در چرخه اسپرینت (sprint) فعلی انتخاب شده است. پیش از هر اسپیرینت، در جلسه برنامهریزی اسپرینت که در ادامه خواهیم گفت، تیم انتخاب میکند کدام آیتم از بک لاگ محصول بر روی اسپرینت کار خواهد کرد. سند اسپرینت میتواند انعطافپذیر باشد و در طول اسپرینت تکامل یابد.
سود (increment)
این در ماموریت انجام شده یا تسک انجام شده معنا پیدا میکند. در واقع این هدف نهایی اسپرینت است. البته بستگی دارد تیم شما کار انجام شده و هدف اسپرینت را چه تعریف میکنند. ممکن است آنچه شما تعریف کردهاید خیلی واقعبینانه نباشد. تصور کنید بر روی یک محصول مبتنی بر سرور کار میکنید که هر سه ماه برای مشتریان ارسال میشود. ممکن است تصمیم بگیرید در اسپرینتهای دو هفتهای کار کنید، اما تعریف شما از “ماموریت انجام شده” ممکن است پایان دادن به یک ورژن بالاتر باشد که میخواهید با هم ارسال کنید، اما مطمئنا هرچه ارسال نرمافزار از لحاظ زمانی طول بکشد، ریسک از رده خارج شدن آن بیشتر میشود.
همینطور که میبینید متغیرهای زیادی در مفاهیمی که تعریف کردیم، وجود دارد که تیم شما میتواند تعریف خاص خود را انتخاب کند. شاید تعریف شما از “تکلیف انجام شده” استرس تیم شما را خنثی کند، بنابراین لازم است به عقب برگردید و تعریف جدیدی انتخاب کنید.
مناسبتها یا رویدادهای اسکرام
یکی از شناختهشدهترین مولفههای چارچوب اسکرام مجموعه وقایع، رویدادها یا جلساتی است که تیم اسکرام به صورت مرتب برگزار میکند. این مراسم جاهایی است که بیشترین تغییرات برای تیم دیده میشود. برای مثال بعضی از تیمها اینگونه مراسم را تکراری و دست و پا گیر میدانند، در حالی که دیگر تیمها آن را لازم میشمارند. پیشنهاد میشود اینگونه مراسم را برای هر دو اسپرینت، یکبار برگزار کنید و ببینید چه احساسی به شما میدهد. سپس میتوانید یک بازنگری کنید ببینید چه چیزهایی نیاز به اصلاح دارد.
چه کسانی از اسکرام استفاده میکنند؟
اسکرام توسط تیم توسعه نرمافزار مورداستفاده قرار میگیرد. در واقع این مشهورترین متدولوژی اِجیل است. برطبق دوازدهمین گزارش سالانه Agile، 70 درصد تیمهای نرمافزار از اسکرام یا اسکرام ترکیبی (Scrum hybrid) استفاده میکنند. اما اسکرام به دیگر قسمتهای بیزنس نیز مانند بازاریابی و IT بسط یافته که پروژههایی دارند که باید با وجود پیچیدگی و ابهام جلو بروند. تیم مدیریت نیز رویههای مدیریتی agile خود را بر اساس اسکرام قرار میدهند، گاهی نیز آن را با شیوههای lean و Kanban ترکیب میکنند (که زیرگروههای agile هستند).
ارتباط Agile و اسکرام چیست ؟
اسکرام زیرمجموعه Agile است:
- Agile مجموعه ارزشها و اصولی است که تعاملات و فعالیتهای روزانه گروه را توصیف میکند.
- متدولوژی اسکرام، اصول و ارزشهای agile را دنبال میکند اما مشخصات و تعاریف بیشتری را شامل میشود، از جمله در مورد برخی روشهای توسعه نرمافزار.
- با وجود پیشرفت در توسعه نرمافزار agile، اسکرام agile به طور کلی فریم ورک ارجح برای مدیریت پروژه agile شده است و گاهی نیز مدیریت پروژه اسکرام یا توسعه اسکرام گفته میشود.
مزایای متدولوژی اسکرام چیست ؟
سازمانهایی که از اسکرام agile استفاده میکنند، مزایای زیر را تجربه میکنند:
- تولید بالاتر
- محصولات باکیفیتتر
- کاهش زمان ارسال به بازار
- بهبود رضایت ذینفعان
- پویایی تیمی بهتر
- کارمندان شادتر
ویژگی خاص مدیریت پروژه اسکرام چیست ؟
اسکرام با شفافسازی اطلاعات پیچیدگی کار را کم میکند، بنابراین افراد میتوانند بر اساس شرایط موجود نه پیشبینی شرایط، به بررسی و مطابقت بپردازند. این به تیمها کمک میکند تا مشکلات رایج فرآیند توسعه را برطرف کنند: هرج و مرج ناشی از تغییر مداوم قوانین، محاسبه اشتباه زمان، منابع و هزینه، مصالحه بر سر کیفیت نرمافزار و گزارش پیشرفت اشتباه. شفافیت استانداردها و اصطلاحات رایج در توسعه اسکرام الزامی است تا اطمینان حاصل شود آنچه ارسال شده همان چیزی است که انتظار میرفت. بررسیهای مداوم، پیشرفت را تضمین میکنند و مغایرتها را سریع تشخیص میدهد، بنابراین تنظیمات سریعتر انجام میشود. متداولترین رویدادهای اسکرام برای بررسی و سازگاری عبارتند از: برنامهریزی اسپرینت (Sprint)، اسکرام روزانه یا استندآپ، بررسی اسپرینت، نگاه به عقب اسپرینت.
تیم اسکرام شامل چه کسانی میشود؟
معمولا تعداد اعضای تیم اسکرام 2+/-7 نفر است و هیچ رهبری برای تفویض وظایف یا تصمیمگیری در خصوص نحوه حل مشکلات ندارد. تیم به عنوان یک واحد تصمیم میگیرد که چطور مسائل را پی گرفته و مشکلات را حل کند. هر یک از اعضای تیم اسکرام بخش جداییناپذیری از سولوشن هستند و انتظار میرود از ابتدا تا انتهای محصول را پیگیری و به انجام برسانند. اما سه نقش اساسی در تیم اسکرام وجود دارد:
صاحب محصول
صاحب محصول ذینفع اصلی پروژه است، که میتواند مشتری داخلی یا خارجی یا سخنگوی مشتری باشد. تنها یک صاحب محصول است که ماموریت کلی و چشمانداز محصول که تیم میسازد را ترسیم میکند. مالک محصول در نهایت مسئولیت مدیریت سند یا بک لاگ محصول و قبول تکمیل کار را برعهده دارد.
مستر اسکرام (ScrumMaster)
اسکرام مستر در واقع دستیار سرپرست برای مالک محصول، سازمان و تیم توسعه است. بدون هیچگونه اختیارات سلسله مراتبی در تیم است، اما بیشتر یک تسهیلگر است و اطمینان حاصل میکند که تیم به اصول، شیوهها و تئوری اسکرام پایبند باشند. مستر اسکرام هر کاری برای کمک به تیم برای داشتن بهترین عملکرد انجام میدهد. این میتواند شامل از میان برداشتن موانع، تدارک دیدن جلسات و کمک به مالک محصول در بهتر کردن سند باشد.
تیم توسعه
تیم توسعه یک گروه چندکارکردی و خودسازماندهی شده است با مهارتهای لازم جهت انتقال سود در پایان هر اسپرینت. اسکرام تعریف “توسعهدهنده” را به چیزی بیش از برنامهنویس گسترش داده است، که شامل هر کسی میشود که در ارائه سود نقش ایفا میکند. هیچ عنوان شغلی در تیم توسعه وجود ندارد و هیچکس از جمله مستر اسکرام، به تیم توسعه نمیگوید که چگونه آیتمهای سند محصول را به سودهای بالقوه قابل ارائه تبدیل کنند.
و در انتها…
درک اسکرام ساده است اما اجرای آن کمی سخت است. در مورد درک آن امیدواریم این مطلب به شما کمک کرده باشد، اما باید بدانید اجرای آن قدم اول است، شما باید به اصول آن پایبند باشید و بگذارید پیش از بدست آوردن هرگونه مزایا، اسکرام راه خود را طی کند.
در همه موارد توسعه نرمافزار نمیتوان ابتدا تا انتهای پروسه را دید. اغلب تصورات غلطی در خصوص اسکرام وجود دارد و معمولا افراد نمیتوانند بهرهبرداری کاملی از این شیوه بکنند. اما ما سعی کردیم در این مطلب درک کاملی در خصوص اینکه اسکرام چیست بدهیم و شما را با مفاهیم اولیه آن آشنا کنیم.