اسکرام یک روش سریع برای مدیریت پروژه است. البته باید گفت که اغلب اوقات این اصطلاح در دنیای توسعه نرمافزار استفاده شده و منظور ما از به کار بردن کلمه «پروژه» در جمله قبلی هم دقیقا همین بود. توسعه نرمافزار به صورت چابک یا Agile با استفاده از اسکرام را به عنوان یک متدولوژی یا روش بیان میکنند اما اسکرام چیزی بیشتر از اینهاست، افراد تکنیکی بیشتر از آنکه واژه متدولوژی را به کار ببرند از چهارچوب استفاده میکنند. پس در واقع اسکرام یک چهارچوب برای مدیریت یک پروسه، فعالیت و یا در نهایت پروژه است.
اسکرام چیست؟
در دنیای اسکرام بجای آنکه سعی در ارائه توضیحات کامل و جزئی در ارتباط با چگونگی انجام پروژه شود، بخشهایی از آن به تیم توسعه نرمافزار اسکرام داده خواهد شد. این اتفاق به این دلیل میافتد که تیم مربوطه روشهای بسیار مناسبی را برای چگونگی حل مشکلات پیدا میکند. از این رو در اسکرام ما با تیمهایی کار خواهیم کرد که میتوانند مشکلات بزرگ را در جزئیات کوچکتری حل کنند.
اسکرام مبتنی بر یک تیم خود-مدیریتی و چند-کاره است. بدین معنا که خود اعضای تیم میتوانند بدون داشتن یک رهبر کارها را مدیریت کرده و همچنین از اعضایی استفاده کنند که در کنار هم میتوانند ویژگیهای مختلفی را توسعه دهند. از این رو کسی در این تیم نخواهد بود که به فرد دیگری بگوید که فلان قسمت از پروژه را انجام بدهد چرا که تمام این مشکلات و مسائل توسط کل تیم گرفته میشوند. همچنین در یک تیم چند-کاره هر فردی وظیفه دارد تا بتواند مجموعهای از ایدهها را به عمل تبدیل بکند.
در روند توسعه Agile تیمهای اسکرام توسط دو نقش مخصوص پشتیبانی خواهند شد. نقش اول را افرادی به عهده میگیرند که به Scrum Master معروف هستند. این افراد به تیم یاد خواهند داد تا به چه صورتی در یک روال مبتنی بر اسکرام پروژه را در یک سطح عالی جلو ببرند.
نقش بعدی را صاحب پروژه بر عهده خواهد گرفت. این نقش میتواند یک شرکت، مشتری و یا یک کاربر باشد که نیازهای خود را به افراد تیم گفته و به آنها کمک میکند تا براساس انتظارات مورد نیازش پیش بروند.
چرا باید از اسکرام استفاده کنیم؟
استفاده از اسکرام (Scrum) برای مدیریت پروژهها، به ویژه در زمینههایی مانند توسعه نرمافزار، میتواند مزایای متعددی داشته باشد. در ادامه، برخی از دلایل کلیدی برای استفاده از اسکرام آورده شدهاند:
-
افزایش انعطافپذیری و واکنشپذیری: اسکرام اجازه میدهد تیمها به سرعت و به صورت انعطافپذیر به تغییرات واکنش نشان دهند. این امر به ویژه در محیطهایی که متغیر هستند و نیاز به تطبیق پذیری سریع دارند، مفید است.
-
تمرکز بر ارزشآفرینی: در اسکرام، تمرکز بر تحویل محصولاتی است که ارزش واقعی برای مشتری ایجاد میکنند. این رویکرد به تیمها کمک میکند تا بر روی اولویتهای کلیدی تمرکز کنند.
-
بهبود ارتباطات و همکاری: اسکرام تاکید زیادی بر همکاری و ارتباطات موثر دارد. جلسات منظم اسکرام، مانند دیلی اسکرام و اسپرینت ریویو، به این معناست که اعضای تیم به طور مداوم در ارتباط هستند.
-
افزایش شفافیت: با استفاده از تکنیکهایی مانند تخته اسکرام و برنامهریزی اسپرینت، تمام اعضای تیم و ذینفعان دید کاملی به پیشرفت پروژه دارند.
-
تشویق به یادگیری و بهبود مداوم: اسکرام تیمها را تشویق میکند تا به طور مداوم درسهای آموخته شده را بررسی و اعمال کنند. جلسات بازنگری اسپرینت و جلسات رتروسپکتیو این فرصت را فراهم میکنند.
-
تقویت مسئولیتپذیری تیمی: در اسکرام، تیم به عنوان یک واحد کامل مسئول تحویل محصول است. این موضوع تمرکز بر مسئولیتپذیری و مالکیت جمعی را تقویت میکند.
با این حال، موفقیت با استفاده از اسکرام به عوامل متعددی بستگی دارد، از جمله تعهد تیم و سازمان به پیادهسازی اصول چابکی و توانایی تطبیق با فرهنگ و فرآیندهای اسکرام.
چه مواردی در روال توسعه اسکرام دخیل هستند؟
مدل اسکرام پیشنهاد میکند که روال توسعه یک پروژه باید به صورت یکسری Sprint جلو برود. منظور از Sprint بازههای زمانی است که بیشتر از یک ماه نیستند. معمولا برای این بازه زمانی دو هفته را انتخاب میکنند.
در هر کدام از این بازههای زمانی تیم اسکرام یکسری ویژگی جدید را ایجاد کرده و تست میکنند. در نهایت زمانی ما یک پروژه اسکرام را به صورت کامل به اتمام میرسانیم که تمام ویژگیهای مورد نظرمان ایجاد شده و تست شده باشند. البته یک مرحله دیگر نیز وجود دارد که آن ادغامسازی ویژگیها با همدیگر و کنار هم قرار دادن آنهاست.
در هر روز Sprint اعضای تیم باید یک ملاقات را با اسکرام مستر و صاحب پروژه ترتیب بدهند. این ملاقات نباید بیشتر از ۱۵ دقیقه باشد. در این ۱۵ دقیقه اعضای تیم باید از مواردی که روز قبل پیادهسازی کردند و امروز قرار است پیادهسازی بکنند صحبت خواهند کرد. همچنین اگر اشکالی در روال پیشرفت پروژه وجود داشته باشد آن را بررسی میکنند.
مدل اسکرام ملاقاتهای روزانه را ابزاری مناسب برای ایجاد هماهنگی بین اعضای تیم میبیند به همین دلیل است که روی این موضوع تاکید ویژهای دارد.
در پایان هر Sprint اعضای تیم باید نقدها و نظراتی که به پروژه وارد شده را بررسی کنند. این نظرات را معمولا مدیران پروژه و یا افراد دیگری که به نحوی با پروژه ارتباط دارند بیان خواهند کرد. بعد از آن نظرات به صورت یک حالت پیمایشی جلو خواهند رفت و سعی میشود تا موارد منطقی را پیادهسازی کنند. اما به صورت کلی اسکرام موضوع ملاقاتهای تیمی را بسیار مهم میداند چرا که در این ملاقاتها چیزهای بسیار زیادی بیان شده و تغییرات مثبت بسیاری روی پروژه ایجاد خواهد شد.
پروسه اسکرام: دستآوردهای اصلی
در روال توسعه اسکرام مهمترین دستآورد خود محصول یا پروژه است. مدل اسکرام انتظار دارد تا تیمها در انتهای هر Sprint محصول بوجود آمده را در یک محیط آزمایشی قرار داده و با آن کار بکنند.
یکی دیگر از مهمترین بخشهای اسکرام Backlog پروژه است. این قسمت لیستی از تمام گزینههایی است که هنوز منتظر اضافه شدن به پروژه هستند. صاحب پروژه کسی است که باید روی این ویژگیها یک اولویتبندی را قرار دهد از این رو افراد تیم میتوانند ابتدا ویژگیهای مهم را پیادهسازی کرده و سپس دنبال موارد دیگر بروند.
یکی از بهترین راهکارها برای ساخت یک Backlog در نظر گرفتن کاربران و مشتریانی است که قرار است از محصول شما استفاده بکنند. در این راهکار از دیدگاه مشتری به هر کدام از ویژگیها باید نگاه کرد و میزان استفادهپذیری آن را بررسی نمود.
در ساختار Scrum گزینههای موجود در Backlog شبیه به یک to-do list برای اعضای تیم خواهد بود. بنابراین شما یکسری ویژگی را در اختیار دارید که باید آنها را پیادهسازی بکنید.
بررسی نقشها در اسکرام
حتی اگر در ارتباط با اسکرام اطلاعات چندانی ندارید ممکن است با فردی به نام Scrum Master آشنایی داشته باشید. اسکرام مستر مربی اصلی تیم است و به اعضای اسکرام کمک میکند تا به بالاترین سطح از کارایی دست پیدا کنند.
البته همانطور که گفته شد ما در تیم اصطلاحی به عنوان رهبر به معنی سنتی آن را نداریم. اسکرام مستر کسی نیست که به افراد وظایفی را برای انجام دادن بدهد اما به عنوان یک ناظر عمل کرده و میتواند در برخی موارد راهنماییهای لازم را به توسعهدهندگان بدهد. از این رو اسکرام مستر بیشتر یک رهبریت خارجی را روی تیم اعمال کرده و دستورات مستقیمی نمیدهد.
از طرفی دیگر با وجود آنکه اسکرام مستر سعی میکند که به صورت مستقیم اهداف را برای تیم تعیین نکند اما صاحب پروژه و یا مدیر پروژه به صورت مستقیم با تیم ارتباط داشته و روی اهداف آنها نظارت میکند. صاحب پروژه اغلب اوقات این کار را از طریق Backlog انجام میدهد.
سومین نقش اصلی که در یک پروژه اسکرام وجود دارد خود تیم است. با وجود آنکه در چنین تیمی هر فردی توانایی خاصی میتواند داشته باشد اما چهارچوب اسکرام به عنوان افرادی به این اعضا نگاه میکند که میتوانند در روال انجام پروژه مشارکت داشته و فعالیت کنند.
البته این بدان معنا نیست که اسکرام بین توسعهدهنده بک-اند و معمار سیستم تفاوت قائل نیست اما در نهایت اسکرام همه چیز را به صورت یکپارچه مشاهده خواهد کرد. البته گاهی اوقات نیز پیش خواهد آمد که در تیم یک نفر چندین کار مختلف را انجام دهد.
اگر بخواهیم این سه نقش را به دنیای ماشینها تعمیم دهیم باید گفت که تیم اسکرام را به عنوان یک ماشین مسابقه در نظر بگیرید، راننده این ماشین مدیر پروژه است و وظیفه دارد تا در هر دور مسابقه ماشین را در مسیر درست رانندگی کند. اسکرام مستر نیز مکانیک ماشین است که مطمئن میشود همه قسمتهای آن به خوبی کار کرده و جلو میرود.
در پایان
در این مطلب به صورت خلاصه در ارتباط با اسکرام صحبت کردیم. البته موضوعات بسیار بیشتری در ارتباط با این موضوع وجود داشته که نیاز است تا آنها را نیز در مطالب دیگری بررسی کنیم. اما در این مطلب ما یک سری از مهمترین موضوعات اسکرام را به صورت کلی معرفی کردیم و امیدواریم که شما را به خوبی با این موارد آشنا کرده باشیم. این موضوع را به عنوان نکته آخر نیز در نظر بگیرید که موفقیت با استفاده از اسکرام به عوامل متعددی بستگی دارد: تعهد تیم و سازمان به پیادهسازی اصول چابکی، توانایی تطبیق با فرهنگ و فرآیندهای اسکرام و... .
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید