تفکر Agile یا چابک و چارچوب Scrum یا اسکرام

 

 

این متدولوژی بر آن است تا کاربر را مهم ترین فرد در پروسه توسعه پروژه قرار دهد، زیرا کسی که از خروجی پروژه استفاده میکند و از نیاز های واقعی مطلع است در حقیقت خود اوست.

 

تولد Agile در انبوه پروژه های شکست خورده

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

 

Agile برای چه پروژه هایی مناسب است؟

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

همچنین ممکن است که شرکت با پروژه هایی رو به رو شوند که نیازمند ارتباط دائم با کاربر یا مشتری باشد.

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

 

تفکر Agile یا چابک چگونه است؟

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

 

مثال استفاده از روش های قدیمی توسعه پروژه:

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

 

مثال استفاده از تفکر Agile در توسعه پروژه:

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

 

Scrum(اسکرام) چیست؟

همانطور که تا کنون متوجه شدیم،Agile یا چابک یک متدولوژی یا روش یا رویه برای پیاده سازی یک پروژه است.

اسکرام یک فریورک یا چارچوب برای استفاده از متدولوژه Agile  است که با یکسری قوانین و چارچوب های مشخص پیاده سازی Agile را امکان پذیر میکند.

پس اسکرام چارچوب یا فریمورکی است که از بستر Agile استفاده میکند.

 

روش کار اسکرام چگونه است؟

در بازه های دو تا سه هفته جلسه ای تحت عنوان با Sprint با حضور تیم توسعه و ذی نفعان تشکیل میشود که باید بخش هایی را که در سه هفته آینده انجام می شوند در آن مشخص شوند. در این جلسه به هرکدام از بخش ها بر اساس سختی و زمان گیر بودن یک عدد تحت عنوان Effort داده میشود. که جمع Effort ها باید به اندازه توانایی تیم باشد. مثلا یک تیم میتواند در طول سه هفته 130 Effort  را انجام دهد نه بیشتر.