scrum چیست؟ متدولوژی یا چارچوب اسکرام در توسعه نرم‌افزار


scrum چیست؟ متدولوژی یا چارچوب اسکرام در توسعه نرم‌افزار

اسکرام یک نوع چارچوب برای تولید نرم‌افزار است که از سری روش‌های تفکر Agile (چابک) می‌باشد. امروز با هم اسکرام که یکی از متداول ترین چارچوب‌های توسعه نرم‌افزار هست را مورد بررسی قرار میدهیم با رادوو همراه شوید در مرور ساده‌ای بر اسکرام برای درک بهتر آن.


اسکرام یک چارچوب است یا یک فرایند یا متدولوژی؟

در این موضوع کاملاً بین متخصصان اسکرام دوگانگی وجود دارد. اشخاصی مانند کن شوئبر (Ken Schwaber) که جزو مبدعین اسکرام است دائماً از لفظ چارچوب(framework) استفاده می‌کنند و تاکید دارند که همه باید این مورد را قبول داشته باشند ولی بعضی دیگر از لفظ فرایند یا متدولوژی برای اسکرام استفاده می‌کنند.

flow of scrum

اسکرام چیست؟

اسکرام در سال ۱۹۸۶ توسط ایکوجیرو نوناکا و هیروتاکا تاکوچی به عنوان یک خط مشی جدید برای تولید نرم‌افزارهای تجاری(Commercial) که باید قابلیت انعطاف‌پذیری و سرعت در تولید را داشته باشند، عرضه شد. اسم اسکرام از یک نوع بازی در فوتبال راگبی گرفته شده است.

اسکرام (Scrum) یک متدولوژی افزایشی (Incremental) برای مدیریت پروژه‌های نرم‌افزاری است و از رده متدولوژی‌های Agile محسوب می‌شود. این متدولوژی اولین بار در ژاپن اختراع شد.

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

به عبارت ساده, در Scrum نسخه پیچی نداریم و بیشتر سعی در کشف و نمایان کردن مشکلات می‌کنیم.

رابطه بین اسکرام (Scrum) و اجایل (Agile)

متدهای Agile که از آن جمله می‌توان به اسکرام, XP ,Kanban و… اشاره کرد, روش‌هایی برای دست یابی به تفکر Agile می‌باشند. Agile یک تفکر در زمینه توسعه نرم افزار است و اسکرام یک روش برای پیاده سازی این تفکر.

در حقیقت اسکرام یک چارچوب توسعه نرم افزار Agile می‌باشد که از روش iterative incremental بهره می‌برد.

نقش‌ها در اسکرام

  1. ScrumMaster که وظیفه حفظ و نگهداری فرایند را برعهده دارد.
  2. Product Owner که نماینده ذی‌نفعان (Stakeholders) پروژه و business است.
  3. Team Member عضوی از یک گروه cross-function است که معمولاً کمتر از ۷ نفر هستند. این افراد عملیات طراحی، تحلیل، پیاده‌سازی، تست و... را انجام می‌دهند.

تعریف هر نوع نقش یا سمت به جز این سه در اسکرام ممنوع است. به عنوان مثال اعضای تیم نمی‌توانند سمت‌های متفاوتی داشته باشند.

اسپرینت (Sprint) در اسکرام چیست؟

در اسکرام دوره‌های زمانی یا iteration داریم که در آنها محصول نهایی پروژه به تدریج کامل می‌شود. این دوره‌ها و سیکل‌های زمانی را در به اصطلاح sprint می‌نامند.

 اسپرینت در واقع یک محدوده‌ی زمانی با هدف یا اهداف کوتاه مدت مشخص است. از مجموع اسکرام‌ها یک اسپرینت (Sprint) بوجود میاد و از مجموع این اسپرینت‌ها هم کل فرایند توسعه‌ی ن