اسکرام چیست؟

دسته بندی: مهارت های نرم
سطح مقاله: ساده
زمان مطالعه: 7 دقیقه
۱۸ شهریور ۱۳۹۸

اسکرام چیست؟ شاید برای شما هم پیش آمده که زمانی درگیر پروژه ای بزرگ باشید، اما با تبدیل کردن آن به بخش‌های کوچکتر و تقسیم وظایف، بتوانید به خوبی از عهده آن بربیایید. در پروژه‌های بزرگ نرم افزاری، وجود روش‌های منسجم مدیریتی و کنترل اوضاع توسط مدیران پروژه می‌تواند منجر به مزایای زیادی از جمله کاهش هزینه های تولید شده و همچنین باعث نتایج بهتری شود. در این مطلب با یکی از شیوه های توسعه نرم افزار یعنی اسکرام (Scrum) آشنا می‌شویم که استفاده از آن می‌تواند برای شرکت‌های نرم افزاری بسیار سودمند باشد. پس با ما همراه باشید تا بدانید اسکرام چیست و چگونه به ما کمک می کند؟

فهرست محتوای این مقاله

متدولوژی چیست؟

متدولوژی چیست

متدولوژی که برخی آن را روش شناسی ترجمه کرده اند، مجموعه ای از مراحلی است که در کنار هم امکان توسعه و ارزیابی سیستم را به ما می‌دهند. یک متدولوژی شامل تکنیک‌ها و روش‌هایی است که در وضعیت‌های مختلف، پاسخگوی نیازمندی‌های مدیران یا توسعه دهندگان برای پیاده سازی سیستم می‌باشند. به بیان دیگر متدولوژی، تفکری برای پیاده سازی و توسعه نرم افزار است که از چارچوب‌های مختلفی تشکیل شده است.

متدولوژی Agile چیست؟

متدولوژی چابک (Agile) در توسعه سیستم‌ های نرم افزاری بسیار کاربردی است. یکی از اساسی ترین اصول این متدولوژی، ارتباط مداوم با مشتری است و همین باعث اهمیت استفاده از آن در کسب و کارهای امروزی شده است. در این متدولوژی تیم نرم افزاری تلاش می‌کند تا محصول نهایی مطابق نظر مشتریان باشد و در هر فاز نتایج به دست آمده تست و بررسی شوند. اَجایل شامل 4 مرحله اصلی یعنی شناخت نیازمندی‌های مشتری، برنامه ریزی، پیاده سازی، تست و تحویل به مشتری است. اسکرام یکی از اصلی ترین راهکارهای توسعه به سبک Agile است که در ادامه با آن آشنا می‌شویم.

اسکرام چیست و چگونه اجرا می‌شود؟

SCRUM چیست و نحوه اجرای ان

برای اینکه بدانید مهمترین مزیت استفاده از اسکرام چیست ابتدا باید به خوبی این متد را بشناسیم. اسکرام (Scrum) به زبان ساده، نوعی چارچوبی مدیریتی برای تیم‌ های نرم افزاری است تا به بهینه ترین شکل ممکن، پروژه های بزرگ را پیاده سازی کنند. لازم به ذکر است برخی متخصصان اسکرام آن را یک فریم ورک یا چارچوب می‌دانند درحالیکه برخی دیگر، اسکرام را به عنوان یک متدولوژی معرفی می‌کنند. ما در اینجا اسکرام را به عنوان یکی از روش‌های Agile معرفی کرده و ساختار آن را توضیح می‌دهیم.

اسکرام 3 اصل اساسی دارد که قبل از شروع روند آن، باید بررسی شده و مورد توافق همه باشند:

  1. شفافیت موضوع (Transparency): یعنی تمام مسائلی که ممکن است بر نحوه انجام کار و خروجی آن اثر بگذارند باید ذکر شده و قابل بررسی و کنترل باشند.
  2. بررسی (Inspection): مراحل مختلف پیاده سازی باید به صورت مداوم چک شوند تا در صورت بروز مشکل، سریع آن را برطرف کرد.
  3. توانایی انطباق (Adaptation): ممکن است جنبه هایی از پروژه باعث ایجاد مشکلاتی در خروجی شده و محصول نهایی را دچار نقص کنند. بهتر است بلافاصله این موانع را شناخته و برای تصحیح و پیاده سازی آن‌ها مجددا برنامه ریزی کرد.

اسکرام یک روش افزایشی (Incremental) است یعنی با گذشت زمان و طی شدن مراحل، روند تکامل پروژه نیز افزایش می‌یابد. Scrum شامل چرخه های متفاوتی است که با اطمینان از پیاده سازی صحیح پروژه در هر چرخه، به کاهش ریسک های احتمالی و هزینه های مازاد کمک می‌کند. بدین ترتیب یک پروژه بزرگ، به وظایف کوچکتری تقسیم شده که هر بخش آن به عنوان اسپرینت (Sprint) تعریف می‌شوند.

هر اسپرینت معمولا با مشورت اعضا تیم، 1 تا 2 هفته طول می‌کشد و در آن وظایف هر بخش یا عضوی از تیم مشخص می‌شود. پس از پایان هر اسپرینت همه اعضا تیم جلسه ای تشکیل داده و نتایج کار را بررسی می‌کنند و سپس برنامه ریزی اسپرینت بعدی را انجام می‌دهند.

رویکرد اسکرام چیست؟

رویکرد اسکرام

