اگر در حوزه نرم افزاری فعالیت دارید یا با افرادی از این حوزه ارتباط دارید، احتمالا واژه اسکرام به گوشتان خورده است. روشی که خیلی از شرکتها معتقدند برای پیشبرد پروژههای خود از آن استفاده میکنند، اما اسکرام چیست؟
اسکرام یک چارچوب یا framework است یا فرآیند؟
یعنی با اسکرام میتوان ساختار کلی پروژه و زمانبندی آن را تعیین کرد یا اینکه چگونگی انجام کار و شرح دقیق وظایف افراد را مطرح میکند؟
کن شوئبر مبدع اسکرام از لفظ فریم ورک استفاده میکند. بیشتر مختصصان هم معتقدند که اسکرام یک چارچوب برای توسعه نرم افزار است. میتوان گفت Scrum یک چارچوب تکرار پذیر برای کنترل پروژه توسعه نرم افزار از سری روشهای تفکر چابک (agile) است که در آن سعی میشود تعداد خطاها در پروژه را به حداقل رساند.
با اینکه اسکرام یک روش کلی برای فرآیند توسعه پروژه است، اما به صورت اختصاصی در توسعه نرم افزار نیز به کار برده میشود.
اسکرام مجموعهای از روشهای مختلف است اما بر سه اصل استوار است:
شفافیت (Transparency)
تمام جنبههای پروژه و تمامی فرآیندهایی که بر خروجی و نتایج احتمالی تاثیر میگذراد برای همه اعضای تیم روشن باشد.
بازبینی (Inspection)
جنبههای مختلف فرآیند تولید نرم افزار به صورت مداوم بررسی و بازبینی شود.
تطبیبق (Adaptation)
فرآیندهای خطای پروژه در کمترین زمان ممکن تغییر داده شود.
اسپرینت چیست؟
اسکرام سعی میکند یک پروژهی پیچیده را به چندین بخش ثابت و قابل تکرار و اجرا تقسیم کند. به هر یک از این بخشها اسپرینت یا Sprint گفته میشود. اسپرینت هسته و قلب اسکرام است. برخی از تیمها اسپرینت خود را از چند روز تا چند هفته در نظر میگیرند که با توجه به انعطاف پذیری این فریم ورک، انجام شدنی است. اسپرینتها شامل هدف یا اهدافی در راستای انجام پروژهی نهایی هستند.
در پایان هر اسپرینت، محصول کامل تر شده و در نهایت محصول نهایی تولید می گردد. هر اسپرینت دارای تعریفی است که در آن باید مشخص شده باشد که چه چیزی قرار است ساخته شود، نیازمندی ها، راهنمای ساخت و محصول خروجی نیز باید مشخص باشند.
ریلیز Release در چارچوب اسکرام
بازههای زمانی بزرگ متشکل از چندین اسپرینت ریلیز نامیده میشود. هر ریلیز در پروژه نسبت به ریلیز قبلی خود تکرار شونده و کاملتر است و در هر ریلیز باید نرم افزار حالتی استیبل و قابل استفاده داشته باشد.
اسکرام در فرایند های شرکتی و توسعه پروژه نرم افزاری یک مزیت محسوب میشود.
فرآیند Scrum به گونهای طراحی شده که بهترین و موثرترین روش برای رسیدن به اهداف در کوتاهترین زمان ممکن به درستی اجرا شود. شفافیت ارتباطات و پیشرفت پروژه در هر مرحله برای همهی اعضا و حتی کارفرما قابل مشاهده است. با بهره گیری از رویکرد اسکرام میتوان با تعامل سازنده با ذینفعان مبنی بر اصلاح یا ایجاد تغییرات، محصولات نرم افزاری کاربردی ارائه دهیم. تحویل فاز به فاز پروژه، راه حل بهینه ای برای ارائه محصول به کارفرما به نحوی که در فرایند های کاری او سرعت و کیفیت حفظ شود، است.
نوژن و راهکار توسعه نرم افزار
شرکت آرمان پردازان نوژن با استفاده از نرم افزار اسکرام دسک scrumdesk.com پروژههای خود را پیش میبرد. برنامه ریزی درست و تعیین فازبندی های مناسب با توجه به پتانسل نیروهای فنی و نیازهای کارفرما از اولویتهای کارشناسان ما میباشد.
فلسفهی وجودی این روش مبتنی بر خروجی ملموس، قابل لانچ و تحویل فاز به فاز بر اساس ریلیزهای ذکر شده در قرارداد میباشد. تحویل فاز به فاز با توجه به تغییر نیازهای بازار باعث می شود که تیم فنی بتواند نقطه نظرات و تغییرات کارفرما را در ریلیزهای بعدی لحاظ کرده و محصول همیشه در راستای نیازهای بازار قابل توسعه باشد.
در این مقاله از بلاگ نوژن میتوانید با مفهومی دیگر در تکنولوژی چابک به نام MVP آشنا شوید.