اگر تا به حال چیزی در مورد اسکرام نشنیده باشید، در پایان این مقاله به آگاهی و درک بهتری در رابطه با هر آنچه که باید بدانید، نظیر چیستی و چگونگی کارکرد اسکرام می رسید.
به طور کلی اسکرام یک فریم ورک برای مدیریت پروژه چابک است و شما چه به عنوان یک توسعه دهنده نرم افزار و چه به عنوان عضو یک تیم بازاریابی با استفاده از متد اسکرام می توانید کار تیمی بهتر و با بازدهی بسیار بالا داشته باشید.
به زبان ساده اسکرام روشی برای ارائه محصول با کیفیت است که این محصول به صورت تکراری و افزایشی در بازه زمانی معین به بازار عرضه میشود. این یک تصویر ساده از اجرای اسکرام میباشد.
اسکرام چیست؟
اصطلاح اسکرام از راگبی گرفته شده، این اصطلاح اولین بار در زمینه توسعه محصول در مقاله ای در سال ۱۹۸۶ در مجله Business Harvard مورد استفاده قرار گرفت.
پژوهشگران این مقاله متوجه شدند که چارچوبهای سنتی مدیریت پروژه دیگر مناسب سرعت بالای توسعه نیستند. آنها نتیجه گرفتند: “آنچه امروز نیاز داریم، نوآوری مداوم در دنیای تغییرات مداوم است.”
در ادامه توضیح دادند که چگونه شرکتهای بزرگ مانند هوندا و IBM با اجازه دادن به گروههای کوچک تیمهای خودمختار و بدون نظارت دقیق، به موفقیت دست مییابند. آنها این روش جامع را به اسکرام در راگبی تشبیه کردند، یعنی توپ را در حالی که به عنوان یک واحد در زمین حرکت میکند، درون تیم خود پاس میدهند!
از آن زمان تاکنون موارد زیادی دستخوش تغییر شده است، جهان سریعتر و بیش از آنچه فکر میکنید رقابتی شده است. مدلهای کوچک و خودمختار Takeuchi و Nonaka که محصولات کاملی را ارائه میدهند، همچنان در قالب اسکرام هستند.
Scrum زیر مجموعه Agile است. در واقع اسکرام یک چارچوب فرآیند سبک برای توسعه چابک و یکی از پرکاربردترین هاست.
چارچوب فرایند چیست؟
مجموعه خاصی از اقدامات است که برای سازگاری فرآیند با چارچوب میبایست دنبال شوند. به عنوان مثال چارچوب فرآیند اسکرام مستلزم استفاده از چرخه های توسعهای به نام Sprints است، چارچوب XP (Extreme Programming چیست؟) به برنامه نویسی جفت وغیره نیاز دارد.
سبک به این معنی است که سربار فرآیند تا حد ممکن کوچک نگه داشته می شود تا زمان تولید مفید برای انجام کار مفید را به حداکثر برسانید.
یک فرآیند اسکرام نسبت به سایر مفاهیم چابک با مفاهیم و شیوه های خاص متمایز می شود که به سه دسته نقشها، مصنوعات و جعبههای زمان تقسیم می شود.
تاریخچه اسکرام
متدولوژی اسکرام در سال 1986 در کشور ژاپن توسط Hirotaka Takeuchi و Ikujiro Nonaka برای اولین بار اختراع شد. Scrum در دهه 90 میلادی توسط Ken Schwaber و Jeff Sutherland توسعه داده شد و به عنوان یک متدولوژی رسمی جهت تولید محصولات نرم افزاری شناخته و به کار گرفته شد.
فرآیند اسکرام به یک سازمان کمک میکند تا:
- کیفیت نهایی کار افزایش دهد.
- با تغییر بهتر کنار بیاید (انتظار تغییرات را داشته باشد).
- ضمن اینکه زمان کمتری برای ایجاد آنها صرف می شود، تخمین های بهتری ارائه گردد.
- کنترل روی برنامه و وضعیت پروژه بیشتر باشد.
3 نقش اصلی اسکرام
- مالک محصول از مشتری حمایت میکند، فایلهای موجود در محصول را مدیریت کرده و به اولویتبندی کارهای انجام شده توسط تیم توسعه کمک میکند.
- استاد اسکرام یا اسکرام مستر (scrum master) به تیم کمک میکند تا اصول Scrum را رعایت کنند.
- تیم توسعه کاری که باید انجام شود را انتخاب کرده و سبب رشد شده، این موضوع مسئولیتپذیری پاسخگویی جمعی را نشان میدهد.
اسپرینت (Sprint) در اسکرام چیست؟
در اسکرام دورههای زمانی یا iteration داریم که در آنها محصول نهایی پروژه به تدریج کامل میشود. این دورهها و سیکلهای زمانی را در به اصطلاح sprint مینامند. اسپرینت در واقع یک محدودهی زمانی با هدف یا اهداف کوتاه مدت مشخص است. از مجموع اسکرامها یک اسپرینت (Sprint) بوجود می آید و از مجموع این اسپرینتها کل فرایند توسعهی نرمافزار تشکیل می شود. داشتن اسپرینت های هدفمند یکی از ویژگی های نرم افزار مدیریتی است.
تفاوت اسکرام و کانبان
اشتباهی که معمولا در مورد این دو وجود دارد این است که اسکرام و کانبان را دو روی یک سکه مطرح می کنند، در حالی که هر کدام از آنها یک فریم ورک متفاوت برای متدولوژی Agile هستند.
اسکرام چارچوب ساختاری از پیش تعریف شده ای دارد در حالی که Kanban ساختار کمتری دارد و براساس لیستی از مواردی است که باید انجام شود.
به طور کلی، اسکرام بر پایه اسپرینتها و مدیریت زمانی تسکها است در صورتی که در کانبان اولویت تسکها از اهمیت بالایی برخوردار است و همه چیز بر پایه اولویتهاست.
در واقع در متد کانبان همه چیز بر پایه بکلاگ و اولویت تسکهاست و مانند Scrum که زمانبندی پروژه در آن از اهمیت ویژه ای برخوردار است، ساختار و نقشهای متفاوت و مشخصی ندارد.
درک بهتر چارچوب Scrum
- صاحب محصول یک بکلاگ ایجاد میکند (لیست خواسته هایی است که باید در پروژه اولویت بندی شود).
- تیم Scrum یک جلسه برنامه ریزی (اسپرینت) را برگزار میکند که در آن کارهای لازم برای تکمیل موارد در لیست خواسته ها به قطعات کوچک و با قابلیت کنترل بیشتر تقسیم میشود.
- این تیم یک اسپرینت بکلاگ را ایجاد میکند و برنامه ریزی برای اجرای آن را انجام میدهد.
- تیم تصمیم میگیرد برای هر اسپرینت یک مدت زمان تعیین کند (معمول ترین فواصل احتمالاً دو هفته است).
- تیم هر روز برای یک جلسه کوتاه اسکرام دور هم جمع میشوند که اغلب به عنوان Stand Up Daily و اختصارا daily نامیده میشود) که در آن اطلاعات هر یک از اعضای تیم به روز میشود، و آنها به تیم و مدیر پروژه در ارزیابی پیشرفت پروژه کمک میکنند).
- استاد اسکرام (scrum master) تیم را راهنمایی کرده و آنها را متمرکز و با انگیزه نگه میدارد.
- ذینفعان و صاحب محصول در پایان هر دو بازبینی انجام میدهند.
این چرخه ای است که تیم اسکرام در پروژه توسعه محصول دنبال میکند. سه نقش فوق الذکر یعنی دارنده محصول، تیم اسکرام و اسکرام مستر در کنار هم نقش اصلی را در اجرای این چارچوب بازی میکنند.
مزایا و معایب مدیریت پروژه اسکرام
مزایا
در اینجا دلیل محبوبیت امروزه این چارچوب آمده است:
- اسکرام می تواند به تیم ها کمک کند تا تحویل پروژه را سریع و کارآمد انجام دهند.
- اسکرام استفاده موثر از وقت و پول را تضمین میکند.
- پروژه های بزرگ به اسپرینتهای ساده و قابل کنترل تقسیم میشوند.
- توسعه محصول به همراه آزمایش آن در دوره اسپرینت انجام میشوند.
- در توسعه پروژههای سریع بسیار موثر عمل میکند.
- اعضا از طریق جلسات Scrum نسبت به پروژه آگاهی بسیار بالایی پیدا میکنند.
- اسکرام با چابکی، بازخورد مشتریان و ذینفعان را میپذیرد.
- اسپرینتهای کوتاه تغییرات بر اساس بازخورد را خیلی راحت تر امکان پذیر میکنند.
- تلاش فردی هر یک از اعضای تیم در جلسات روزانه اسکرام قابل مشاهده است.
معایب
اما مانند هر چارچوب، اسکرام نیز معایب کمی دارد.
هیچ چیز کامل نیست و روش Scrum نیز از این قاعده مستثنی نیست. در برخی موارد، اسکرام با سایر تکنیکهای مدیریت پروژه ترکیب شده است که می تواند به رفع برخی از این اشکالات کمک کند و به ما جهت داشتن نرم افزار مدیریت پروژه جامع و بدون ایراد کمک کند.
- اسکرام به دلیل عدم وجود تاریخ پایان مشخص، اغلب منجر به خزش دامنه یا به عبارتی لغزش در مدیریت محدوده پروژه می شود.
- پذیرش چارچوب اسکرام در تیم های بزرگ چالش برانگیز است.
- این چارچوب فقط با اعضای باتجربه تیم می تواند موفق باشد.
- جلسات روزانه گاهی اعضای تیم را نا امید میکند.
- اگر هر یک از اعضای تیم در وسط پروژه برود، می تواند تأثیر منفی زیادی بر روی پروژه بگذارد.
- تضمین کیفیت تا زمانی که تیم فرآیند تست تهاجمی را پشت سر نگذارد دشوار است.
اسکرام چگونه کار می کند؟
در طی یک Sprint که معمولاً یک دورهی دو تا چهار هفتهای هست (البته طول دوره را خود تیم مشخص میکند) اعضاء یک محصولِ قابل استفاده و قابل ارائه را به تدریج تولید میکنند.
در اسکرام شما هر دو هفته کدها و عملکردها(functionality) را به مشتری خود تحویل می دهید. بعد از خاتمه یک sprint، اعضای تیم در جلسهای با صاحبان محصول و سایر ذینفعان پروژه، نشان میدهند که چه انجام دادهاند و چطور از نسخه جاری میشود استفاده کرد.
چرا Scrum را باید انتخاب کرد؟
دلایل محبوبیت چارچوب اجرای Scrum در فناوری عبارت اند از:
اولین و مهمترین نکته مرتبط به مشتریان خوشحال می شود: تاکنون در مورد رضایت مشتری صحبت شده اما اسکرام یک قدم جلوتر بوده و بر ارائه لذت تمرکز میکند.
دومین اصل مرتبط به بهبود بازگشت سرمایه است: اکثر پروژهها شاهد کاهش هزینهها و نتایج سریع تر بودهاند که این امر به نوبه خود اعتماد به نفس مشتریان را بالا برده و تیمها را ارتقا میبخشد.
دلیل مهم بعدی پشتیبانی مدیریت از چارچوب اجایل و فلسفه آن در زمینه توانایی تیمها برای مدیریت همزمان چند پروژه است. وقتی درباره اتخاذ اجایل صحبت میکنیم، نباید آن را فقط یک رویکرد پایین به بالا دانست بلکه اجایل در تمامی جهات حرکت می کند و بیشتر از سمت بالا به پایین متمرکز است.
وقتی فقط روی کاغذ صحبت میکنیم این موارد کوچک به نظر میرسند اما اینها به معنای واقعی مزایای بزرگی هستند که استفاده از اسکرام، میتواند منجر به بروز این مزایا شود.
اگرچه در مورد مزایای اسکرام تا کنون بارها صحبت شده است، نباید آن را با عصای جادویی اشتباه گرفت که میتواند همه مشکلات را درمان کند. ممکن است سناریوهایی وجود داشته باشد که رویکرد Agile مناسب محصول شما نباشد.
بسیار اهمیت دارد که تشخیص دهید چابک راهی درست برای ایجاد محصول شماست یا خیر!
اگر مدیریت عالی با تغییر همسو شود و آن را با اهداف خود ادغام کند، این رویکرد چابک معجزه خواهد کرد! چرا که هدف اسکرام جلوگیری از شکست های معمول در حین فرایند تولید و توسعه است.
بوسیله اسکرام می توان از حداکثر توان و خلاقیت تیم تولید بهره برد.