اسکرام چیست؟
آیا به عنوان عضوی از تیم توسعه نرم افزار مشغول به فعالیت هستید؟ آیا به دنبال بهترین روش برای همکاری تیمی میگردید؟ پس با اسکرام آشنا شوید. اسکرام (Scrum) یکی از روشهای توسعه چابک (agile development methodology) و مبتنی بر فرایند تدریجی و تکرار شونده است. اسکرام دارای چهارچوبی سازگار، سریع و کارآمد است که با توسعه پروژه به ارزش آفرینی برای مشتری میپردازد.
هدف اصلی اسکرام، رفع نیاز مشتری از طریق برقراری روابط شفاف، مسئولیت پذیری جمعی و پیشرفت مستمر است. توسعه محصول از یک ایده کلی در مورد تأمین نیازها و فهرستی از ویژگیهای مرتب شده است که مالک محصول به دنبالشان است.
تاریخچه مختصری از اسکرام
تاریخچه اسکرام به سال 1986 و مقالهای تحت عنوان «بازی توسعه محصول جدید» در مجله مروری دانشکده بازرگانی هاروارد بر میگردد. هیروتاکا تاکیوچی و ایکوجیرو ناناکا در این مقاله فرایند توسعه محصول قابل گسترش و تیمی شرکتهایی مثل هوندا، کانون و فوجی در تولید محصولاتی جهانی را شرح میدهند. این رویکرد روی اهمیت تقویت تیمهای خود ساخته تأکید دارد.
این مقاله روی ایجاد مفاهیم زیادی که امروزه آنها را تحت عنوان اسکرام میشناسیم، تأکید دارد. مفهوم اسکرام برگرفته از بازی راگبی است و به آغاز مجدد بازی بعد از خطا یا خروج توپ از زمین اشاره دارد.
مطلب پیشنهادی: همکاری تیم دیجیتال مارکتینگ با تیم فنی
جف ساترلند و تیمش در سال 1993 در شرکت Easel فرایند اسکرام را با ترکیب مفاهیم مقاله سال 1986 و مفاهیم توسعه شی گرا، کنترل فرایند تجربی، توسعه تکراری و تدریجی، فرایندهای نرم افزاری و توسعه بهرهوری در کنار توسعه سیستمهای پیچیده و پویا در فرایندهای توسعه نرم افزار به کار گرفتند.
روش شناسی و فرایند اسکرام
اسکرام در اصل نسخه تکامل یافته مدیریت چابک است. روش شناسی اسکرام مبتنی بر مجموعهای از روشها و نقشهای بسیار مشخص است که باید در فرایند توسعه نرم افزار به کار گرفته شوند. این روش شناسی انعطاف پذیر به کارگیری 12 اصل چابکی در فضای مورد توافق اعضای تیم تولید محصول را مطلوب میداند.
اسکرام در قالب بلوکه های زمانی کوتاه و دورهای اجرا میشود که اسپرینت (Sprint) نامیده میشوند و از 2 تا 4 هفته متغیر هستند. این اصطلاح برای ارائه بازخورد و تأمل، مناسب است. هر اسپرینت ماهیت خاص خودش، نتیجه و نوع خاصی از محصول قابل عرضه به مشتری با حداقل تلاش ممکن را در بر میگیرد.
این فرایند دارای نقطه شروع و فهرستی از اهداف یا امکانات مورد نیاز برای اجرای پروژه است. مشتری پروژه باید این اهداف را اولویت بندی کند و در این حین باید هزینه و فاید و نحوه تکرارها و پیامدهای حاصل را لحاظ کند.
از طرف دیگر، بازار هم به دنبال کیفیت و عرضه سریع با کمترین هزینه است. پس شرکت باید با چابکی و انعطاف پذیری به توسعه محصولاتش بپردازد تا به چرخههای کوتاه توسعه رسیده و نیاز مشتریان را بدون کاهش کیفیت محصول، تأمین کند. اجرای این روش شناسی، بسیار ساده است و برای رسیدن به نتایج فوری بسیار محبوب است.
روش شناسی اسکرام در اصل برای توسعه نرم افزار به کار میرود. ولی سایر بخشها هم میتوانند در مدلهای سازمانی مثل فروش، بازاریابی، تیمهای منابع انسانی و غیره هم از این روش استفاده کند.
نقشهای مختلف در اسکرام
اعضای تیم در اسکرام به دنبال تولید نرم افزار با کیفیت هستند. مالک اسکرام باید روی ویژگیهای محصول مدنظر متمرکز شود (چه چیزی به چه ترتیبی باید ساخته شود) و موانع توسعه محصول را بر طرف کند.
تیم اسکرام حاوی نقشهای زیر است:
اسکرام مستر (Scrum master): فردی که تیم را بر اساس قوانین و فرایندهای روش شناسی هدایت میکند. اسکرام مستر کاهش موانع اجرای پروژه را مدیریت کرده و با مالک محصول به دنبال افزایش نرخ بازگشت سرمایه (ROI) است. اسکرام مستر در قبال به روزسانی اسکرام، مربیگری، هدایت و در صورت نیاز، آموزش تیمها مسئول است.
به گفته جف ساترلند:«اسکرام مستر، تیم را در جهت پیشرفت مستمر هدایت میکند. او به طور مرتب این سوال را مطرح میکند. چگونه میتوانیم عملکردمان را بهبود دهید؟»
مالک محصول یا (PO) Product owner: نماینده ذینفعان ومشتریان استفاده کننده از نرم افزار است. آنها روی بخش تجاری متمرکز بوده و در قبال ROI پروژه مسئول هستند. آنها چشم انداز پروژه را برای تیم تبیین نموده و مزایای حاصل از لیست ویژگیهای محصول یا Product Backlog را مشخص نموده و آنها را به ترتیب اولویت بندی میکنند.
تیم: گروهی از افراد حرفهای که دانش فنی لازم برای توسعه پروژه و اجرای استوری هایی را دارند که در آغاز هر اسپرینت متعهد به اجرایش شدهاند.
مزایای روش شناسی اسکرام
اسکرام مزایای زیادی نسبت به سایر روشهای توسعه چابک دارد. در حال حاضر هم پرکاربردترین و مطمئنترین چهارچوب در صنعت نرم افزار است. در ادامه به برخی از مزایای اسکرام اشاره خواهیم کرد:
- به راحتی قابل توسعه است: فرایند اسکرام به صورت تکرار شونده و در طول دورههای کاری خاصی انجام میشود که امکان تمرکز تیم روی کارکردهای هر دوره را افزایش میدهد. این شرایط باعث تأمین بهتر نیازهای کاربر شده و تیم میتواند کارکرد، طراحی، چشم انداز و ویژگیهای پروژه را به طور شفاف و ساده توسعه دهد.
- توافق در مورد انتظارات: مشتری، انتظاراتش شامل نیازها یا تاریخچه پروژه را مشخص میکند. تیم هم به ارزیابی این نیازها پرداخته و مالک پروژه با کمک این اطلاعات به اولویت بندی انتظاراتش میپردازد. مالک پروژه در طول اسپرینتهای اولیه باید تأمین پیش نیازها را تأیید کرده و بازخوردهای مورد نیاز را در اختیار تیم توسعه قرار دهد.
- تغییرات انعطاف پذیر: واکنش نسبت به تغیر نیازهای مشتری یا توسعه بازاری به سرعت صورت میگیرد. این روش برای سازگاری با نیازهای متغیر در پروژههای پیچیده ابداع شده است.
- کاهش زمان عرضه محصول به بازار: مشتری میتواند قبل از تکمیل محصول از مهمترین کارکردهایش استفاده کند.
- کیفیت نرم افزاری بالاتر: روش کار و نیاز به تهیه نسخه عملیاتی بعد از هر تکرار، باعث تقویت کیفیت نرم افزار میشود.
- تولید به موقع: با کمک این روش، سرعت متوسط فعالیت تیم در هر اسپرینت را میفهمیم. که در نهایت زمان عرضه کارکرد خاصی را در صورت بروز هر مانعی مشخص خواهد کرد.
- کاهش ریسکها: اجرای عملیاتهای مهم و شناخت سرعت پیشرفت پروژه باعث روشن شدن ریسکها از همان ابتدای کار میشود.
مطلب پیشنهادی: 15 بازی سرگرم کننده در محیط کار
رویدادهای درون اسکرام
رویدادهای درون اسکرام باعث تسهیل به کارگیری برخی از جنبههای فرایندی محصولی، پیشرفتی یا روابط تیمی میشود.
اسپرینت
واحد اصلی کار در تیم اسکرام است. این ویژگی اصلی، تفاوت میان اسکرام و سایر مدلهای توسعه چابک را مشخص میکند.
برنامه ریزی اسپرینت
هدف از برنامه ریزی اسپرینت، تعریف رویدادهای درون اسپرینت و نحوه انجامش است. جلسه برنامه ریزی در آغاز هر اسپرینت برگزار شده و روند پروژه از مرحله بک لاگ تا ضرب الاجل را مشخص میکند. هر اسپرینت، ویژگیهای متفاوتی دارد.
اسکرام روزانه
هدف از اسکرام روزانه، ارزیابی پیشرفت و ترند پروژه تا انتهای اسپرینت، هماهنگ سازی فعالیتها و برنامه ریزی برای 24 ساعت آینده است. این جلسه مختصر به صورت روزانه در طول اسپرینت برگزار میشود. سه پرسش در این جلسه باید به وسیله هر عضو پاسخ داده شوند: دیروز چه کار کردم؟ امروز چه کار خواهم کرد؟ چه نوع کمکی نیاز دارم؟ اسکرام مستر هم باید مشکلات و موانع به وجود آمده را حل کند.
مرور اسپرینت
هدف از مرور اسپرینت، بررسی کارهای انجام شده با توجه به بک لاگ محصول جهت عرضههای آتی آن است. اسپرینت تکمیل شده مورد مرور قرار میگیرد تا اگر پیشرفت محسوس و روشن در محصول به دست آمده، به مشتری عرضه شود.
واپس نگری اسپرینت
تیم به بررسی اهداف اسپرینت تکمیل شده پرداخته، موارد خوب و بد را یادداشت میکند تا اشتباهات، دوباره تکرار نشوند. در این مرحله از نقطه نظر فرایند توسعه، بهبودهایی در محصول ایجاد میشود. هدف از واپس نگری اسپرینت، شناسایی بهبودهای احتمالی در فرایند توسعه و ایجاد برنامهای برای اجرایشان در اسپرینت بعدی است.
به گفته بن لیندرز: «هدف از واپس نگری، کمک به تیمها در جهت ارتقای مستمر شیوه کارشان است».
مطلب پیشنهادی: راهکارهای شروع یک هفته کاری موفق
اجزای اسکرام
اجزای اسکرام برای اطمینان از شفافیت اطلاعاتی در تصمیم گیری به وجود آمدهاند.
بک لاگ محصول (PB): بک لاگ محصول فهرستی از نیازهای بالقوه مشتریان است که محصول باید آنها را برطرف کنند. مالک محصول این بک لاگ را تهیه کرده و آنها را به ترتیب اهمیت تجاری، اولویت بندی میکند. هدف از این کار پاسخ دادن به پرسش «چه کاری باید انجام شود؟» از جانب مالک است.
بک لاگ اسپرینت (SB): زیر مجموعهای از اقلام درون بک لاگ محصول است که از جانب تیم به منظور انجام در طول هر اسپرینت انتخاب میشود. به طور معمول این بک لاگ روی یک برد تحت عنوان اسکرام برد (Scrum board) به نمایش در میآید تا فرایند توسعه برای همه افرادی که وارد این حوزه میشوند، روشن شود.
توسعه: مجموعهای از تمامی کارها، موارد کاربردی، استوریهای کاربر، بک لاگ محصول و هر عنصر تولید شده در طول اسپرینت است و در قالب نرم افزار در اختیار کاربر نهایی قرار خواهد گرفت.
برنامه ریزی در اسکرام
جلسه برنامه ریزی اسپرینت در ابتدای هر اسپرینت برگزار میشود. تمامی اعضای تیم از جمله مالک محصول، اسکرام مستر و تیم توسعه در این جلسه شرکت دارند. کل تیم اسکرام باید هدف مدنظر در اسپرینت را بشناسند. تیم توسعه باید برنامه کاری را برای رسیدن به این هدف تهیه کند. شما با این برنامه ریزی، دخیل بودن هدف اسپرینت در بار کاری را طبق بازه زمانی مشخص (2 تا 4 هفتهای اسپرینت) درک خواهید کرد.
در این اسپرینت، نتایج به دست آمده و امکانات محصول قابل عرضه به مشتری نشان داده میشود. در اینجا باید در مورد ارزیابی عناصر تأمین شده از جانب تیم توسعه، بحث کنید.
اسکرام مستر و مالک محصول، پیش نیازها را مورد بررسی قرار میدهند. در نهایت هم تیم توسعه باید نحوه سازماندهی فعالیتهای تیمی در جهت دستیابی به هدف اسپرینت را توضیح دهد.
در نهایت . . .
حالا که درک بهتری از روش شناسی اسکرام دارید، میتوانید از آن در شرکت خودتان استفاده کنید. این روش در مورد کمک رسانی به فعالیت تیمی عمل میکند. نرم افزارهایی هم در جهت کمک به این فرایند، ابداع شدهاند. حتی میتوانید فرایند اسکرام فعلی سازمان را بهبود دهید. شما از کدام روش مدیریت چابکی در کسب و کارتان استفاده میکنید؟ آیا روش اسکرام مناسب کسب و کارتان هست؟
منبع
www.digite.com/agile/scrum-methodology
دیدگاه شما