اسکرام، راهی ساده برای مدیریت پروژههای پیچیده
اسکرام (scrum) یکی از روشهای حل پروژه است که میتواند در بسیاری از پروژههای نرم افزاری و پروژههای پیچیده در حوزههای دیگر استفاده شود. بر اساس گزارشهای انجام شده بیشتر از ۷۰ درصد از گروههایی که در زمینه تولید نرم افزار فعالیت میکنند، از این چارچوب برای انجام فعالیت خود استفاده مینمایند. این متدولوژی پروژههای بزرگ را به بخشهای کوچکتر تقسیم کرده و تیم را مجاب میکند تا آنها را در مدت زمان کوتاه مشخص شده انجام دهند. سپس به صورت هر روزه بر ظرفیت تیم، روند پیشرفت کار و رسیدن به اهداف کوتاه مدت نظارت دارد تا محصولی باکیفیت و با بهرهوری زیاد به کارفرما ارائه شود.
اسکرام چیست؟
اسکرام یک چارچوب بسیار مهم و کاربردی است که برای کنترل و مدیریت پروژههای مختلف به کار میرود. این متد یک چارچوب توسعه چابک یا اجایل است که ابتدا برای پروژههای توسعه نرم افزار معرفی شد و انجام آنها را از طریق فرآیندهای تکراری و افزایشی ساده کرد، سپس این مفهوم و به نوعی تکنولوژی به سایر حوزهها وارد شد و برای انجام هر پروژهای مورد استفاده قرار گرفت. در دنیای پر سرعت توسعه نرم افزار، اسکرام مانند رهبر ارکستر است. به عنوان مثال، یک پروژه نرم افزاری را به عنوان یک سمفونی در نظر بگیرید که تعداد زیادی از نوازندگان با هم کار می کنند تا نتیجهای هماهنگ ایجاد کنند. اسکرام روشی است که همه را هماهنگ نگه میدارد و تضمین میکند که هر یک از اعضای تیم نقش خود را به طور مؤثر ایفا مینماید.
این چارچوب زمانی کاربرد دارد که دانش اولیه ما در مورد حل یک مسئله به اندازه کافی نبوده و دادهها به تدریج به آن اضافه میشوند. استفاده از این روش برای حل پروژههای مختلف به این صورت است که ابتدا نیازمندیهای اولیه برای حل پروژه در نظر گرفته میشود و سپس با تبادل نظر با مشتری و دریافت بازخورد نسبت به بخشهای انجام شده پروژه، تکمیل میگردد. در واقع میتوان از اسکرام به عنوان چارچوبی بسیار مهم یاد کرد که به کمک آن میتوان مسائل پیچیده را حل کرده و محصولات و خدمات باکیفیتتری را ارائه نمود.
اصول اولیه اسکرام چیست؟
اسکرام از روشها و نقشهای مختلفی تشکیل میشود، اما دارای شش اصل پایه و اساسی است که باعث میشود افراد بیشتری بخواهند در انجام پروژههای خود از آن بهره ببرند. این اصول شامل موارد زیر هستند:
- کنترل تجربی فرآیند که منجر به سه ویژگی زیر برای تصمیم گیری به جای برنامه ریزی اولیه میشود.
- شفافیت یا Transparency: تمام بخشهای مختلف انجام فعالیت که بر خروجی نهایی پروژه تأثیر میگذارد باید کاملاً واضح و مشخص باشند. این شفافیت برای افرادی که بخشهای مختلف پروژه را کنترل میکنند، قابل مشاهده است.
- وارسی یا Inspection: تمام بخشها و جنبههای مختلف پروژه باید به صورت مرتب بررسی شوند و هرگونه مشکل و انحرافی به سرعت تشخیص داده شود.
- انطباق یا Adaptation: اگر در مرحله بررسی تشخیص داده شود که یک یا چند جنبه از فعالیتی که در حال انجام است قابل قبول نیست و بر نتیجه نهایی محصول تأثیر میگذارد، باید به سرعت تغییر کند.
- اصل خودسازماندهی بر این مفهوم بنا شده است که کارمندان چیزی بیش از تخصص فنی خود برای ارائه دارند.
- اصل همکاری، ذینفعان و توسعه دهندگان را گرد هم میآورد تا بیشترین ارزش را ارائه دهند.
- اصل اولویتبندی مبتنی بر ارزش است و تضمین میکند که آنچه برای مشتری ارزشمندتر است، ابتدا تکمیل میشود تا بازده سرمایهگذاری افزایش یابد.
- اصل Time-boxing تشخیص میدهد که زمان حیاتیترین عامل در مدیریت و اجرای پروژههای اسکرام است.
- اصل توسعه مکرر امکان تصحیح دوره انجام پروژه را فراهم میکند، زیرا همه افراد درک بهتری از آنچه باید به عنوان بخشی از پروژه ارائه شود، پیدا میکنند.
فریمورک یا چارچوب اسکرام چیست؟
با توجه به نظرات مختلف در مورد اسکرام میتوان آن را به عنوان چارچوبی برای حل پروژههای مختلف معرفی کرد. کن شوئبر که ابداع کننده اسکرام بود همواره از عبارت فریمورک برای اسکرام استفاده میکرد که به این معنی است که اسکرام یک چارچوب کلی برای انجام پروژههاست و در مورد جزئیات حل پروژه صحبت نمیکند.
در واقع این فریمورک کلیاتی برای انجام پروژه ارائه میدهد. پس از آن مدیر تیم به همراه اعضا باید در مورد جزئیات انجام آن صحبت کنند. در این چارچوب هیچ باید و نبایدی برای پروژه در نظر گرفته نمیشود. تنها به عنوان پیشنهاد مطرح شده و اعضای تیم تصمیم میگیرند که به چه صورت پروژه را پیش ببرند. میتوان گفت فریمورک یا چارچوب اسکرام روشی برای توسعه و بهبود فرایند کنترل و مدیریت پروژه است که خطرات و مشکلات مختلف را در مسیر انجام پروژه از بین میبرد.
آنچه اسکرام تولید میکند
برای آشنایی با هر روش و چارچوب و استفاده از آن باید ابتدا با مفاهیم اصلی در این زمینه آشنا شوید. در اسکرام نیز مفاهیمی میسازید تا بتوانید از آن به نحو احسن استفاده کنید. این ساختهها عبارتند از:
اجایل یا Agile
اجایل به روشهای مختلفی برای انجام پروژه گفته میشود که در آنها تمام مراحل کار بر اساس تعامل با مشتری انجام میگیرد. این کار باعث میشود پروژه نهایی کیفیت بالایی داشته و میزان رضایت مشتری افزایش یابد. یکی از روشهایی که در اجایل استفاده میشود، روش اسکرام است.
بکلاگ محصول یا Product Backlog
تمام فعالیتها و کارهایی که برای توسعه محصول باید انجام گیرد، بر اساس اولویت در لیستی با عنوان بکلاگ محصول قرار میگیرد. به عنوان مثال در پروژه تغییر و ارتقاء نرمافزار، بکلاگ محصول شامل موارد مختلفی از جمله تغییر یک یا چند ویژگی در نرم افزار، رفع باگهای نرم افزار، اضافه کردن ویژگی جدید به نرمافزار و … میشود. تمام کارهای موجود در این لیست بر اساس اولویت قرار میگیرند.
اسپرینت پلنینگ یا Sprint Planing
در چارچوب اسکرام برای انجام پروژه آن را به بخشهای مختلف تقسیم میکنند. برای هر بخش مدت زمانی را معین کرده تا در آن زمان، بخش مشخص شده را تکمیل و در اختیار مشتری قرار دهند. بازههای زمانی که معمولاً دو هفته تا چهار هفته هستند، اسپرینت نامیده میشوند.
تمام افراد حاضر در تیم باید وظایف خود را به طور کامل در بازه زمانی مشخص شده تکمیل کنند. در غیر این صورت پروژه در موعد مقرر تکمیل نشده و مشکلات و بینظمیهای مختلفی به وجود میآید.
هدف اسپرینت یا Increment
افزایش یا هدف اسپرینت یک راه پله بتنی به سمت هدف محصول است، به گونهای که هر هدف به اهداف قبلی اضافه میشود و اطمینان میدهد که همه اهداف قبلی به دست آمدهاند و با هم کار میکنند. لازم به ذکر است، میتوان چندین هدف را برای اسپرینت در نظر گرفت.
ارتباط Agile و اسکرام چیست؟
اجایل به مجموعه اصول و ارزشهایی گفته میشود که بر اساس آنها پروژههای مختلف انجام میشود. فرایند مدیریت پروژه اجایل باعث ایجاد نظم در انجام پروژه و ایجاد انگیزه در افراد میشود. روش اجایل یا چابک دارای چارچوبهای مختلفی است که مهمترین و پرکاربردترین آنها چارچوب اسکرام است.
در واقع اسکرام یک بستر مناسب برای استفاده از روش اجایل است و بیشترین کاربرد را در میان چارچوبهای مختلف اجایل دارد. اجایل فعالیتها و تمایلات مختلف یک گروه را توصیف میکند. چارچوب اسکرام دارای تعریفها و اصطلاحات بیشتری است، اما از تمام اصول اجایل پیروی میکند. روش چابک و اسکرام برای توسعه نرم افزار ساخته شدهاند؛ اما استفاده از مفاهیم آنها برای انجام پروژههای مختلف استفاده میشود.
نقشهای اسکرام (scrum roles)
در اسکرام نقشهای متفاوتی وجود دارند که در ادامه معرفی میشوند.
- صاحب محصول اسکرام: مالک محصول در درجه اول مسئول نمایندگی مشتری و مدیریت کارهای عقب مانده اولویتبندی شده است. او انتظارات مشتری را میداند و آنها را به حجم کاری برای تیم تبدیل میکند.
- اسکرام مستر: میتوانید نقش اسکرام مستر را به یکی از اعضای ارشد تیم اختصاص دهید، زیرا او بر پروژه نظارت کرده و به عنوان مدیر پروژه عمل میکند. او فردی است که فعالیت افراد را در اسپرینتهای مختلف بررسی کرده و بر نحوه انجام وظایف افراد نظارت میکند.
- تیم اسکرام: تیم اسکرام شامل افراد حرفهای آموزش دیدهای است که میتوانند کارهای لازم را طبق دستور مالک محصول و اسکرام مستر انجام دهند. تیم تمرینات را به صورت تدریجی انجام میدهد که به آن اسپرینت میگویند و معمولاً بین دو تا چهار هفته طول میکشد.
رویدادهای اسکرام
رویدادها در اسکرام بسیار مهم بوده و مهمترین اساس این چارچوب هستند. به همین دلیل تمام اعضای تیم باید به آنها متعهد باشند.
اسپرینت
همان بازه زمانی که معمولاً دو تا ۴ هفته است و در این مدت باید فعالیت مشخص شده به درستی انجام شود و نتیجه کار به مشتری ارائه گردد. اسپرینتها تاریخ شروع و پایان ثابت دارند و پس از اتمام هر کدام باید بلافاصله اسپرینت بعدی آغاز شود.
اسپرینت پلنینگ
همانطور که در بالا توضیح داده شد اسپرینت پلنینگ به جلسات برنامهریزی گفته میشود که برای انجام کارهای مخصوص و تعیین وظایف و فعالیتها در اسپرینتهای بعدی برگزار میشود. افراد حاضر در تیم در مورد بخشهای مختلف پروژه بحث و گفتگو کرده و موارد مختلفی که باید بررسی شوند را مشخص میکنند.
اسکرام روزانه
یک جلسه کوتاه روزانه که مدت آن در حدود ۱۵ دقیقه است و افراد فعالیتهای روز بعد را مشخص میکنند. در این جلسه گزارش فعالیت یا صحبتی در مورد نحوه انجام فعالیت ارائه نمیشود و فقط جهت تعیین فعالیتهای روز بعد انجام میگیرد.
نقد و بررسی اسپرینت
جلسهای برای بررسی فعالیت انجام شده در هر اسپرینت است. در این جلسه افراد تیم به همراه مشتری در مورد بخشی از کار که در آن اسپرینت انجام شده، صحبت میکنند. در نهایت مشتری یا کار را میپذیرد که تیم به سراغ اسپرینت بعدی میروند، یا کار را نمیپذیرد که تیم باید موارد مورد نظر را تغییر دهند.
نگاه به گذشته یا Retro
جلسهای با عنوان Retro برگزار میشود و مدیر اسکرام به بررسی فعالیتهای انجام شده توسط اعضای تیم میپردازد. اگر یک یا چند نفر از اعضای تیم نتوانستهاند وظیفه و مسئولیت خود را به درستی انجام دهند، مربی با آنها صحبت کرده تا دلیل انجام نشدن آن را متوجه شود. این مفهوم فرصت خوبی برای ارتباط بهتر اعضای تیم با مدیر اسکرام است که میتواند باعث افزایش سرعت انجام پروژه شود.
چگونه از اسکرام استفاده کنیم؟
همانطور که گفته شد اسکرام چارچوبی مهم برای توسعه و انجام فعالیتهای مختلف است. استفاده از این روش باعث میشود فعالیت تیم کاملاً انعطافپذیر بوده و در مسیر درست قرار بگیرد. برای استفاده از متد اسکرام در هر پروژهای نکات مهمی وجود دارد که باید رعایت کنید. اما در مجموع روال کار اسکرام به صورت زیر است:
- ابتدا باید بکلاگ محصول یعنی همان فعالیتهایی که برای تولید محصول لازم است، تعیین شود. با برگزاری جلسهای به بحث و گفتگو با مشتری پرداخته و نیازها و اهداف را به درستی مشخص کنید. تمام اهداف را اولویتبندی کنید تا بتوانید در بازههای زمانی مشخص به اهداف دست یابید و در نهایت هدف نهایی از انجام پروژه حاصل شود.
- مشتری به همراه تیم توسعه دهنده باید محدوده اسپرینتها را تعیین کنند و برنامهریزی برای انجام فعالیتها را انجام دهند.
- جلسات اسکرم روزانه برگزار کنید. برگزاری این جلسات اهمیت ویژهای در استفاده از چارچوب اسکرام دارد. این جلسات معمولاً ۱۰ تا ۱۵ دقیقهای بوده و اعضای تیم به بحث و گفتگو میپردازند. فعالیتهایی را که انجام دادهاند بیان میکنند، برای انجام کارهای مختلف در روزهای آینده برنامهریزی میکنند، در مورد مشکلات و موانع به وجود آمده بحث میکنند و در نهایت با همفکری به سمت هدف نزدیکتر میشوند.
- در نهایت با پایان یافتن اسپرینت، تیم نتیجه نهایی کار خود را به مشتری تحویل داده و از او بازخورد میگیرد. اگر مورد تأیید نباشد، به مرحله دو بازگشته و دوباره فعالیتها را برنامهریزی و انجام میشود.
- در پایان هر اسپرینت نگاهی به گذشته داشته و در مورد نوع فعالیت و مشکلاتی که در بخشهای گذشته پیش آمده صحبت کنید. این کار باعث میشود در آینده با مشکلات کمتری روبرو شده و در صورت بروز موانع بتوانید آنها را برطرف کنید.
فواید اسکرام چیست؟
این چارچوب باعث میشود روال کار به صورت کاملاً شفاف و مشخص باشد. به این صورت کمتر پیش میآید که افراد با مشکلات پیشبینی نشده مواجه شوند. در صورت بروز این موارد نیز با برنامهریزی انجام شده به راحتی میتوان مشکلات را برطرف کرد. استفاده از این چارچوب مزایای زیر را برای سازمان و تیم انجام دهنده پروژه به همراه دارد:
- تولید محصولات با کیفیت بالاتر
- انجام بازاریابی در زمان کمتر
- افزایش میزان رضایت سهامداران
- افزایش میزان بهرهوری
- افزایش میزان رضایت کارمندان
اسکرام و تولید نرم افزارهای اداری و سازمانی
بهترین زمان برای استفاده از چارچوب اسکرام زمانی است که با پروژه و فعالیت پیچیدهای روبرو میشوید. به این صورت میتوانید پروژه را به بخشهای کوچکتر تقسیم کرده و با موفقیت به پایان برسانید. امروزه بسیاری از شرکتهای تولید کننده نرم افزارهای اداری و سازمانی از متدولوژی اسکرام برای تولید نرم افزارها و بروز رسانی درخواستهای مشتریان در واحد فنی و توسعه استفاده میکنند که نرم افزار اتوماسیون اداری و نرم افزار بایگانی از جمله نرم افزارهای تحت وب تولید شده به روش scrum میباشند. شاید در ابتدا هماهنگی افراد برای استفاده از این روش سخت باشد، اما در نهایت و با تمرین و تکرار، این چارچوب به یک فرهنگ برای انجام فعالیتهای مختلف در سازمان تبدیل میشود. به این صورت رضایت شغلی کارکنان و اعضای تیم بالا رفته و کیفیت فعالیتها و پروژههای انجام شده نیز افزایش مییابد.