اسکرام (Scrum) چیست؟

اسکرام یکی از چارچوب های مدیریت چابک پروژه هاست که به تیم های کوچک دارای ارتباط نزدیک و حمایت کننده از یکدیگر کمک می کند تا محصولات پیچیده ای را به طور فزاینده و تدریجی توسعه دهند. اسکرام به جای تمرکز بر اینکه افراد چه کار می کنند بر چگونگی انجام کار تمرکز دارد. اسکرام مبتنی بر اصول و قواعد بیانیه مدیریت چابک (اجایل) است و محبوب ترین و پرکاربردترین روش چابک به حساب می آید.در اسکرام تیم ها در طول اسپرینت ها (sprint) نرم افزار را توسعه داده و هر دو هفته آن بخش از نرم افزار را که روی آن کار کرده اند منتشر می کنند. با این روش، مشتریان ویژگی ها و امکانات (features) جدید را به محض اینکه ایجاد می شوند دریافت کرده و ایرادات آن را شناسایی و برطرف می کنند. در کل ریسک کمتری در این چارچوب وجود دارد.اسکرام محبوب ترین و پر استفاده ترین چارچوب مدیریت چابک پروژه است که در سازمان های توسعه نرم افزار استفاده می شود. اسکرام همچنین می تواند در مدرسه ها، بنگاه های کسب و کار، سازمان های دولتی و انواع دیگر سازمان ها مورد استفاده قرار گیرد.اسکرام اولین بار در سال ۱۹۹۰ به وسیله جف ساترلند (Jeff Suterland) و کن اسچوابر (Ken Schuaber) معرفی شد. اسم اسکرام از ورزش راگبی گرفته شده است. در راگبی اسکرام زمانی اتفاق می افتد که یک تیم دور توپ حلقه میزنند و تلاش می کنند تا با حرکت دادن آن به سمت پایین زمین بازی را ببرند. اسکرام یک استعاره برای یادآوری این است که چگونه همه افراد باید با یکدیگر همکاری کنند تا یک پروژه تکمیل شود.ساخته‌های اسکرامدر این بخش به بررسی سه ساخته اسکرام می‌پردازیم. «ساخته‌ها» (artifacts) چیزی هستند که ما می‌سازیم و مانند یک ابزار هستند که یک مشکل را رفع می‌کنند. در اسکرام این سه ساخته شامل بک‌ لاگ محصول، بک لاگ اسپرینت و یک افزایش است که بر اساس تعریف شما از «انجام» ساخته می‌شوند. این‌ها سه سازه تیم اسکرام هستند که ما مداوماً بازدید کرده و در طی زمان روی آن‌ها سرمایه‌گذاری می‌کنیم.بک لاگ محصول:بک لاگ محصول فهرست اصلی کارهایی است که باید انجام شوند و از سوی مالک محصول یا مدیر محصول تعیین می‌شوند. این یک فهرست دینامیک از فیچرها، الزامات، بهبودها و اصلاح‌هایی است که به عنوان یک ورودی برای بک لاگ اسپرینت عمل می‌کند. در واقع این فهرست To Do تیم است. بک لاگ محصول مداوماً مورد بازبینی قرار می‌گیرد، اولویت‌بندی‌های آن تغییر می‌یابد و از سوی مالک محصول نگهداری می‌شود، زیرا ما به مرور از بازار چیزهای تازه‌ای می‌آموزیم و برخی آیتم‌ها ممکن است دیگر لازم نباشند و یا مشکل‌ها ممکن است به روش‌های دیگری حل شوند.بک لاگ اسپرینت:بک لاگ اسپرینت فهرستی از آیتم‌ها، استوری‌های کاربر یا اصلاحیه‌های باگ است که از سوی تیم توسعه برای پیاده‌سازی در چرخه اسپرینت کنونی انتخاب شده است. پیش از هر اسپرینت، در جلسه برنامه‌ریزی اسپرینت، تیم‌ها آیتم‌هایی که در این اسپرینت روی آن کار خواهند کرد را از بک لاگ محصول انتخاب می‌کنند. بک لاگ اسپرینت باید انعطاف‌پذیر باشد و در طول اسپرینت تکامل یابد. با این حال، هدف نهایی اسپرینت یعنی چیزی که تیم‌ها در اسپرینت کنونی به دنبال رسیدن به آن هستند، نمی‌تواند تغییر یابد.افزایش:«افزایش» (Increment) همان هدف اسپرینت است که محصول نهایی قابل استفاده اسپرینت محسوب می‌شود. ممکن است به جای این افزایش از کلمات دیگری مانند هدف اسپرینت یا هر چیز دیگری استفاده کنید. همه این موارد به نحوه تعریف انجام یافتن کار و اهداف اسپرینت وابسته است. برای نمونه برخی تیم‌ها در انتهای هر اسپرینت چیزی را در اختیار مشتری خود قرار می‌دهند. بنابراین تعریف انجام کار می‌تواند متفاوت باشد، اما با این حال این هدف نباید هدف تیم‌های دیگر باشد. فرض کنید روی یک محصول مبتنی بر سرور کار می‌کنید که تنها هر سه ماه یک بار می‌تواند در اختیار مشتری قرار گیرد و شما همچنان می‌توانید کار در بازه‌های دوهفته‌ای را هدف قرار دهید، اما تعریف شما از انجام کار همچنان تمام شدن بخش بزرگ کار است که قرار است در اختیار مشتری قرار دهید. بدیهی است که هر چه انتشار نرم‌افزار زمان بیشتری نیاز داشته باشد، ریسک این که نرم‌افزار نتواند به هدف خود برسد بیشتر است.چرا از اسکرام استفاده کنیم؟1. سازگاری با شرایط (Adaptability)اسکرام تغییرات در پروژه‌ها را در آغوش می‌گیرد. در واقع فرآیندهای اسکرام برای رویارویی با تغییرات طراحی شده‌اند تا بتوان با استفاده از این قابلیت محصول بهتری را به مشتری ارائه داد.2. کسب رضایت ذینفعان (Stakeholder Satisfaction)یکی از مهم ترین اهداف در هر نوع پروژه‌ای جلب رضایت ذینفعان آن پروژه است که اسکرام توانسته با استفاده از رویکرد مشارکت گونه‌ای که در فرآیندهایش دارد به این هدف مهم دست پیدا کند.3. تحویل با ارزش‌ترین بخش کار در اولین اولویت (Early Delivery of high value product)در چارچوب اسکرام میزان ارزش حاصل شده تعیین کننده خواهد بود. اسکرام به گونه‌ای طراحی شده که حداقل در هر بازه ای از ماه (اسپرینت) بخشی از محصول به مشتری تحویل داده می‌شود، در این بین نحوه‌ی چیدمان کارها به گونه ای است که کار با بالاترین ارزش در اولین اولویت قرار می‌گیرد تا تحویل مشتری داده شود.4. بازخورد و بهبود مستمر (Continuous Development)حتما تا به حال دربار‌ه‌ی مفهوم بهبود مستمر و یا چرخه‌ی دمینگ شنیده‌اید. در بهبود مستمر شما همواره به بهتر شدن روند انجام کارها می‌اندیشید به این شکل که پس از برنامه ریزی و انجام کار، نحوه ی عملکرد و بهره‌وری کارتان را بررسی می‌کنید و در صورتی که نیاز به اصلاح بود آن را اصلاح می‌کنید.این چرخه و یا بهتر است بگوییم طرز تفکر در هر کتاب و استانداردی یک ردپایی از خودش گذاشته است و چارچوب اسکرام هم از این قاعده مستثنی نیست.در اسکرام با دریافت بازخوردهای مستمر و تحویل بخشی از محصول در هر بازه‌ی زمانی که با آن اسپرینت (Sprint) می‌گوییم و دریافت بازخورد از مشتری نحوه‌ی انجام کارها را بهبود می‌بخشیم.بُرد اسکرام (Scrum Board)در تمام مراحل اسکرام باید یک بُرد فیزیکی یا دیجیتالی در دسترس باشد که اعضای تیم بتوانند کارهای خود را روی آن دنبال کنند و بدانند هریک چه وظایفی دارند و اکنون در چه مرحله‌ای هستند. در جلسه‌های سرپایی چند دقیقه‌ای سعی می‌شود، مطالب روی برد به‌روزرسانی شود و استیکی نوت‌های روز گذشته با استیکی‌ نوت‌های امروز جایگزین شوند. هریک از اعضای تیم اسکرام سعی می‌کنند برگه‌های کاری خودشان را مرتب جابه‌جا کنند و برگه‌های کاری روز را از بخش To-Do به Doing و برگه‌هایی را که دیروز انجام داده‌اند را از وضعیت Doing به Done جابه‌جا کنند.این برد باید در مکانی نصب و استقرار پیدا کند که پیش روی تیم کاری باشد تا بتوانند در کمترین زمان به آن مراجعه کنند. برخی شرکت‌ها و توسعه‌دهنده‌های نرم‌افزاری از اپلیکیشن‌های وایت‌بردی استفاده می‌کنند که قابلیت اشتراک‌گذاری میان چندین کاربر در دستگاه‌ها و پلتفرم‌های مختلف را دارد. به‌خصوص، اگر برخی از اعضای تیم دورکاری می‌کنند؛ لازم است که همیشه از راه دور به برد اسکرام دسترسی داشته باشند. برخی از نرم‌افزارهای اسکرام هم یک بخش برای پیگیری کارهای To-Do ،Doing و Done دارند که براساس رنگ‌بندی و دسته‌بندی‌های مختلف پیاده‌سازی می‌شوند.اسکرام مستر کیست؟حتی اگر تازه به دنیای اسکرام وارد شده باشید پس از آشنایی با این که اسکرام چیست، بعید نیست که واژه اسکرام مستر به گوشتان خورده باشد. هر پروژه‌ای که با مدیریت چابک اسکرام تعریف می‌شود، ۳ نقش اصلی دارد:مالک محصول یا نماینده صاحب پروژه یا ذینفعمالک محصول فردی است که نماینده کسب ‌و کار در تیم شماست و وظیفه دارد که ارزشی را که در هر اسپرینت برای محصول حاصل می‌شود، به بالاترین حد ممکن برساند.تیم توسعهافراد این تیم با توجه به این که چارچوب قوانین اسکرام چیست، وظیفه تولید آنچه را صاحب پروژه درخواست کرده بود، بر عهده دارند. این تیم فنی به بُعد فنی توسعه محصول رسیدگی می‌کنند.اسکرام مستر یا مدیر اسکراماین فرد هم وظیفه کلید‌زدن فرایند اسکرام را در سازمان بر عهده دارد و هم فرایند درست اجرا‌شدن اسکرام را توسط تیم و مالک محصول کنترل می‌کند؛ همچنین باید برای حذف موانع از سر راه تیم نیز اقدام کند.برای آشنایی بیشتر نسبت به این نقش مهم در فرایند اسکرام، لازم است بدانید که اسکرام مستر با مدیر پروژه در معنای سنتی آن تفاوت دارد؛ چراکه بر خلاف مدیر پروژه، تیم توسعه را به‌صورت روزانه هدایت نمی‌کند و وظیفه تعیین تکلیف و وظایف افراد را بر عهده ندارد.در عوض، کسی که این نقش را بر عهده دارد باید تیم را از انحرافات بیرونی دور نگه دارد و به اعضا کمک کند تا در طول دوره اسپرینت بر هدفی که انتخاب کرده‌اند، به‌طور عمیق تمرکز کنند.برای پاسخ به این سوال که وظایف مدیر اسکرام چیست باید بگوییم که به‌طور کلی اسکرام مستر ۲ وظیفه کلی را بر عهده دارد:1. حفظ بهره‌وری بالا در توسعه؛2. هدایت توسعه.اما این وظایف را می‌توان به مجموعه تکالیف جزئی‌تری تجزیه کرد:برگزاری و مدیریت جلسات؛تضمین نرم‌افزار کار‌کننده؛تسهیل ارتباطات؛هدایت جلسه برنامه‌ریزی اسپرینت؛ردگیری اسپرینت و Release؛نمایندگی گروه؛بهره‌وری؛کوچک نگه‌داشتن تیم؛هم‌سوکردن افراد با مشاغل؛پیشگیری از موانع و رفع آنها هنگام وقوع.ویژگی‌های اسکرام مستر حرفه ایهرچه پروژه پیچیده‌تر باشد به اسکرام مستر حرفه ای‌تری نیاز خواهید داشت.6 ویژگی‌های یک اسکرام مستر حرفه ای: 1. به خوبی بداند اسکرام چیست و چگونه باید این متدولوژی را اجرا کند.2. توانایی اولویت‌بندی ویژگی‌ها را داشته باشد.3. انعطاف‌پذیری بالایی داشته باشد و از هرگونه تغییر استقبال کند و برنامه‌ها را در راستای آن تغییر، بروزرسانی کند.4. به اعضای تیم و اطلاعاتی که در طی پروژه به دست می‌آورند توجه کند.5. دقیق و نکته‌بین باشد تا بتواند در هر اسپرینت، داده‌های بیشتری برای ادامه پروژه به دست آورد.6. در بازه‌های زمانی منظم جلسات اسکرام را با اعضای تیم و کارفرما برگزار کند و به صورت منظم عملکرد را به کمک اعضای تیم بسنجد.مزایای متدولوژی اسکرام چیست؟سازمان‌هایی که از اسکرام agile استفاده می‌کنند، مزایای زیر را تجربه می‌کنند:تولید بالاترمحصولات باکیفیت‌ترکاهش زمان ارسال به بازاربهبود رضایت ذینفعانپویایی تیمی بهترکارمندان شادترمدیران آینده