رویکرد اسکرام به طور کلی بدین صورت است که ابتدا با مشارکت مدیران تیم توسعه و مالکان یا سفارش دهندگان پروژه، جلسه ای تشکیل می‌شود. در طی این جلسه باید تمامی نیازمندی‌های سیستمی و غیر سیستمی، اهداف و همه نیازمندی‌هایی که باید پیاده سازی شوند مطرح شده و به توافق طرفین برسند. سپس بخش یا فازهای کلی پروژه تعیین می‌شوند و همه این مراحل باید با حضور مشتری انجام شود. در این مرحله توسعه دهندگان با حضور مشتری بازه هایی را برای شروع پیاده سازی، هماهنگی و تحویل هر بخش از پروژه تعیین می‌کنند. چگونگی انجام و خروجی هر مرحله باید مشخص باشد.

دانلود رایگان کتاب آشنایی با مهارت های نرم برای برنامه نویسان

در صورتی که می خواهید با مهارت های نرم آشنا شوید توصیه می کنیم این کتاب رایگان را بخوانید. برای دریافت این کتاب ایمیل خود را وارد نمایید. لینک دانلود کتاب برای شما ایمیل خواهد شد:

پس از این مرحله نوبت مشخص کردن اسپرینت‌ها است. افراد تیم در طی جلساتی باید حجم کار، زمان و وظایف هر عضو را در طول یک اسپرینت مشخص کنند. تهیه سند اسپرینت که شامل تعیین جلساتی برای بازبینی و کنترل کار، تعیین جزئیات نیازمندی‌ها، شرح کتبی وظیفه افراد و ارائه گزارشی از وضعیت کلی پیشرفت هر اسپرینت و غیره است، ضروری به نظر می‌رسد. معمولا در انتهای اسپرینت افراد تیم به اسکرام مستر گزارشی از عملکردها و میزان پیشرفت کارها را ارائه می‌دهند تا از بروز مشکلات احتمالی در آینده جلوگیری شود.

ممکن است زمان تعیین شده برای یک اسپرینت تمام شود اما هنوز مشکلاتی وجود داشته باشد. در این شرایط تیم با برگزاری جلساتی شرایط را کنترل کرده و می‌تواند با بررسی مشکلات، اسپرینت دیگری برای تکمیل وظایف درنظر بگیرد. فرایند تعیین اسپرینت ها تا زمانی طول می‌کشد که محصول نرم افزاری آماده تحویل باشد.

آشنایی با برخی مفاهیم و نقش ها در اسکرام

مفاهیم SCRUM

  • Product Backlog : سند محصول، سندی شامل اطلاعات، شرح اهداف و نیازمندی های پروژه است که در ابتدای شروع فرایند اسکرام با نظارت صاحب محصول و توسعه دهندگان باید به طور دقیق شرح داده شود.
  • Sprint Backlog : سند اسپرینت، سندی است که شامل جزئیات هر اسپرنیت، زمان اختصاص داده شده، افراد درگیر و نقش هر فرد در همان مرحله از پروژه می باشد.
  • ScrumFlow : در یک جریان اسکرام، میزان پیشرفت در هر اسپرینت و روند کلی فرایند اسکرام توسط اسکرام مستر بررسی می‌شود.
  • Scrum Board : برای اینکه افراد بدانند کار درچه مرحله ای است و اتمام وظایف خود را اعلام کنند یک تخته (Board) فیزیکی در محل استقرار تیم در نظر گرفته می‌شود. البته امروزه این کار بیشتر از طریق نرم افزارهای مدیریتی مانند Trello انجام می‌شود.
  • Product Owner : صاحبان محصول و یا ذی نفعان پروژه، کسانی هستند که با تیم نرم افزاری وارد مذاکره شده و پیشنهاد تولید محصول را مطرح می کنند. مدیران پروژه باید به طور منظم با صاحبان محصول در ارتباط باشند.
  • Scrum Master : متخصص اسکرام وظیفه نظارت و کنترل فرایند اسکرام را به عهده دارد. بررسی خروجی هر اسپرینت، ارائه گزارشات کتبی در جلسات و منعطف سازی فرایند با توجه به شرایط، از وظایف یک اسکرام مستر است.
  • Software Team Membes : اعضای تیم نرم افزاری کسانی هستند که انجام پروزه را به عهده دارند. علاوه بر جلسات مدیران پروژه و صاحب محصول، لازم است جلساتی با حضور همه اعضای تیم نیز به طور ماهیانه یا هفتگی برگزار شود.

جمع بندی

در فرایند اسکرام، بررسی مداوم وضعیت اسپرینت و همچنین افراد درگیر در پروژه یکی از مهم ترین اصول در موفقیت یک تیم نرم افزاری است. همچنین بهتر است همه چیز به صورت کتبی مستند شده و در اختیار صاحبان محصول و مدیران قرار داده شود. این کار علاوه بر آگاهی افراد به تسلط پیداکردن بر تمامی مراحل انجام کار کمک می‌کند. شما هم اگر تجربه ای در زمینه اسکرام دارید با خوانندگان سون لرن درمیان بگذارید. اسکرام به تیم توسعه شما کمکی کرده است؟

نویسنده
شاید به ساخت یک اثر هنری فکر کنیم و یا بخواهیم بلندترین قله ها را فتح کنیم؛ ما هنوز نمی دانیم از زندگی چه چیزی را بیشتر از همه می خواهیم. پس هر کاری که از دستتان بر می آید برای زندگی انجام دهید و سرانجام قلب تان، این انتخاب بزرگ را انجام خواهد داد...

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 
گزارش مشکل