آموزش اسکرام؛ قسمت دوم: مزیتها و ارزشها
در دومین قسمت از آموزش مبانی اسکرام، ابتدا نگاهی میاندازیم به اصولی که اجرای آنها در شرکت ضروری است. همانطورکه در قسمت گذشته گفتیم، مانیفست چابک افراد و تعاملات را درمقایسهبا فرایندها و ابزارها، نرمافزار کاربردی را درمقایسهبا مستندات مشروح، مشارکت با مشتریان را درمقایسهبا مذاکرات قرارداد و واکنش دربرابر تغییرات را درمقایسهبا دنبالکردن طرح ثابت در اولویت میداند. این مانیفست کوتاه، اما قدرتمند پایه و اساس رویکرد چابک و اسکرام را شکل میدهد و اگر دقیقتر در آن تأمل کنیم، متوجه میشویم چرا اجرای اسکرام در شرکت، بسیار فراتر از تغییر سبک توسعه در دپارتمان نرمافزار است.
تقابل اسکرام و مدل واترفال
پیشازاینکه بخواهیم اسکرام را در سازمان اجرا کنیم، باید اطلاعات بیشتری دربارهی پسزمینهی این رویکرد بهدست آوریم و درک کنیم چرا اسکرام را بر رویکردهای سنّتی ارجح دانستهایم. همانطورکه در قسمت اول آموزش اسکرام اشاره کردیم، مشهورترین رویکرد سنّتی توسعه «مدل آبشاری» (واترفال) بود که تا همین اواخر، غالبترین سیستم توسعهی نرمافزار بهشمار میرفت. محدودیت اولیهی مدل واترفال، یعنی روشن و مشخصبودن تمامی الزامها و نیازها از ابتدای پروژه، پیشفرض اشتباهی است.
در سال ۱۹۷۰، وینستون وی. رویس، یکی از دانشمندان علوم کامپیوتر و پیشگامان توسعهی نرمافزار، مدل آبشاری (واترفال) را معرفی کرد. رویس در بخشی از مقالهاش نوشته بود:
به این مفهوم اعتقاد دارم؛ اما اجرای آنچه در این مقاله شرح داده شده، پرمخاطره است و احتمال شکست آن وجود دارد.
در تصویر زیر، ایرادها و اشکالهای رویکرد آبشاری را مشاهده میکنید:
در مدل آبشاری، فقط زمانی میتوانیم به مرحلهی بعدی قدم بگذاریم که مرحلهی فعلی را بهپایان رسانده باشیم. «جمعآوری الزامها» مهمترین مرحلهی هر پروژه است. این امر میتواند مشکلساز باشد؛ چراکه ممکن است مشتریان برخی از جزئیات مهم را از دست دهند. مشکل موجود از دید مشتری این است که او نمیتواند طرح اولیه یا اسکچ محصول نهایی را از سند الزامها یا نیازمندیها تشخیص بدهد.
ازآنجاکه با رویکرد ثابتی جلو میرویم، در بهروزرسانی تغییرات الزامات کسبوکار یا پروژه، با مشکل مواجه میشویم. حتی اگر بتوانیم تغییرات را اعمال کنیم، باید این کار را بدون اصلاح جدول زمانی و بودجهی کلی انجام دهیم. درنهایت، آزمونهای پذیرش کاربر و سیستم فقط در پایان چرخهی عمر پروژه انجام میشود. همچنین، با درنظرگرفتن اینکه تایملاین و بودجهی پروژه ثابت هستند، تصحیح و رفع باگهای شناساییشده دشوار خواهد بود. این درحالی است که اگر در مراحل ابتدایی کار برخی از باگها شناسایی و رفع شوند، نهتنها در زمان پروژه صرفهجویی میشود؛ بلکه کدهای باقیمانده نیز از آسیب مصون میمانند.
درواقع، مدل آبشاری مراحل توسعهی نرمافزار را بهوضوح مشخص و ازهم متمایز میکند؛ بهطوریکه هر مرحله باید پس از تکمیل مرحلهی قبل آغاز شود و بین آنها همپوشانی وجود نداشته باشد. معمولا در شروع هر مرحله، ما با گیت مواجه هستیم. بهعنوان مثال، قبل از اینکه مرحلهی طراحی آغاز شود، مشخصات کار را باید سهامدار ارزیابی و تأیید کند.
برای غلبه بر مشکلات یادشدهی مدل آبشاری، به اسکرام روی میآوریم.
همانطورکه در قسمت قبل توضیح دادیم، اسکرام یکی از زیرمجموعههای محبوب رویکرد چابک و روشی سازگار، سریع، تکرارشونده، پیشرونده و مؤثر است. این فرایند اساسا بهگونهای طراحیشده که در طول پروژه و در تمامی مراحل، سریعا مهمترین و برجستهترین ارزشها را آماده و ارائه کند. بهعلاوه، اسکرام شفافیت ارتباطات را در طول پیشرفت مستمر پروژه حفظ میکند. در تصویر زیر، بهراحتی مشاهده میکنید چگونه کل پروژه به قسمتهای کوچکتر تقسیم میشود و بسیاری از ویژگیها پیش از بهپایانرسیدن چرخهی عمر پروژه، به تیم آزمایشکننده تحویل داده میشوند. ما با بهرهگیری از رویکرد اسکرام میتوانیم پس از هر تعامل و بازخورد ذینفعان مبنیبر تصویب یا لزوم ایجاد تغییرات، محصول نرمافزاری کاربردی ارائه کنیم.
درنهایت، پروژهای که روی آن کار میکنیم، دراصل متعلق به مشتریان است. مشتریان باید آنچه را دریافت کنند که واقعا نیاز دارند و هیچکدام از مشتریان از ابتدای پروژه، دقیقا نمیداند چه چیزی میخواهد.
مزایای استفاده از رویکرد اسکرام
- اسکرام مستلزم مشارکت مداوم اعضای تیم است و همین امر به روابط نزدیکتر و اعتماد متقابل همتیمیها منجر میشود.
- تکمیل کار با استفاده از تعریف «انجامشدن / Done»، به تصحیح توسعه، ادغام، آزمایش و مستندسازی محصول میانجامد.
- برگزاری جلسات روزانهی بازنگری به تیمهای اسکرام اجازه میدهد کارایی و بهرهوری کار با عوامل اسکرام را بهبود دهند.
- محصول نرمافزاری بارهاوبارها و در بازههای کوتاهمدت ارائه میشود.
- پروژه باتوجهبه نیازها و الزامهای مشتری، بررسی و بهروزرسانی میشود.
- درک پروژه آسانتر میشود؛ هرچند شاید پیروی از این فرایند دشوار باشد.
- برگزاری جلسات بررسی اسپرینت با حضور ذینفعان، نتیجه و خروجی اعضای تیم را ارتقا میدهد.
مزایای استفاده از اسکرام برای مشتریان
نکتهی درخورتوجه این است که بهرهگیری از رویکرد اسکرام فقط برای تیم اجرایی و توسعهدهندگان سودمند نیست؛ بلکه مشتریان را نیز منتفع میکند. بهبیان ساده، اسکرام به تولید محصولات و راهحلهای مشتریمحور کمک میکند. برخی از مزایای بالقوهی اسکرام برای مشتریان عبارتاند از:
- بهمنظور جلب رضایت مشتریان، کاستیها و عیبهای کار از مراحل اولیه رفع یا اصلاح میشوند.
- مالک محصول مسئول اعمال تغییرات مدنظر مشتری است و باید این تغییرات را با تعاملات سازنده و مشارکت تیم بهشیوهای اجرایی کند که مشتری راضی شود.
- ارائهی چرخههای کوتاه محصول اعتماد ذینفعان به تیم را افزایش میدهد.
- میدانیم مدل اسکرام براساس تدریج و تکرار پیش میرود و همین امر کیفیت نتایج را افزایش میدهد. هیچچیز بهاندازهی کیفیت محصول تضمینکنندهی رضایت مشتری نیست.
مزایای استفاده از اسکرام برای سازمان
اگر سازمانها در سطح کلی خود، چهارچوب اسکرام را اجرا کنند، از مزایای زیر برخوردار میشوند:
- اسکرام عملکرد خود را درمقابل کیفیت و بودجه و جدول زمانی نشان میدهد؛ یعنی عواملی که بیشازهمه برای سازمانها اهمیت دارند.
- کیفیت بیشتر به افزایش فروش و قیمت منجر میشود. بهعلاوه، دیدگاههای منفی مشتریان را بهحداقل میرساند و هزینهی پشتیبانی را کاهش میدهد.
- تشخیص زودهنگام خطاها و اشتباهها در پروندهها و پروژههای تجاری، حجم کار و بودجهی موردنیاز را کاهش میدهد.
- مشارکت ذینفعان در جلسهی بازبینی اسپرینت، احتمال بهوجودآمدن مسائل پیشبینینشدهی بالقوه را کاهش میدهد.
مزایای استفاده از اسکرام برای مدیرمحصول
- در رویکرد چابک، مدیرمحصول نقش بسیار حیاتی «مالک محصول» را برعهده دارد. او مهمترین کسی است که باید تمرکز خود را بر توسعهی محصول حفظ کند.
- مسئولیت مالک محصول این است که با برآوردهکردن الزامهای پروژه، از رضایت مشتری مطمئن شود.
- برنامهریزی پروژه باید محدود باشد و با همکاری کل تیم انجام شود. مالک محصول احتمالا با همکاری اسکراممستر میتواند این کار را انجام دهد.
- مدیرمحصول باید تأیید کند تمام اعضای تیم قبل از شروع کار، چشمانداز واضحی از استراتژی دارند.
مزایای مالی در اسکرام
- بازخورد منظم از ذینفعان و مشتریان در جلسات بازبینی، به اصلاحات و رفع خطای اولیه منجر میشود و بهتبع، میزان هزینه و زمان صرفشده را کاهش میدهد.
- اگر اسپرینت درحال شکستخوردن باشد، این شکست در میان «تکرار» آسانتر میشود و درنتیجه، هزینهی شکست کاهش مییابد.
- اگر هزینهی اجرایی کم باشد، تیمها حاشیهی سود منابع موجود را افزایش و نرخ سرمایهگذاری را کاهش میدهند.
- مشارکت و تلاش همتیمیها به نتایج بهتر با خطاهای کمتر منتهی میشود.
مزایا استفاده از اسکرام برای تیم توسعه
فرایندها و روششناسی اسکرام تیم توسعه را چندینبرابر منتفع میکند. بهعنوان مثال:
- اسکرام تیم توسعه را قادر میسازد با هدف تحویل مداوم نسخههای بالقوهی محصول (تکرار و تدریج) کار کند که باید در هر اسپرینت تکمیل شود.
- اسکرام کار تیم توسعه را ازطریق جلسات بازبینی اسپرینت بهبود میدهد.
- ازآنجاکه تیم توسعه میکوشد تعهدات هر اسپرینت را برآورده کند، بسیاری از موانع را سریعتر و بهتر برطرف میکند.
- اسکرام به تیم توسعه کمک میکند کار خود را در الگویی ساختاری و ماهرانه مدیریت کند. طبیعتا این امر به افزایش کارایی و بهرهوری تیم منجر میشود.
ارزشها
راهنمای اسکرام اصولا برپایهی سه ستون بنا گذاشته شد: شفافیت و بازدید و سازگاری. این ستونها تداوم همکاری تیمی و سازگاری با تغییرات و احترام به تصمیمات یکدیگر را در طول کار تضمین میکرد.
یادآوری میکنیم اسکرام استراتژی نیست؛ بلکه چهارچوبی از استانداردها و نقشها و فرایندها است. این چهارچوب افراد و سازمانها را قادر میسازد آنچه را بیابند که برای آنها بهتر کار میکند. فرایندهای اسکرام خاص هستند و به زمان و زمینهی کار بستگی دارند.
چهارچوب اسکرام درکنار فرایندها، براساس پنج ارزش معنا پیدا میکند: تعهد، تمرکز، بازبودن، احترام و شجاعت.
۱. تعهد
تیمهای اسکرام باید به پیشرفت خود متعهد باشند. آنها باید اهدافی عملی و کاربردی تنظیم کنند و سپس، به اهداف تعیینشده متعهد بمانند. درواقع، ما از فعالیت تیمی صحبت میکنیم: ما بخشی از تیم هستیم و دربرابر مشارکت و همکاری با یکدیگر مسئولیم و باید تعهدات خود را بپذیریم.
این ارزش را میتوان به سه روش تفسیر کرد:
تعهد مبتنی بر اسپرینت: هر اسپرینت بازتابدهندهی اهداف واقعگرایانه و بازهی زمانی کوتاهمدتی است که برای رسیدن به این اهداف تعیین شده است. بنابراین، تیم باید به وظایف خود متعهد بماند تا اهداف اسپرینت محقق شوند.
تعهد بهعنوان تیم: شما بهعنوان تیم باید از تغییرات استقبال کنید و سازگاری نشان دهید. همچنین، میتوانید اهداف پروژه را در بخشهای کوچکتر محقق کنید. درصورت بُروز هرگونه مشکل، تیم دورهم جمع میشود و با بحث و گفتوگو، راهحلی برای مقابله با آن پیدا میکند.
تعهد فردی: شما بهعنوان فرد یا یکی از اعضای تیم، باید تا جاییکه میتوانید درراه رسیدن به اهداف اسپرینت فعالیت کنید. این امر نشاندهندهی تعهد شما بهعنوان فرد است. شما بهعنوان فرد باید خودتان را به یادگیری، همکاری، ارزشهای اسکرام، نرمافزار کاربردی و بسیاری چیزهای دیگر متعهد بدانید.
۲. تمرکز
رویکرد تکرار و تدریج و نیز تحویل بهموقع نسخههای کار به ما کمک میکند روی اهداف پروژه متمرکز بمانیم. هنگامیکه الزامها روشن و هدفها تنظیم میشوند، مؤثرترین راه برای دستیابی به اهداف این است که «هدفمحور» حرکت کنیم. هدفمحوربودن به ما انگیزه میدهد نتایج را سریعتر و بهتر و با بازدهی بیشتر ارائه کنیم. هرچه تمرکز بیشتری روی اهداف داشته باشیم، از هدررفتن منابع جلوگیری میکنیم و کار را بهموقع تحویل میدهیم. این ارزش اسکرام میزان خطرها را کاهش میدهد و زمان زیادی برای ارائهی الزامها و «بایدها» دراختیار تیم میگذارد.
۳. بازبودن
اجرای بهینهی اسکرام مستلزم شفافیت و بازبودن است. ما باید واقعیت را برمبنای هدف نهایی خاصی بررسی کنیم تا بتوانیم تعدیلهای معنادار و مفیدی برنامهریزی و اجرا کنیم. اعضای تیم باید دربارهی کار و پیشرفتشان و آموختههایشان و مسائل پیش رویشان ذهنیت باز و انتقادپذیری داشته باشند. شما باید با روحیهی مثبت با همکاران خود مشارکت و همکاری کنید و دیگران را بهعنوان «فرد / انسان» و نه بهعنوان دارایی یا ربات یا قطعات سختافزاری تعویضشدنی بهرسمیت بشناسید.
افزونبراین، همیشه باید بتوانید با ذینفعان پروژه درزمینهی سفارشها و قابلیتها تیم تشکیل دهید و در هر وضعیتی، با اعضای تیم همکار کنید. بهبیان ساده، شما بهعنوان یکی از اعضای تیم باید بهراحتی به دیگران بازخورد بدهید و بازخورد آنها را بپذیرید.
زمانیکه همهی اعضای تیم با روحیهی مثبت و انتقادپذیر کار و مشکلاتشان را با دیگران بهاشتراک میگذارند، سوءتفاهم و خطر کاهش پیدا میکند و اعتماد متقابل بیشتری شکل میگیرد.
۴. احترام
شما بهعنوان بخشی از تیم اسکرام به همکارانتان و تصمیمها و تجربهی آنها احترام میگذارید. بهعنوان یکی از اعضای تیم کارآمد و مؤثر به تنوع فرهنگی و قومی و نژادی احترام میگذارید. همچنین، با تولید آنچه ذینفعان نمیخواهند، به آنها نیز احترام میگذارید. درعینحال، بههمان اندازه با حل مشکلات کاربران، احترام خود را به آنها نشان میدهید. شما بهعنوان همتیمی مسئولیتپذیر کاملا به چهارچوب اسکرام و نقشهای مرتبط آن وفادار میمانید. درنهایت نیز، بهعنوان یکی از اعضای تیم اسکرام به مهارت و دانش و بینش یکدیگر احترام میگذارید.
۵. شجاعت
همانطورکه میدانیم، سازگاری با تغییرات سنگ بنای هر پروژهی اسکرام است و برای پذیرش تغییرات، به شجاعت نیاز داریم. در رویکرد اسکرام، همهچیز دربارهی خطرپذیری و کشف راهحلهای بهینه پیش میرود. تیم اسکرام اجازه دارد از روشهای مختلف به بهترین و مناسبترین راهکار برسد. بنابراین، برای واردکردن و اجرای مسائل جدید به پروژه، باید این ایدههای جدید را به تیم توضیح دهیم.
از زاویهی دیگر نیز اگر همهی اعضای تیم شجاعت داشته باشند که بهوضوح دربارهی مشکلات صحبت کنند، تیم میتواند روی برطرفکردن آنها کار کند. این بدان معنی است که شما بهعنوان یکی از اعضای تیم اسکرام باید آشکارا دربارهی اشتباههای خود صحبت کنید و سعی نکنید آنها را پنهان کنید. بهیاد داشته باشید هرکسی ممکن است اشتباه کند؛ زیرا همهی ما انسان هستیم؛ اما هرچه زودتر به اشتباههای خود اذعان و تیم را در پیداکردن راهحل شریک کنید، تأثیرات اشتباه شما کوچکتر خواهد بود.
یکی از نتایج مهم ارزشهای اسکرام این است که اعضای تیم مسئولیت تصمیمهای خود را برعهده میگیرند. بهعبارتِدیگر، اعضای تیم اسکرام میپذیرند رفتار آنها به تصمیمهای خودشان بستگی دارد نه به موقعیتها. آنها برخلاف تیمهای منفعل برمبنای احساسات یا موقعیتها عمل نمیکنند؛ بلکه تصمیمهای خود را باتوجهبه ارزشهای انتخابیشان اتخاذ میکنند.
در پایان این قسمت از آموزش اسکرام، به مفهوم «اسپرینت» اشارهای میکنیم. اسپرینت قلب اسکرام با تکرارهای منظم و کوتاه است؛ بهطوریکه غالبا آن را در بازههای دو تا چهار هفته تعریف میکنند. هدف اسکرام اسپرینت (Scrum Sprint) این است که با حفظ فواصل کوتاه، تیم را روی تحویل نسخههای ارتقایافتهی محصول متمرکز نگه دارد. طول اسپرینتها در چرخهی عمر پروژه باید ثابت بماند؛ هرچند با محدودیتهای خاص ممکن است استثناهایی نیز رخ دهد. باتوجهبه قوانین اسکرام، هیچ هدفی نباید در محدودهی اسپرینت تغییر کند.
هفتهی آینده دربارهی معنا، انواع برنامهریزی، بررسی و بازنگری اسپرینت بیشتر صحبت میکنیم.