اسکرام (تیم راگبی)، یک مدل توسعه نرمافزار نوعی از توسعه چابک است که به تدریج در ده سال گذشته محبوب شده است.
![](https://www.cybermedian.com/fa/wp-content/uploads/sites/15/2022/01/img_61f78e727e2ca.png)
فرضیه اساسی اسکرام
توسعه نرمافزار مانند توسعه یک محصول جدید است. مراحل نهایی یک محصول نرمافزاری نمیتوانند از ابتدا تعریف شوند. این فرآیند نیاز به تحقیق و توسعه، خلاقیت، آزمایش و خطا دارد، بنابراین هیچ فرآیند ثابتی وجود ندارد که بتواند موفقیت پروژه را تضمین کند.
اسکرام یک تیم توسعه نرمافزار را با یک تیم فوتبال مقایسه میکند. این تیم دارای هدفی واضح و بالاترین است، با بهترین مدل و فناوری مورد نیاز در فرآیند توسعه آشنا است، دارای درجه بالایی از خودمختاری، ارتباط و همکاری نزدیک است و اطمینان حاصل میکند که هر روز با درجه بالایی از انعطافپذیری به حل چالشهای مختلف بپردازد؛ هر مرحله پیشرفت واضحی به سمت هدف دارد.
فرآیند اسکرام
فرآیند توسعه اسکرام معمولاً با یک مرحله 30 روزه (یا کوتاهتر) آغاز میشود که با مشخصات نیازهای محصول جدید مشتری شروع میشود، تیم توسعه و مشتری انتخاب میکنند که کدام بخشهای مشخصات را در ابتدای هر مرحله تکمیل کنند، تیم توسعه باید تمام تلاش خود را برای ارائه نتایج پس از 30 روز انجام دهد و تیم روزانه به مدت 15 دقیقه برای بررسی پیشرفت و برنامه هر عضو، درک مشکلات پیشآمده و تلاش برای رفع مشکلات ملاقات میکند.
مزایای رویکرد چابک
مزیت اسکرام نسبت به مدل توسعه سنتی.ویژگی متمایز مدل اسکرام این است که به تغییرات پاسخ میدهد. این مدل میتواند به تغییرات به سرعت پاسخ دهد.
زمانی که یک سیستم سنتی بر برنامهریزی اولیه تمرکز میکند که در آن عواملی مانند هزینه، دامنه و زمان اهمیت دارند، رویکرد چابک به کار تیمی، همکاری با مشتری و انعطافپذیری اهمیت میدهد. با تغییر مشخصات نیازها، تیم چابک میتواند متحرک باقی بماند و به این تغییرات پاسخ دهد. با این حال، این به این معنا نیست که استراتژی برنامهریزی تطبیقی همیشه بهتر از استراتژی برنامهریزی پیشبینیکننده است. بیایید این دو استراتژی توسعه پروژه را با جزئیات بیشتری مقایسه کنیم.
![](https://www.cybermedian.com/fa/wp-content/uploads/sites/15/2022/01/07lv3z5cClqrBJ7PK.png)
بنابراین، رویکرد توسعه سنتی (آبشاری، که به عنوان برنامهمحور نیز شناخته میشود) خطی است و تمام مراحل فرآیند به صورت متوالی انجام میشود. این رویکرد به ابزارهای قابل پیشبینی و تجربیات قابل پیشبینی وابسته است. هر پروژه از همان چرخه حیات پیروی میکند، از جمله امکانسنجی، برنامهریزی، طراحی، ساخت، آزمایش، تولید، پشتیبانی و غیره، همانطور که در زیر نشان داده شده است.
کل پروژه از قبل برنامهریزی میشود بدون اینکه جایی برای تغییر نیازها وجود داشته باشد، به عنوان مثال، PMBOK و PRINCE2 PMI سختگیرانه و به شدت کنترل شده هستند. آنها مراحل مختلف برنامهریزی پروژه را از ابتدا تا انتها ترسیم میکنند و فرض میکنند که شما از قبل تمام نیازها و اطلاعات مورد نیاز خود را دارید.
چابک به عنوان یک استراتژی توسعه نرمافزار مدرنتر در نظر گرفته میشود، زیرا عمدتاً برای غلبه بر برخی از نقاط ضعف رویکرد آبشاری پیشبینیکننده طراحی شده است. این یک مدل توسعه نرمافزار است که توسعه و آزمایش تکراری را در طول چرخه حیات توسعه نرمافزار یک پروژه تشویق میکند.
مروری بر فرآیند اسکرام
اسکرامیک چارچوب است که تجویز میکند نقشها, رویدادهامحصولاتو قوانین/راهنماها برای پیادهسازی آن ذهنیت. به عبارت دیگر، چابک یک ذهنیت است و اسکرام چارچوبی است که فرآیندی برای پیادهسازی فلسفه چابک تجویز میکند.
اسکرام و چابک یکسان نیستند اما اسکرام یکی از فرآیندهای چابک است. آنها بر اساس توسعه تکراری هستند. نیازها و راهحلهای چابک از طریق ارتباط بین تیمهای چندوظیفهای و خودسازماندهی به دست میآید و زمانی که به درستی پیادهسازی شود میتواند به تیمها کمک کند تا به مشکلات پیچیده با ارائه تدریجی محصولات با بالاترین ارزش در حالی که ریسک را کاهش میدهند، بپردازند.
اسکرام شامل بازرسی و سازگاری سریع است، کار تیمی با فلسفه رهبری، مسئولیتپذیری و خودسازماندهی تقویت میشود، بهترین شیوههای مهندسی که به ارائه نرمافزار با کیفیت بالا و سریع کمک میکند.
اصطلاحات کلیدی اسکرام
لیست کارها:تمام وظایفی که میتوان پیشبینی کرد، از جمله تمام وظایف عملکردی و غیرعملکردی.
اسپرینت: دوره زمانی برای توسعه نسل، معمولاً حداکثر 30 روز به عنوان یک چرخه. در این زمان، تیم توسعه نیاز دارد تا یک لیست کارها را تکمیل کند و نتیجه نهایی یک محصول تدریجی و قابل تحویل است.
لیست کارهای اسپرینت: وظایفی که باید در یک چرخه اسپرینت تکمیل شوند.
زمانبندی:یک زمان مشخص برای جلسه. به عنوان مثال، زمانبندی هر جلسه روزانه اسکرام 15 دقیقه است.
جلسه برنامهریزی اسپرینت:قبل از شروع هر اسپرینت برگزار میشود. معمولاً یک روز (8 ساعت). وظیفهای که در این جلسه باید فرموله شود این است: مالک محصول و اعضای تیم لیست کارها را به ماژولهای کوچک عملکردی تقسیم میکنند، تصمیم میگیرند که چند ماژول کوچک عملکردی باید در اسپرینت آینده تکمیل شوند و اولویت وظایف این لیست کار محصول را تعیین میکنند. علاوه بر این، جلسه باید به تفصیل بحث کند که چگونه این ماژولهای کوچک عملکردی را طبق نیاز تکمیل کند. بار کاری این ماژولها به ساعت محاسبه میشود.
جلسه روزانه اسکرام:توسط اعضای تیم توسعه برگزار میشود، معمولاً 15 دقیقه. هر عضو توسعه باید سه پروژه را به اسکرام مستر گزارش دهد: امروز چه چیزی تکمیل شده است؟ آیا با موانعی مواجه شدهاید؟ چه کار خواهید کرد؟ از طریق این جلسه، اعضای تیم میتوانند پیشرفت پروژه را با یکدیگر درک کنند.
جلسه بازبینی اسپرینت: پس از هر اسپرینت، تیم نتایج اسپرینت را به مالک محصول و سایر افراد مرتبط ارائه میدهد. به طور کلی، این جلسه 4 ساعت طول میکشد.
بازنگری اسپرینتپس از بازبینی اسپرینت و قبل از برنامهریزی اسپرینت. این حداکثر یک جلسه سه ساعته برای یک ماه اسپرینتهاجلسه بازنگری اساساً یک جلسه «بهبود» است که برای یافتن راهها و وسایل شناسایی نقاط ضعف بالقوه، اشتباهات گذشته و جستجوی راههای جدید برای جلوگیری از آن اشتباهات برگزار میشود، که توسط همه شرکت میشود — مالک محصول, اسکرام مستر، اعضای تیم توسعه و به طور اختیاری با ذینفعان.
اسکرام مستر: یک عضو تیم که مسئول نظارت بر کل فرآیند اسکرام و بازنگری برنامه است.
مالک محصول که به نمایندگی از شرکت مالک محصول است، بخشی از یک تیم اسکرام. با این حال، مالک محصول هیچ اختیاری بر سایر اعضای تیم ندارد، همانند اسکرام مستر. یک مالک محصول مسئول مراقبت از یک محصول برای مدت طولانی است و مسئول دستیابی به موفقیت محصول میباشد. به عنوان مالک محصول، شما باید به طور مستقیم با مشتریان و کاربران، تیم توسعه و سایر ذینفعان کلیدی تعامل داشته باشید، همانطور که در تصویر زیر نشان داده شده است.
یک اسکرام تیم یک مجموعهای از افراد (معمولاً بین پنج تا نه عضو) است که با هم کار میکنند تا افزونههای مورد نیاز محصول را ارائه دهند. چارچوب اسکرام سطح بالایی از ارتباطات را در میان اعضای تیم تشویق میکند، به طوری که تیم میتواند:
- به یک هدف مشترک پایبند باشند
- به همان هنجارها و قوانین پایبند باشند
- به یکدیگر احترام بگذارند
![](https://www.cybermedian.com/fa/wp-content/uploads/sites/15/2022/01/0I0lTgR4tQEb3ZSrY.png)
اسکرام چگونه کار میکند؟
یک فرآیند اسکرام از سایر فرآیندهای چابک با مفاهیم و شیوههای خاص متمایز میشود که به سه دسته نقشها (مالک محصولاسکرام مستر، تیم توسعه و سایر ذینفعان)، رویدادها، آثار و قوانین.
برای شروع یک فرآیند اسکرام، مالک محصول یک لیست آرزوهای اولویتبندی شده به نام لیست کارهای معوقه محصول. در طول برنامهریزی اسپرینت لیست کارهای معوقه بر اساس پیچیدگی و ارزش تجاری (اولویت) اندازهگیری میشود. مالک محصول (مشتری) و تیم توسعه تعیین میکنند که کدام اقلام لیست کارهای معوقه به اسپرینت اضافه شوند. تیم یک مقدار مشخصی از زمان (به نام اسپرینت، معمولاً دو تا چهار هفته) برای تکمیل کار خود دارد، اما هر روز برای ارزیابی پیشرفت خود ملاقات میکند (اسکرام روزانه). در طول مسیر، اسکرام مستر تیم را بر روی هدفش متمرکز نگه میدارد. در پایان اسپرینت، تیم پیشرفت خود را بررسی میکند، محصول کارا را به مشتری نشان میدهد و بررسی میکند که چه چیزهایی خوب پیش رفته یا چه چیزهایی نیاز به بهبود دارند برای اسپرینت بعدی. سپس این چرخه تکرار میشود.
![](https://www.cybermedian.com/fa/wp-content/uploads/sites/15/2022/01/0pimBUNOQ9wHmU4p4.png)
This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.