بهبود بازدهی به روش اسکرام
اسکرام یک متدولوژی از نوع توسعهی چابک نرمافزار (Agile) است. در این مقاله میخواهیم روش استفاده از این متدولوژی را برای بهبود بازدهی، بررسی کنیم. برای پیادهسازی عناصر چابک در کارتان، چندین ابزارِ معروف را معرفی و پیشنهاداتی را ارائه خواهیم کرد.
روش اسکرام میتواند هم به تیمهای بزرگ و هم به تیمهای کوچک، برای رسیدن به اهدافشان کمک کند. همچنین برای جلب رضایت مشتریان و توسعهی بهترِ روابط تیمی مفید است. اما چگونه؟
قبل از هر چیز، باید بدانیم که اسکرام چیست.
اسکرام روشی است که برای توسعهی نرمافزار به وجود آمده است. اسکرام یک چارچوب یا فریمورک (Framework) است که افراد میتوانند با استفاده از آن مسائل پیچیده را با استفاده از آن حل کنند. این در حالی است که بهصورت خلاقانه، به تولید محصول با بالاترین ارزش ممکن میانجامد. یعنی در این روش، محصولاتِ کارآمد و باارزشی تولید خواهند شد که پیشرفت قابل قبولی خواهند داشت. اسکرام رویکردی تکرار شدنی و افزایشی دارد که پیشبینی و کنترلِ ریسک را بهینه میکند. پیادهسازی فرآیندهای کنترلی بر سه اصل استوار هستند: شفافیت (Transparency)، بازرسی (Inspection) و سازگاری (Adapttion).
روش کار به چه صورت است؟ خیلی راحت! احتمالاً شما هم تاکنون از روش اسکرام در کارتان استفاده کردهاید. فقط ممکن است با تغییرات جزئی، یا اسامی دیگر از آن استفاده کرده باشید. همهچیز در اسکرام بر مبنای اهداف و دستاوردهای مشخصشدهی قبلی است.
عناصر اصلیِ اسکرام
در ادامه، دو عنصر اصلیِ اسکرام که میتوانید بهراحتی در مدیریت فعالیت خودتان قرار دهید را بررسی میکنیم.
تعریف بکلاگ (Backlog) محصول
منظورمان از بکلاگ اهدافی است که محصول یا سرویس باید در آن جهت توسعه پیدا کند. بهصورت سادهتر، یعنی لیستی از چیزهایی که بر اساس بودجه و نیازهای مشتری قصد دست یافتن به آنها را داریم.
سازماندهی کارها با اسپرینتها (Sprint)
هر فازِ پروژه که پیشرفت میکند یک اسپرینت است که به مشتری هم ارائه میشود. به این صورت پیشرفتِ دائمیِ کار به مشتری اثبات میشود. هر اسپرینت بر اساس اهمیت، اولویتبندی میشود. به این صورت که یا ضروری است و باید در اولویت قرار بگیرد؛ یا به بکلاگ دیگری اختصاص مییابد. تقسیم کردن محصول نهایی به چندین اسپرینت به شما کمک میکند که از طریق فرآیندهای تکرارشونده به محصول نهاییِ دلخواه دست پیدا کنید.
اعضای تیم در رویکرد اسکرام
یکی از قسمتهای مهمِ دیگر درروش اسکرام، اعضای تیم و نقش هرکدام در پروژه است. در رویکرد اسکرام یک تیم به سه قسمت تقسیم میشود:
صاحب محصول
صاحب محصول (Product Owner) کسی است که کسبوکار را بهتر از همه میشناسد. او کسی است که تصمیم میگیرد در هر اسپرینت چه بهبودها یا تسکهایی (Tasks) باید انجام شوند. صاحب محصول درواقع راه ارتباط بین مدیران، سرمایهگذاران، مشتریان و تیم توسعه است. صاحب محصول کسی است که وضعیت بازار و محصول را بهتر از همه میداند و تصمیم نهایی را برای محصول میگیرد.
تیم توسعه
پیشنهاد میشود تیم توسعه از 3 تا 9 نفر تشکیل شود. اعضای این تیم باید توانایی عملکرد چندگانه داشته باشند. اما هر عضو یک نقش مشخص در تیم دارد که کار مجموعهی این نقشها کار پروژه را به سرانجام میرساند. توسعهدهندههای سمت کاربر یا فرانتاند (Front-End)، توسعهدهندههای سمت سرور یا بکاند (Back-End) و مسئولِ تضمین کیفیت (QA) از نقشهای موجود در پروژه هستند. نکتهی جالب دربارهی تیمهای اسکرام، خود مدیریتی آنها است. در این تیمها بر اساس اولویتهایی که صاحب محصول تعیین کرده است؛ هر نفر خودش تصمیم میگیرد که در هر اسپرینت وظایفش را چگونه انجام دهد. درواقع به دور از هرگونه سلسله مراتبی، کار بهصورت تیمی انجام میشود.
مدیر اسکرام یا اسکرام مستر (Scrum Master)
وقتی فرآیندی از روال معمول خودش خارج میشود و به روش اسکرام انجام میشود؛ طبیعی است که از طرف مشتریان، یا حتی اعضای تیم با مقاومتهایی روبرو شود. اینجا جایی است که اسکرام مستر نقش پیدا میکند. او مسئول این است که از اجرای درستِ کارها بر اساس برنامهریزی اسکرام، توسط افراد تیم اطمینان حاصل کند. همچنین او باید وقتهایی که تیم در انجام هر اسپرینت به بنبست میخورد؛ با رهبری تیم، موانع را رفع کند.
شما میتوانید بر اساس اندازهی شرکت و تعداد اعضای تیم کاریتان، بهراحتی نقشها را با کارهای موجود تطبیق دهید. برای مثال، در یک تیم کوچک، یک مدیر پروژه میتواند وظیفهی نقشهای مدیر اسکرام و صاحب محصول را بر عهده بگیرد.
آگاهی همهی کارکنان حاضر در پروژه، از روش اسکرام و مزایای آن ضروری است. برگزاری یک ورکشاپ برای اعضای تیم و توضیح نحوهی بهکارگیری این روش برای آنها، میتواند یک نقطهی شروع عالی باشد. این کار را میتوان مهمترین کار اسکرام مستر در زمانِ شروعِ کار پروژه دانست.
جلسات کاری و میتینگها
علاوه بر آنچه گفته شد، جلسات کاری هم بسیار مهم هستند. با توجه بهاندازهی بزرگی تیم، جلسات میتوانند روزانه، هفتگی یا به ازای هر اسپرینت یکبار باشند. مناسبترین تعداد جلسات برای هر تیم را بهصورت تجربی و در طول زمان میتوان فهمید. اما بهشدت توصیه میشود که هر نفر پیشرفتهای محقق شده را که بهصورت روزانه با سایرین به اشتراک بگذارد. درروش اسکرام دو نوع جلسه داریم که برای آشنایی بیشتر برای پیادهسازی، آنها را برای شما مطرح میکنیم:
جلسات بررسی اسپرینتها
این جلسات در پایان اسپرینتها برگزار میشوند. هدف این جلسات، رسیدگی به وضعیت پیشرفت بکلاگ محصول است. در جلسهی بررسی اسپرینت، تیم اسکرام و دستاندرکاران پروژه دربارهی آنچه در آن اسپرینت انجامشده است صحبت میکنند.
جلسات بازنگری اسپرینتها
این جلسات فرصتی است که تیم اسکرام وضعیت خودش را بررسی کند. تیم اسکرام در این جلسات برای پیشرفت خودش برنامهریزی میکند. این برنامهها باید در اسپرینتهای بعدی اجرا شوند. این جلسات معمولاً بعد از جلسهی بررسی اسپرینت و قبل از برنامهریزی برای اسپرینت بعدی برگزار میشود.
ابزارهایی برای استفاده از اسکرام
هر روش چابک برای افزایش بازدهی به ابزارهای اولیهای برای برقراری ارتباط مؤثر بین اعضای تیم، جهت انجام کارها نیاز دارد. چند ابزار معروف را در ادامه بررسی میکنیم:
Trello و Jira
با پلتفرمهای Trello و Jira کنترل بهتری روی پروژههای خودتان خواهید داشت. سازماندهی در این ابزارها با روش Kanban انجام میشود. به این صورت که کارها را با بکلاگ سازماندهی کرده و انجام دهید. در این روش هر کارت یک تسک است که یا باید انجام شود؛ یا در حال انجام است یا انجامشده است. این سازماندهی به تیم کمک میکند تا یک دید کلی از وضعیت پروژه داشته باشند. همچنین تسکهای در حال انتظار برای انجام شدن را بدانند. Kanban بهطور گستردهای در روش اسکرام استفاده میشود. هرچند در خارج از اسکرام هم بهطور مستقل قابلاستفاده است. در این پلتفرم ممکن است بخواهید یک قسمت جدید هم برای بررسی اضافه کنید. برای مثال میتوانید برای مسئولِ تضمین کیفیت (QA) ستون جدیدی در بررسیها یا حتی در هر اسپرینت ایجاد کنید.
Jenkins
یک نوع از نرمافزارهای متنباز (Open Source) است که پیوسته، یکپارچه گرا است. این رویکرد به رسیدن به اهداف متفاوتی کمک میکند. این اهداف شامل داشتن فیدبک زودهنگام، پرهیز از مشکل ادغام، فعال کردن توانایی بازسازی در تیم و اطمینان از کار کردن نرمافزار هستند.
Git
یکی دیگر از پلتفرمهای کاملاً استاندارد برای استفاده از روش چابک در برنامهنویسی، Git است. در کنار مزیتهای انعطافپذیری و توزیعشدگی، چندین کاربرد کلیدی در Git وجود دارد که پیادهسازی روش چابک را حمایت و تقویت میکند.
امیدواریم این مطلب برای شما مفید بوده باشد. برای دیدن نتایج خیلی خوب در پروژههای خودتان که با استفاده از بعضی عناصر روش اسکرام به دست خواهند آمد؛ استفاده از آن را شروع کنید.