آشنایی با متدولوژی Agile

در این مقاله نحوه کار متدولوژی Agile را شرح می دهیم .

آشنایی با متدولوژی Agile

در این مقاله نرم افزار   "Scrum" (یک نرم افزار به روز و مناسب جهت تمرین و توسعه ) برای متودلوژی Agile  برای درک بهتر تا حد امکان با تصویر شرح می دهیم .

در این مقاله توضیح می دهیم که نرم افزار "Scrum"  دارای اهمیت فراوانی برای توسعه دهندگان میباشد  و سعی بر آن می شود که تمام قسمتهای این نرم افزار را توضیح بدهیم .

فرض کنید که ما می خواهیم یک نرم افزار را توسعه دهیم

برای توسعه این نرم افزار ما نیاز داریم به تعدادی از ویژگی هایی  از سمت:

- کاربر

- مدیران

- یا اعضای دیگر تیم

ویژگی ها : در نرم افزار  ویژگی های "Scrum" از دید کاربر نهایی که می تواند مشتزی یا مشتریان باشد نوشته شده است .بنابراین ویژگیهای این نرم افزار به عنوان "داستان کاربر" - “User Stories” شناخته میشود .

نتیجه محصولات (Product Backlog):مجموعه این داستان کاربر به عنوان نتیجه محصول شناخته میشود .

همچنین نام دیگر  این نتیجه محصولات لیست آرزوها (Wish List)  میباشد .

بعد از آماده کردن Wish List یا همان Product Backlog ما باید  کل User Story  را برای پیشبرد محصول در نظر بگیریم .

همچنین ما باید برخی از قسمتهای خای  User Stories  را  که می خواهیم در Product Backlog باشد را انتخاب کنیم .

خروجی Backlog :

برای ساخت محصول خود میباست چند نفر با نقشهای مختلفی در اختیار داشته باشیم .یک مرور کوتاه به این افراد داریم :

Product Owner (مالک محصول) :

مالک محصول ما را در اطمینان از اینکه نیازهای کاربر در محصول میباشد یاری میرساند .

Product Master کارفرما :

وظیفه این شخص نظارت بر پیشرفت پروسه , تنظیم جلسات بین اعضای و تسهیل برنامه ریزی برای  گروه میباشد .

Developers (توسعه دهندگان) : این اشخاص پروژه را ایجاد می کنند .

Testers : این اشخاص محصول را برای اطمینان از بی نقص بودن تست می کنند .

Customers :این افراد از محصول استفاده می کنند .

ٍExecutives : بدون این افراد ما قادر به تولید محصول نمی باشیم .

برنامه برای انتشار محصول :

در این مرحله تیم  اقدامات خود را  با "Product backlog" آغاز می کنند .

تیم پس از آن User Stories را اولویت بندی می کنند و حجک کار موجود در هر بخش را تخمین می زنند .

در تصویر بالا زمان تخمین زده شده برای هر بخش با توجه به اولویت بندی کل User Stories می توانید مشاهده کنید .

گاهی اوقات  Uset Stories  بزرگ به چندین بخش کوچکتر برای کنترل بیشتر و دقیقتر تقسیم میشوند

مجموعه کلیه تخمینها یک مقدار کل را برای اتمام کار در اختیار ما قرار می دهد .به عنوان مثال مدت زمان تکمیل پروژه 9 روز میباشد .

یک تخمین خوب و مناسب : در این قسمت ما میتوانیم از تکنیکهای متعددی برای ایجاد یک تخمین خوب و مناسب بهره بگیریم .

به عنوان مراحلی که کمتر از یک روز  تخمین زده می شوند که تکمیل می شود .

1ساعت       2 ساعت      4 ساعت        8 ساعت

هر بخش در این قسمت ها قرار می گیرد و  اگر زمان تخمین زده شده 3 ساعت میباشد . در قسمت 4 ساعت قرار می گیرد .

قسمتهای بزرگتر به تخمین های بزرگتر  تقسیم بندی میشود .

2 روز    3 روز   5 روز    10 روز

و قسمتهای خیلی بزرگتر به تخمینهای بزرگتر  تقسیم بندی میشوند

1ماه     2 ماه      3 ماه      6 ماه

اکنون با اولیت بندی کل User Stories و تخمین حجم کار ,آماده برنامه ریزی برای سرعت انجام مراحل کار میشویم .

دسته بندی زمان انجام کار به زمان های کوتاه اجازه می دهد که تیم ها برای انجام یک قسمت از مدیریت پروژه آماده شود و

دقت انجام پروژه را بالا می برد .

سرعت به طور کلی از دو روز تا سی روز  با توجه به محدوده عمر تولید یک محصول محدود میشود .هر چقدر عمر تولید یک محصول کمتر باشد , زمان دسته بندی ایجاد محصول نیز کمتر میشود .

یک نکته مهم در رابطه با سرعت پروسه ایجاد محصول "Sprint" هدف هر Sprint میباشد که از یک backlog  تا آماده سازی پروژه برای انتشار میباشد .

پس در انتهای هر Sprint با تمام ویژگیهای مخصوص به آن  باید کامل مورد آزمایش قرار گیرد

یک نکته بسیار مهم این است که برای نظارت بر پیشرفت هر دو Sprint می توانیم از چارت Burndown استفاده کنیم .

این نمودار دلیل اصلی محبوبیت نرم افزار Scrum است .این یکی از بهترین ابزار بصری نرم افزار میباشد که اطمینان حاصل می کند که مراحل پروژه به ترتیب و به موقع انجام میشوند .این ابزار مراحل را روز به روز نمایش می دهد , همچنین تعداد روزهای باقی مانده را نمایش می دهد .

Scrum روزانه :یک ابزار ضروری برای ارائه جریان ارتباطات در میان اعضای تیم میباشد .این یک اعلان گروهی میباشد که اعضای تیم :

1 - لیست کارهای انجام شده در هفته را میتوانند مشاهده کنند .

2 -موانع را شناسایی کنند .

3 - تعیین مراحل در دست اقدام .

Dail Scrum باعث میشود که همیشه اعضای گروه با یکدیگر در ارتباط باشند .

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