اسکرام چیست؟ چه کمکی به مدیریت پروژه میکند؟
فیلم «ماموریت غیرممکن 4» را دیدید؟ 👇
اگر یادتان باشد، در سکانسی از این فیلم، ملاقات همزمانی در دو اتاق مجزای برج خلیفه دبی شکل میگیرد که از نفسگیرترین لحظههای ماموریت تام کروز به حساب میآید. رد و بدل کردن الماسها و گرفتن رمز فعال کردن موشک، کاملاً به عملکرد تمام اشخاص تیم خصوصاً آن گارسونی که بین دو اتاق در رفتوآمد بود بستگی داشت.
یک خطای کوچک میتوانست مشکلات بزرگ دیگری را به بار بیاورد و در نهایت باعث شود تا نقشه آنطور که تام کروز برنامهریزی کرده بود، پیش نرود!
حالا از شما میخواهم که بیزحمت خودتان را جای شخصیت تام کروز در این فیلم بگذارید؛ چطور همچین وضعیتی را مدیریت میکنید؟
پس بیخود نیست که اسم فیلم را گذاشتند ماموریت غیرممکن، نه؟
انجام کلیه ماموریتهای غیرممکن با اسکرام!
با اسکرام شما میتوانید وضعیتهای پیچیدهای مثل ماموریتهای غیرممکن تام کروز را با بالاترین میزان بازدهی به سرانجام برسانید. درواقع رسالت اسکرام حل کردن مسائل پیچیده یا Complex Adaptive Problem است.
Complex Adaptive Problem یعنی مشکلاتی که قبل از برطرف شدن دائماً تغییر میکنند یا اینکه بهطور مرتب مشکل دیگری از دلشان بیرون میزند. حالا این موضوع میتواند بهخاطر گذشت زمان باشد یا همانطور که در «ماموریت غیرممکن 4» دیدید به عملکرد نیروی انسانی و نقص تجهیزات مربوط شود.
برای اینکه بهتر با این مدل از مشکلات و پروژههایی از این دست آشنا شوید، یک مثال دیگر هم میزنم تا موضوع برایتان شفافتر شود.
پروژه «رفتن به مریخ» را در نظر بگیرید. در ابتدا اولین چیزی که به ذهنمان میرسد این است که وسیله نقلیهای بسازیم که ما را به مریخ ببرد. وسیله
توجه داشته باشید که در پروژههایی مثل رفتن به مریخ، در ابتدای کار بینش کافی را برای از میان برداشتن مشکلات احتمالی نداریم، پس نمیتوانیم در قدم اول راهحل قطعی ارائه کنیم. در این قبیل از مسائل، مرحلهبهمرحله مسیر برای ما روشن میشود. در این صورت است که میتوانیم در مورد قدمهای بعدی تصمیمگیری کنیم.
خب! فکر کنم تا اینجای مطلب متوجه شده باشید که اسکرام برای چه پروژههایی راهحل ارائه میکند؛ پس اگر موافق باشید برویم سراغ جواب دادن به این سوال که: متدولوژی scrum چیست؟
اسکرام چیست؟
درباره اینکه اسکرام یک متدولوژی است یا یک چارچوب؛ هنوز بین علما اختلاف نظر وجود دارد! اما اگر بخواهیم حرف یکی از ابداعکنندههای اسکرام یعنی آقای Ken Schwaber را سند بگیریم، باید بگوییم که اسکرام یکجور چارچوب به حساب میآید.
درواقع اسکرام، Framework یا چارچوبی است که به تیمهای مختلف کمک میکند تا در کنار هم بتوانند یک پروژه بزرگ و پیچیده را به بهترین نحو ممکن پیادهسازی کنند.
بهتر است این را هم بدانید که اسکرام بیشتر برای مدیریت پروژههای نرمافزاری کاربرد دارد، اما در شاخههای دیگر هم میتوانید از مزایای آن استفاده کنید تا بازدهی و رشد بیشتری را در کارهایتان شاهد باشید.
سوال: اسکرام همان اجایل است؟
اگر تابهحال نام اجایل به گوشتان خورده باشد، احتمالاً شما هم مثل من در این لحظه اسکرام را با اجایل اشتباه میگیرید.
درست است که اجایل و اسکرام شباهتهای زیادی باهم دارند اما قطعاً یکی نیستند!
اجایل مجموعهای از روشهای توسعه نرمافزاری چابک برای مدیریت پروژه است که اسکرام یکی از زیرشاخههای آن به حساب میآید.
👈 در مقاله اجایل چیست میتوانید بهصورت دقیقتری با مفاهیم و تکنیکهای چابک آشنا شوید.
با تعریف اسکرام آشنا شدیم و فرقش را با اجایل فهمیدیم؛ بهتر است مفاهیم و نقشها را هم یاد بگیریم تا بتوانیم راحتتر از روش انجام اسکرام سر دربیاوریم.
نقشها در اسکرام
بهطور کلی در اسکرام 3 مدل نقش داریم (یاد بازی مافیا افتادم):
نقش اول: صاحب محصول یا Product Owner
صاحب محصول کسی است که بهخوبی بیزینس و اهداف آن را میشناسد و از نیاز مشتری هم سر درمیآورد.
بهعنوان صاحب یک محصول (بهطور مثال همون نرمافزار یا اپلیکیشن رو در نظر بگیرید) شما باید مدام با مشتری، مصرفکننده محصول، ذینفعان پروژه و تیم توسعه محصول در تماس باشید تا دیدگاهها، بازخورد و نظرات هر گروه را به بقیه اعضا منتقل کنید.
نقش دوم: متخصص اسکرام یا Scrum Master
اسکرام مستر توانایی این را دارد تا دیگر اعضای تیم را جوری مدیریت کند که خروجی کار با بالاترین کیفیت ممکن از آب دربیاید.
به قول Jeff Sutherland یکی دیگر از ابداعکنندههای اسکرام، «متخصص اسکرام کسی است که مرتب از خودش میپرسد: چطور میتوانیم کارمان را بهتر از این انجام دهیم؟»
بهطور کلی اگر بخواهم وظایف یک اسکرام مستر را برایتان لیست کنم، به چند مورد زیر خلاصه میشود:
- از بین بردن موانعی که سر راه تیم وجود دارد
- فراهم کردن محیطی که اعضا بتوانند با بیشترین میزان بهرهوری کار کنند
- ایجاد ارتباط موثر بین اعضای تیم و صاحب محصول
- هدایت تیم در مسیر درست و جلوگیری از هرگونه وقفه و اتلاف وقت و انرژی
نقش سوم: عضو تیم یا Team Member
اعضای تیم اسکرام معمولاً بین 5 تا 9 نفر هستند. این چند نفر با احترام به اصول و قوانین ارائه شده طوری در کنار هم کار میکنند تا به یک هدف مشترک یعنی همان جلو بردن پروژه برسند.
در شکل زیر روابط بین اعضای تیم اسکرام را به زبان سادهتری میبینید.
لغتنامه اسکرام
اگر مشتاق هستید که از اسکرام برای مدیریت پروژههای خودتان استفاده کنید، باید قبل از هرچیز چندتا اصطلاح پرکاربردش را یاد بگیرید. در ادامه باهم این لغات و اصطلاحات اسکرامی را بررسی میکنیم.
بک لاگ محصول (Product Backlog)
میتوانم بگویم که بک لاگ محصول، قلب اسکرام است. از طریق بک لاگ محصول است که ما میفهمیم مشتری چه انتظاری دارد، کارفرما از خروجی محصول چه میخواهد و اولویتهای انجام پروژه شامل چه موارد و مراحلی میشود. صاحب محصول با مشارکت بقیۀ اعضا، وظیفه دارد تا بک لاگ محصول را آماده کند.
اسپرینت (Sprint)
بازۀ زمانی 2 تا 4 هفتهای را یک اسپرینت میگویند. شما موظف هستید در این بازۀ زمانی خاص، بخشی از پروژه را آماده کنید و به مشتری تحویل بدهید.
بک لاگ اسپرینت (Sprint Backlog)
بک لاگ اسپرینت شامل اهدافی میشود که ما میخواهیم در یک بازۀ زمانی مشخص به آن برسیم. درواقع میتوانیم بگوییم که بک لاگ اسپرینت بخشی از بک لاگ محصول است، با این تفاوت که برای اجرایی کردن آن، تسکهای واضح و مشخصی را تعریف میکنیم.
خب؛ حالا با دانستن نقشها و اصطلاحات اسکرام، نوبت آن رسیده که با روش انجام کارها هم آشنا شوید.
مراحل مدیریت پروژه با اسکرام
خب حالا که پیشنیازها را توضیح دادم، بیایید برویم سراغ اصل مطلب یعنی اجرا کردن اسکرام.
مرحله اول: بک لاگ محصول را آماده میکنیم
بالاتر کمی دربارۀ بک لاگ محصول گفتم، حالا میخواهم یکمقداری بحث را بازتر کنم تا ببینیم بک لاگ محصول باید شامل چه مواردی باشد.
هر آیتمی از بک لاگ را اصطلاحاً داستان یا story مینامند. هر داستان به ما میگوید که چه هدفی را در پیش داریم، این هدف چقدر برای ما اولویت دارد، چند روز از وقت ما را میگیرد، چهجور دمویی باید داشته باشد یا در طی چه مراحلی توسط کاربر انجام میشود و …
در جدول زیر که یکی از داستانهای بکلاگ محصول است، میتوانید تمام این موارد را ملاحظه کنید.
مرحله دوم: برنامهریزی اسپرینت را انجام میدهیم
بعداز اینک بک لاگ محصول آماده شد، وقت برنامهریزی برای اسپرینت میرسد. در جلسۀ اسپرینت که مالک محصول هم در آن حضور دارد، به اعضای تیم در مورد بخشی از محصول اطلاعات کافی داده میشود تا بتوانند در طول مدت 2 تا 4 هفته، در کمال آرامش روی آن کار کنند.
در این جلسه چندتا از داستانهای بک لاگ محصول بر اساس اولویت صاحب محصول و نظر اعضای تیم انتخاب میشوند و به بک لاگ اسپرینت انتقال پیدا میکنند.
فرقی که بک لاگ محصول با بک لاگ اسپرینت دارد، این است که در بک لاگ اسپرینت داستانها به شکل تسک تغییر میکنند تا هرکدام از اعضا متوجه وظیفهشان در طول این کار تیمی باشند.
بهطور کلی در انتهای جلسه برنامهریزی اسپرینت ما انتظار داریم که دربارۀ تمام موارد زیر صحبت شده باشد:
- هدف اسپرینت
- لیست اعضای تیم و سطح مسئولیتشان
- بک لاگ اسپرینت
- تعیین یک روز مشخص برای ارائه دموی اسپرینت
- تعیین روز و مکان مشخص برای جلسات روزانه اسکرام
مرحله سوم: جلسات روزانه اسکرام را فراموش نکنید!
جلسات روزانۀ اسکرام بسیار پراهمیت هستند و متاسفانه معمولاً هم فراموش میشوند. توجه داشته باشید که لازم نیست زمان زیادی را در روز به این جلسات اختصاص بدهید، 10 تا 15 دقیقه کافیست تا هرکسی توضیح دهد که در روز قبل چه کاری انجام داده و امروز قرار است مشغول چه کاری شود. به این صورت بک لاگ اسپرینت بهشکل روزانه آپدیت میشود و همهچیز روی روال و نظم بیشتری پیش میرود.
مرحله چهارم: نوبت دموی اسپرینت رسیده است
ارائه دموی اسپرینت به صاحب محصول و سرمایهگذاران باعث میشود تا تیم توسعه برای انجام کارهایی که به نتیجه رسانده، اعتبار و آبرو کسب کند. علاوهبراین، باگها و آمار خطاها هم با تست محصول و بازخورد نظرات بقیه مشخص و اصلاح میشوند.
توجه داشته باشید که در این جلسه بحث تخصصی مطرح نمیشود؛ پس بهجای صحبت از چگونگی انجام کارها، افراد از این حرف میزنند که چه کارهایی انجام شده و چه کارهایی را (حالا به هر دلیلی) نتوانستند انجام بدهند.
مرحله چهارم: بازبینی اسپرینت را جدی بگیرید!
معمولاً تیمها از روی تنبلی، جلسۀ بازبینی را نادیده میگیرند و یکراست میروند سراغ اسپرینت بعدی. حالا این کار چرا اشتباه است؟ چون بدون جلسۀ بازبینی، تیم اسکرام در باتلاق دور باطل غرق میشود و همان اشتباهات قبلی را دوباره و دوباره تکرار میکند.
در این جلسه که مالک محصول هم حضور دارد، هرکس به نوبت صحبت میکند که چه چیزهایی خوب بود، چه چیزهایی میتوانست بهتر باشد، برای بهتر شدن کارها چه ایدههایی دارد و … .
درنهایت این اسکرام مستر است که جلسه را جمعبندی میکند. با بازبینی تسکها در طول این جلسات و مقایسۀ زمانبندی پیشبینیشده و زمان واقعی مصرفشده برای هر تسک، اسپرینتهای بعدی بهبود پیدا میکنند.
آخرش چی؟
اگر یکراست تا اینجا اسکرول نکرده باشید 🙂 احتمالاً تا الان متوجه شدید که اصلاً اسکرام چی هست، برای چه پروژههایی بیشتر کاربرد دارد و چطور اجرا میشود.
همۀ اینها را من در این چند خط بالا توضیح دادم الا اینکه آخرش اسکرام چه چیزی به ما میدهد؟ البته احتمال میدهم که خودتان تا الان جواب این سوال را فهمیده باشید.
با این حال، فقط به این دلیل که این مقاله را اصغر فرهادی ننوشته 🙂 من شما را با این سوال تنها نمیگذارم.
چیزی که اسکرام به ما هدیه میکند، شفافیت محض است! همین خرد کردن کارها، مرحلهبهمرحله گزارش دادن به مشتری، بازبینی تسکها و … باعث میشود تمام اعضا و جوارح پروژه، مویرگ به مویرگ برای ما و همینطور برای مشتری، ملموس و قابل دیدن باشد.
درنهایت این شفافیت کاری میکند که هم ما از نتیجه رضایت داشته باشیم و هم لبخند مشتری را (به همراه پولش) تحویل بگیریم.
اگر تا حالا از اسکرام برای انجام پروژههایتان استفاده کردهاید، حتماً در قسمت کامنتها تجربه خودتان را با ما به اشتراک بگذارید. اگر هم که تازه میخواهید استارت کار را بزنید، خوشحال میشویم به سوالات و ابهامات شما در این زمینه جواب بدهیم. موفق باشید.