اسکرام یکی از چارچوبهای محبوب برای مدیریت پروژه های توسعه نرم افزار است که در اصل در سال ۱۹۹۰ معرفی شد و از آن زمان به طور گسترده ای در صنعت پذیرفته شده است. امروزه، اسکرام توسط تیم های توسعه نرم افزار در سراسر جهان و همچنین توسط تیم هایی در صنایع دیگر مانند بازاریابی، مالی و بهداشت و درمان استفاده می شود. سیستم چابک همچنین تعداد دیگری از روش ها و چارچوب ها مانند کانبان، لین استارتاپ، و SAFe (چارچوب چابک مقیاس دهی شده) را ایجاد کرده است. در این مقاله مروری بر اسکرام، اصول و شیوه های کلیدی آن خواهیم داشت و در مورد مزایا و محدودیت های آن نیز بحث خواهیم کرد.
تاریخچه اسکرام
اسکرام یک چارچوب مدیریت پروژه است که در سال ۱۹۹۰ توسط جف ساترلند و کن شوابر توسعه یافت. ریشه های آن را می توان در یک مقاله تحقیقاتی که در سال ۱۹۸۶ توسط هیروتاکا تاکوچی و ایکوجیرو نوناکا منتشر شد، جستجو کرد. او از اصطلاح “اسکرام” برای توصیف یک رویکرد جدید برای توسعه محصول استفاده کرد که مداوم و رو به بهبود بود. ساترلند و شوابر توسعه دهندگان نرم افزاری بودند که به دنبال راهی بهتر برای مدیریت پروژه های توسعه نرم افزار خود می گشتند.
در سال ۱۹۹۵، ساترلند و شوابر چارچوب اسکرام را در کنفرانس OOPSLA ارائه کردند. این چارچوب به گونه ای طراحی شده بود که ساده، سبک و سازگار با تمرکز بر ارائه سریع و کارآمد نرم افزارهای کاری باشد.
در طول سال ها، اسکرام تکامل یافته و محبوبیت و جایگاهش را پیدا کرده است و به یکی از پرکاربردترین متدهای چابک در صنعت توسعه نرم افزار تبدیل شده است. در سال ۲۰۰۱، ساترلند و شوابر یکی از آن ۱۷ امضاکننده مانیفست چابک بودند که مجموعه ای از اصول برای توسعه نرم افزار چابک را مطرح کردند.
اسکرام چیست؟
اسکرام یک چارچوب چابک برای مدیریت پروژه های پیچیده است. این چارچوب مبتنی بر توسعه مداوم و رو به بهبود است و به گونه ای طراحی شده است که تیم ها بتوانند به صورت مشارکتی کار کنند و محصولات نرم افزاری با کیفیت بالا را به سرعت تحویل دهند. این چارچوب از سه نقش اصلی تشکیل شده است: مالک محصول، اسکرام مستر و تیم توسعه.
بیشتر بدانید: آشنایی با مدیریت پروژه چابک
همین حالا آموزش را شروع کنید: آموزش مدیریت پروژه چابک
نقش های اصلی در اسکرام
نقش مالک محصول در تیم ها
مالک محصول نقشی کلیدی را در به حداکثر رساندن ارزش محصول توسعه یافته توسط تیم توسعه دهنده را دارد. مالک محصول نقطه تماس اصلی تیم در مورد تعریف الزامات و اولویت های محصول است. مالک محصول مسئول ایجاد و حفظ بک لاگ محصول است، که یک لیست اولویت بندی شده از ویژگی ها، پیشرفت ها، و رفع اشکال است که تیم بر روی آن کار خواهد کرد. مالک محصول با ذینفعان و مشتریان هم کاری نزدیکی دارد تا نیازهای آن ها را درک کند و اطمینان حاصل کند که بک لاگ آن نیازهای مدنظر را منعکس می کند. در طول برنامه ریزی اسپرینت، مالک محصول با تیم هم کاری می کند تا آیتم هایی را از بک لاگ انتخاب کند که در طول اسپرینت بعدی روی آن ها کار خواهد شد. مالک محصول همچنین در طول اسپرینت به تیم راهنمایی و شفاف سازی می کند و مسئول پذیرش یا رد کاری است که توسط تیم تکمیل می شود.
مالک محصول باید درک روشنی از اهداف و اولویت های کسب وکار و همچنین درک عمیقی از محصول در حال توسعه داشته باشد. آن ها همچنین باید مهارت های ارتباطی قوی داشته باشند، بتوانند به صورت مشارکتی با تیم توسعه دهنده کار کند و بتوانند سریع و موثر تصمیم گیری کند.
اسکرام مستر کیست و چه وظایفی دارد؟
اسکرام مستر نقشی کلیدی در چارچوب اسکرام دارد و مسئول اطمینان از اجرای صحیح فرآیند اسکرام و پایبندی تیم به اصول و روال های اسکرام است. اسکرام مستر به عنوان یک مربی و تسهیل کننده عمل می کند و به تیم کمک می کند تا خود سازماندهی و تصمیم گیری کند و موانع و حواس پرتی هایی را که ممکن است تیم را از رسیدن به اهدافشان باز دارد، از بین ببرد. در اینجا به برخی نکات کلیدی که اسکرام مستر باید پیرامون شغل خود بداند، اشاره خواهیم کرد.
- اصول و شیوه های اسکرام : یک اسکرام مستر باید درک عمیقی از اصول و شیوه های اسکرام از جمله نقش ها، مصنوعات و رویدادهای مرتبط با اسکرام داشته باشد.
- مهارت های تسهیل گری و مربیگری: اسکرام مستر باید تسهیل گر و مربی لایقی باشد، بتواند به تیم کمک کند تا به صورت مشارکتی با هم کار کنند و براساس اجماع تصمیم گیری کنند.
- مهارت های حل تعارض:اسکرام مستر باید بتواند تعارضات درون تیم و بین تیم و ذی نفعان خارجی را شناسایی و حل کند.
- مهارت های ارتباطی: اسکرام مستر باید مهارت های ارتباطی عالی داشته باشد، بتواند به طور موثر با اعضای تیم، ذی نفعان و دیگر اسکرام مستر ها ارتباط برقرار کند.
- اصول چابک و ناب: وی باید درک خوبی از اصول چابک و ناب داشته باشد و بتواند این اصول را در چارچوب اسکرام اعمال و پیاده سازی کند.
- رهبری خدمتگزار: اسکرام مستر باید سبک رهبری خدمتکارانه را اتخاذ کند، نیازهای تیم را بالاتر از خودشان قرار دهد و از تیم در رسیدن به اهدافشان حمایت کند.
- بهبود مستمر: همچنین وی باید متعهد به بهبود مستمر باشد و دائما به دنبال راه هایی برای بهبود فرآیند اسکرام و عملکرد تیم باشد.
تیم توسعه دهنده و ویژگی هایی که باید داشته باشد
در اسکرام، تیم توسعه یک گروه خودسازمانده و چندمنظوره از متخصصان است که مسئول ارائه یک افزایش بالقوه قابل انتشار از محصول در پایان هر اسپرینت هستند. تیم توسعه شامل توسعه دهندگان، طراحان، تسترها و هر متخصص دیگری است که برای ارائه یک محصول به آن ها نیاز است. در ادامه چندمورد از ویژگی های تیم توسعه دهنده را بررسی خواهیم کرد.
- خودسازمان دهی: تیم توسعه دهنده خودسازمانده است، به این معنی که آن ها تصمیم می گیرند چگونه کاری را که در طول اسپرینت به آن متعهد خواهند بود را انجام دهند.
- کارکرد متقابل: تیم توسعه دهنده کارکرد متقابل دارد، به این معنی که تمام مهارت ها و تخصص های لازم برای ارائه یک اپدیت برای محصول بالقوه قابل انتشار را در پایان هر اسپرینت دارد.
- کوچک: تیم توسعه دهنده معمولا کوچک است و معمولا متشکل از ۹ – ۳ عضو است که امکان ارتباط موثر، هم کاری و تصمیم گیری را فراهم می کند.(اصطلاحی برای تعداد اعضای گروه ها وجود دارد. یک پیتزا باید برای تعداد افراد گروه کافی باشد.)
- توانمندسازی: تیم توسعه دهنده قدرت تصمیم گیری در ارتباط با توسعه محصول را دارد و مسئول تعیین بهترین نحوه ارائه کار متعهدانه به آن در طول اسپرینت است.
- متعهد: تیم توسعه دهنده متعهد به ارائه اپدیت محصول بالقوه قابل انتشار در پایان هر اسپرینت است و به صورت مشترک و با همکاری برای رسیدن به این هدف تلاش می کند.
- بهبود مستمر: تیم توسعه دهنده که متعهد به بهبود مستمر است، باید بررسی منظم عملکرد آن ها و شناسایی زمینه های بهبود برای هر محصول را انجام دهد.
- تیم توسعه دهنده، مسئول تحویل تدریجی محصول در تکرارهای کوتاه است که معمولا اسپرینت نامیده می شود.
اسکرام همچنین چندین مراسم یا رویداد کلیدی هم دارد که در طول چرخه عمر پروژه رخ می دهند. این موارد شامل برنامه ریزی اسپرینت، آماده سازی روزانه، بازبینی اسپرینت و مرور اسپرینت است.
- برنامه ریزی اسپرینت جلسه ای است که در آن تیم در مورد ویژگی های ارائه شده در اسپرینت آینده تصمیم می گیرد. این رویدادهای روزانه جلسات کوتاهی هستند که هر روز برگزار می شوند و در آن ها اعضای تیم پیشرفت خود را با سایرین به اشتراک می گذارند و در مورد هر مانعی که با آن مواجه هستند، بحث می کنند.
- مرور اسپرینت جلسه ای است که در پایان هر اسپرینت برگزار می شود تا کار تکمیل شده در طول اسپرینت را به نمایش بگذارد.
- نگاه به گذشته اسپرینت جلسه ای است که پس از بررسی اسپرینت برگزار می شود و در آن تیم به سرعت فکر می کند و فرصت های بهبود را شناسایی می کند.
اصول و روشهای کلیدی در اسکرام
اسکرام براساس چندین اصل و تمرین های کلیدی ساخته شده است که در ادامه بیان خواهند شد.
کنترل فرآیند تجربی
اسکرام مبتنی بر این ایده است که دانش از تجربه حاصل خواهد شد و تصمیمات باید براساس آنچه مشاهده می شود و آموخته می شود، اتخاذ شوند. اسکرام از یک رویکرد تکراری و رو به بهبود برای توسعه نرم افزار استفاده می کند که تیم را قادر می سازد با تغییرات سازگار شود و از تجربیات مثبت و منفی خود درس بگیرد.
تیم های خود سازمانده
تیم های اسکرام خودسازمانده هستند. به این معنی که مسئول مدیریت کار خود و تصمیم گیری درمورد چگونگی ارائه محصول هستند. اسکرم مستر فرایند امور را تسهیل میکند اما به تیم نمیگوید که چه کاری باید انجام دهد. به عبارت دیگر اسکرام مستر یک تسهیل گر و راهنما است تا مدیر و رهبر.
Time-Boxing
اسکرام از تکنیک تایم باکسینگ استفاده میکند. یعنی هر تکرار یا اسپرینت مدت زمان مشخصی برای اتفاق افتادن دارد. این امر تیم را ملزم میسازد تا برروی ارائه مجموعه کوچکی از ویژگیها و عملکردها در یک بازه زمانی خاص تمرکز کنند.
بهبود مستمر
اسکرام بر بهبود مستمر تاکید می کند، به این معنی که تیم روی کار خود تامل می کند و فرصت های بهبود را در طول هر اسپرینت شناسایی می کند.
تشابهات و تفاوت ها سبک چابک با چارچوب اسکرام
اسکرام و چابک هر دو روش های مدیریت پروژه هستند که برای کمک به هم کاری تیمی و ارائه سریع محصولات نرم افزاری با کیفیت بالا طراحی شده اند. در حالی که اسکرام یک چارچوب خاص است که زیر چتر چابک قرار می گیرد، تفاوت های کلیدی بین این دو وجود دارد.
روش شناسی چابک
چابک به اصطلاح چتری است که طیف وسیعی از متدولوژی ها از جمله اسکرام، کانبان و لین را در بر می گیرد. چابک براساس اصول و ضوابطی است که در مانیفست چابک ذکر شده است که بر افراد و تعاملات، نرم افزارهای کاری، هم کاری با مشتری و پاسخ به تغییرات تاکید دارد. سیستم چابک به گونه ای طراحی شده است که انعطاف پذیر و سازگار باشد، به این معنی که تیم ها می توانند به سرعت به تغییرات در نیازها یا بازار پاسخ دهند. متدولوژی های چابک نیز مستمر و رو به بهبود هستند، به این معنی که کار به بخش های کوچک و قابل مدیریتتر تقسیم شده و در تکرارهای کوتاه تحویل داده میشوند.
روش شناسی اسکرام
اسکرام در اصل یک چارچوب خاص در متدولوژی چابک است و بر سه نقش اصلی استوار است: مالک محصول، اسکرام مستر و تیم توسعه دهنده که بالاتر به تفصیل مورد بحث قرار گرفتند. همچنین شمال رویداد های تکرار شونده ای است که تا اخر چرخه عمر محصول تکرار میشوند. این مورد هم بالاتر بررسی شده است و از اوردن مطالب تکراری خودداری میکنیم.
به طورکلی سیستم چابک یک متدولوژی گسترده است که طیف وسیعی از متدولوژی ها را در بر میگیرد. درحالی که اسکرام یکی از همین زیرشاخه ها است. چابک بر اصول 12 گانه مانیفست چابک بنا نهاده شده است. درحالی که اسکرام بر مجموعه ایی از فعالیت ها و نقش های خاص استوار است. چابک از انعطاف پذیری بالاتری برخوردار است و افراد تیم ساده تر میتوانند با ان ارتباط برقرار کنند نسبت به اسکرام که ساختاری قاطعانه و دستوری دارد. سیستم چابک مراسم ها و رویدادهای خاصی ندارد درحالی که اسکرام، رسوم و رویدادهای مختلفی را در طول چرخه عمر محصول میطلبد.
مزایا و معایب استفاده از اسکرام
همانطور که پیشتر گفته شد، اسکرام یکی دیگر از فریمورک های مدیریت و کنترل پروژه چابک است که میتواند منافع زیادی را برای سازمان به ارمغان بیاورد با این حال مانند سایر مباحث، این چارچوب هم معایب خاص خودش را دارد که در ادامه به بررسی چند مورد از مزایا و معایب این فریمورک را بیان خواهیم کرد.
مزایا اسکرام
افزایش بهرهوری
اسکرام میتواند با تقسیم کار به اسپرینت های قابل مدیریت و تشویق به بهبود مستمر، به تیم ها کمک کند تا بازدهی خود را بالاتر ببرند و موانع حواس پرتی را از پیش پای خود بردارند.
بهبود روابط و افزایش همکاری
اسکرام بر همکاری و برقراری ارتباط بین سایر اعضای تیم تاکید دارد که میتواند منجر به کار تیمی بهتر و یک تیم یکپارچه تر شود.
زمان سریعتر برای بازاریابی
اسکرام به تیم ها این اجازه را میدهد نرم افزارها ویا هرچیز دیگری که درحال توسعه است را به صورت تدریجی ارائه دهند که میتواند به آنها کمک کند سریعتر به بازار برسند و سریعتر به نیازها و یا تغییرات پاسخ دهند.
انعطاف پذیری و انطباق پذیری
اسکرام به گونه ایی طراحی شده است که انعطاف پذیر و انطباق پذیر باشد. یعنی تیم ها به توانند با بیشترین سرعتی که میتوانند به تغییرات و نیازهای مختلف واکنش نشان دهند.
دید وسیع تر و شفافیت بالاتر
اسکرام چارچوبی برای پی گیری پیشرفت و شناسایی مسائل فراهم میکند که میتواند به دید و شفافیت بهتر منجر شود.
معایب اسکرام
هماهنگی ها و برنامه ریزی های زیاد
اسکرام به مقدار قابل توجهی برنامه ریزی و هماهنگی نیاز دارد که میتواند خیلی زمانگیر باشد و همچنین نیازمند تخصص بالا هم هست.
بیش از حد دستوری است
اسکرام میتواند برای برخی تیم ها بیش از حد دستوری باشد. بخصوص برای تیم هایی که ساختار یافتگی را ترجیح میدهند.
پیاده سازی دشوار
پیاده سازی اسکرام میتواند برای تیم هایی که تازه میخواهند از رویکرد چابک استفاده کنند یا فاقد آموزش ها و منابع لازم هستند، دشوار باشد.
نیاز به مقبولیت و پذیرفتته شدن
اسکرام نیازمند این است که باید نزد همه اعضای تیم مقبول باشد و همه بخواهند که با این چارچوب کار کنند. فرقی نمیکند یکی از اعضای تیم باشد یا مدیران ارشد سازمان همه باید اسکرام را بپذیرند.
اسکرام استرسزا است
از آنجایی که اسکرام برمبنای پاسخ سریع و همکاری همه اعضای تیم با یکدیگر بنا نهاده میشود؛ میتواند برای برخی از اعضای تیم که توانایی سریع انجام دادن امور را ندارند و یا زیر فشار بازدهی آنها کاهش میابد میتواند استرسزا باشد.
به طورکلی، اسکرام میتواند ابزار قدترمندی برای تیم های توسعه نرم افزار باشد که میخواهند بهره وری، مشارکت و همکاری و سرعت خود را در بازار افزایش دهند مناسب باشد. اما باید توجه کنید که این کار مستلزم سرمایه گذاری قابل توجه زمان و منابع دارد و ممکن است برای هر تیم یا سازمانی مناسب نباشد.
سخن پایانی
اسکرام یکی از محبوبترین چارچوب های مدیریتی سبک چابک است. علیرغم تمام مزایایی که میتواند برای یک تیم یا یک سازمان به ارمغان بیاورد، ولی نمیتوان آن را برای تیم ها و سازمانها تجویز کرد. در این سبک، نقش ها، اصول و روابطی وجود دارد که اشخاص تیم را مستلزم تغییر میکند. کما اینکه ممکن است در برخی تیم ها همین اجبار مقبول واقع نشود. اسکرام برمبنای توسعه مستمر و رو به بهبود است یعنی نرم افزار به مرور زمان اپدیت میشود که این امر تیم های نرم افزاری را قادر میسازد تا به بازار و مشتری بیشتر از پیش بها دهند و خواسته های آنان را سریعتر پاسخ دهند. این چارچوب ممکن است بیشتر از سایر سبک های مدیریتی هزینه بر باشد. زیرا افراد تیم علاوه بر تخصص در حیطه خود باید منعطف تر باشند و توانایی کارتیمی را داشته باشند.
اسکرام (Scrum) چیست؟