هومن امینی
هومن امینی
خواندن ۴ دقیقه·۵ سال پیش

استفاده از Agile و Scrum خارج از توسعه نرم افزار

لینک کانال بنده در یوتوب، عضویت شما در این کانال باعث امتنان است.

در زندگی، کسب و کار و خصوصا این روزها ما دائم با کارهای بزرگ تغییر پذیر مواجه می‌شویم که می بایست آنها را مدیریت و انجام دهیم و مثال نمادین کارهای بزرگ روش خوردن یک فیل است. :)

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

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

به اصطلاح به این کار lunch and Learn گفته می شود.

اما خصیصه های که در تولید نرم افزار مورد نیاز و بسیار مهم است که می بایست به خوبی مدیریت شود
و روش های مثل Agile این موارد را برای ما به بهترین روش ممکن پوشش می دهند، شامل عناوین زیر است:

  • پیچیدگی زیاد
  • دارای تغییرات زیاد
  • محدوده تغییر پذیر
  • ارایه محصول در کوتاهترین زمان ممکن

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

از همه مهمتر با توجه به وضعیت کسب و کارها در شرایط اقتصادی این روز های ایران و جهان و تهدیدهای مثل کرونا و جنگ، بیشترین نیاز به مدیریت تغییر و ارائه محصول در کوتاه ترین زمان احساس می شود.

اما در روش های چابک چه کارهای انجام می‌شود که می توانیم در سایر حوزه‌ها از این روش استفاده نماییم.

  • یک نفر به عنوان مدیر محصول یا صاحب محصول (Product Owner) انتخاب می شود
  • نیاز های مخاطبین و یا مشتریان به صورت داستانهای که آنها تعریف می کنند یا User story گرفته می شود.


  • تقسیم کار به تکه های کوچک قابل ارایه در زمان محدود حداکثر سه هفته، توسط مدیر محصول و نوشتن آنها در در یک مانیفست با عنوان Product Backlog

توجه نمایید کارهای باید قابل Release باشد و قابل استفاده توسط مخاطبین (خودمان یا مشتری) باشد
و بتوان بازخورد کار از مخاطبیان آن کار گرفته شود و توجه کنید، اگر کاری از نظر زمانی بیشتر از این زمان
طول می‌انجامد می بایست به کارهای کوچکتر تقسیم گردد

توجه : لازم نیست در ابتدای پروژه تمام کارها استخراج گردد، کارها در طول پروژه به مرور
بسته به هدف، شرایط محیطی، بازار، نیاز مشتری و یا همان User Story ها و منابع تشخیص و
استخراج می گردد.

  • تکه کارهای اولویت بندی می گردد.
  • بسته به نیاز کارها یک تیم با تخصص های مورد نیاز ایجاد می گردد
  • در ابتدای هر یک از دوره های sprint ها (حداکثر سه هفته) وظایف توسط تیم تخمین و تخصیص داده می شود

توجه کنید وظایف با توجه به قابلیت و زمان اعلام شده توسط عضو تیم به اعضا تخصیص می یابد.

  • هر روز تیم جلسه روزانه کوتاه (Daily) حتی سرپایی برگزار می کنند و موارد را بررسی و برای مشکلات احتمالی برنامه ریزی می نمایند.
  • در پایان دوره های sprint جلسات با تمام اعضا تیم برگزار می گردد و برای دوره بعدی برنامه ریزی می گردد و همچنین کارهای دوره های قبل بازبینی می گردد و اگر نیاز به کار جدید باشد به مانیفست اضافه می شود.

و به همین ترتیب یک کار بزرگ با تغییرات زیاد به مرور پیشرفت و در نهایت انجام می شود.

در پایان پیشنهاد می کنم فیلم زیر را مشاهده فرمایید و خواهشمند است سرورانی که قطعا تو این حوزه ها علاقه مند و متخصص هستند در قالب مقالات تکمیلی و در قالب اظهار نظر راهنمایی و بحث را تکمیل فرمایند.


https://www.youtube.com/watch?v=9TycLR0TqFA&list=WL&index=1
مدیریت تغییراتکروناپسا کروناشرایط اقتصادی
برای یادداشت اینجا می نویسم اگر بدرد کسی هم خورد تو روحم گل باز میشه - مهندس نرم افزار - توسعه دهنده وب در فناپ
شاید از این پست‌ها خوشتان بیاید