چهارچوب و یا فرایند مدل اسکرام، به عنوان چارچوبی تکرارپذیر، برای کنترل پروژههاست (مدیریت نرمافزاره). زیرشاخههای مدل فرایند تولید نرم افزار، چابک و سریع هستن. و در مهندسی نرم افزار، یه نوع مدل تولید نرم افزار شناخته میشه.
بین متخصصان زیادی بین واژهی چارچوب و فرایند دوگانگی وجود داره؛ اما کسی که اسکرام رو ابداع کرد (کن شوئبر) به طور پیوسته از واژهی چارچوب (frame work) استفاده میکرد و اصرار داشت که برای اینکه مفهوم اسکرام به هم نریزه، باید از این لفظ استفاده بشه؛ اما متخصصان زیادی اسامی جدیدی برای اسکرام درنظر گرفتن؛ مثل متدولوژی و یا واژهی فرآیند.
روش اسکرام
روش(scrum) سالها پیش به بهانهی ایجاد خط و مشیهای تازه، برای تولیدات نرمافزارها بیان شد. نرمافزارهای تجاری تولید شده باید دارای ویژگیهای چابکی و سرعت در تولید و همچنین انعطافپذیری باشن. اسم scrum رو، از یه بازی در فوتبال راگبی به عاریت گرفتن. اسکرام در واقع، یه متدولوژی از نوع افزایشیه که برای مدیریت در پروژههای نرم افزاری تدارک دیده شده و جزو دستههای متدولوژی(Agile) به حساب میاد.
این متدولوژی، برای دفعه اول در کشور ژاپن اختراع و بعدها در سال ۱۹۹۱ به کمک(Degrace stahi0) مورد توسعه قرار گرفت و سپس چهار سال بعد، این متدولوژی رو به رسمیت شناختن و جهت تولید نرم افزارها استفاده و به خدمت گرفتن.
ویژگیهای اسکرام
اصولا مدل اسکرام رو، برای تمامی فرآیند تولید نرمافزار در پروژهها به کار میگیرن؛ اما ممکنه به طور اختصاصی هم برای یه برنامه و تو خطمشیهای عمومی استفاده بشه.
اسکرام دارای سه بنیان و اصله؛ که از ویژگیهای مهم اون به حساب میان.
وضوح و شفافی
برای کسانیکه فرایند و جنبههای مختلف فرایند رو که بر خروجی اثر میکنه کنترل میکنن، باید شفاف و مشهود باشه. علاوه بر این باید جنبهها معلوم و مشخص هم باشن. پس فرد کنترلکنندهی فرایند باید بتونه کاملاً تشخیص بده که کار کجا انجام شده؟ و دقیقا چی بوده؟
ممیزی و بررسی
برای تشخیص و فهمیدن انحرافات احتمالی فرآیند، باید جنبههای گوناگون فرآیند تولید نرمافزار، به طور مستمر وارسی بشن.
انطباق
گاهی اوقات ممکنه یک یا چندین جنبه از فرایند تولید نرمافزار غیرقابلقبول انجام شده و پذیرش محصول رو ناممکن بسازه؛ به تشخیص متخصصین و بازرسین فرآیند و یا چیزی که عمل فرایند روی اون انجام پذیرفته، باید تنظیم بشه.
برای اینکه از مشکلات و انحرافات بیشتر بعدی، جلوگیری بشه این تعدیل و تنظیم باید با سرعتی بیشتر انجام بگیره.
اسکرام ها چه نقش هایی دارن؟
- مورد Product ownerنمایندهی ذینفعان در بیزینس
- عبارت Scrum Masterبه عنوان یه کمککننده و آسانکنندهی کار شناخته میشه که مراقبت و حفظ فرآیند از وظایفشه
- اعضای گروهی که عموماً بین ۳ تا ۹ نفر عضو داره؛ کار و وظیفهی این گروه در عملیات تحلیل، پیادهسازی، تست، طراحی و… تعریف میشه.
باید در نظر داشت که، غیر از این سه نقش هیچ نقش دیگهای، در اسکرام تعریف نمیشه افرادی که این تیم رو تشکیل میدن، مجاز نیستن سِمت و نقش دیگهای داشته باشن.
روند کاری اسکرام به چه صورته؟
در scrum هم مثل همهی متدولوژیها، دورههای زمان (iteration) وجود داره که اصطلاحاً اسپرینت گفته میشه. طی دورههای زمانی اسکرام، ما شاهد تکمیل تدریجی محصول نهایی خواهیم بود که طول این دورهی زمانی(sprint) رو، تیم معین میکنه که معمولاً ۲ الی ۴ هفته است. اعضای تیم طی این هفتههای تعیین شده، محصول بالقوهی نهایی رو که قابل ارائه و استفاده هستن، به صورت تدریجی تولید میکنن.
مواردی از پروداکت بک لینگ، که طی دورههای زمانی باید انجام بگیره، در طول جلسههای طراحی اسپرینت معلوم و محرز میشه. اعضای تیم در طی این جلسه از Product Backlog مطلع میشن و بعد، با همفکری و مشورت تعیین میکنن که چه میزان از موارد و دستورات Product Owner رو، در این دورههای زمانی انجام بدن؟ و چه مقداری رو به دورههای بعدی موکول کنن؟
موارد و عناوین Product Backlogکه در دورههای زمانی انجام میشه رو Sprintمیشناسن و مفاد و مضمونش به صورت توافقی بین اعضای تیم اتفاق میافته. بعد از اینکه به تصویب رسید هیچکس مجاز نیست مضمون و مفاد این دورهی زمانی رو، تا زمانی که دوره به پایان نرسیده تغییر و دستکاری کنه.
بعد از اینکه این دوره تموم شد، تیم ورک در حضور ذینفعان بیزینس و Product Owner اعلام میکنن که روند کار چطوری بوده و از نسخه حال حاضر نرم افزار چطوری میتونن استفاده کنن؟
نتیجهگیری
اسکرام مجموعهای از نقشهها و روشهاست که از قبلا تعریف و معلوم شدن. متخصصین scrum رو چارچوبی چابک میدونن که قادره مسئلههای پیچیده رو حل کنه. وقتی علم ما برای حل مسائلی کم و ناقصه، این مسئله پیچیده میشه و ما میتونیم با گذشت زمان و تدریجی، دانش حل این مسئله رو کسب کنیم؛ مسائلی مثل کشف داروها برای بیماریهای لاعلاج.
مدل اسکرام با استفاده از چرخشی افزایشی، باعث میشه ریسکپذیری کاهش و مقدار پیش بینیهای درست افزایش پیدا کنه. در اسکرام هم، مثل همهی متدولوژیها، دورهی زمانی وجود داره که اصطلاحا Sprintنامیده میشن.