امروزه مدیریت چابک یا اجایل تبدیل به اصطلاح پراستفاده ای شده است که تیم های خارج از صنعت توسعه نرم افزار نیز در حال تلاش برای به کارگیری آن در جریان امور جاری خود هستند. اما باید دانست که مدیریت چابک مناسب همه افراد نیست.
برای مثال یک آژانس تبلیغاتی هیچ وقت نمی تواند از مدیریت اجایل استفاده کند. چرا که مشتری های آن برای یک کمپین تبلیغاتی کامل نشده به آن پول نمی دهند. بازبینی ها و اصلاحاتی در کمپین انجام می شود اما تعداد آنها به طور دقیق در قرارداد مشخص شده است. به علاوه چیزی به نام “روش های کاری فزاینده یا افزایشی” وجود نداردو شما یا نتایج قابل تحویل کاملی دارید یا هیچ چیزی ندارید.
همچنین مدیریت پروژه چابک یک رویکرد مناسب برای همه ی پروژه های نرم افزاری نیز نیست. اگر شما به مشتریان خود دسترسی نداشته باشید نمی توانید فرآیندهای تکرار مدیریت چابک را انجام دهید. همچنین اگر ساختار سازمانی پیچیده ای بر شرکت شما حاکم باشد، تبعیت از مبانی مدیریت چابک بسیار مشکل خواهد بود.
بهترین کارکرد مدیریت اجایل زمانی خواهد بود که:
• قادر به تخمین زمان مورد نیاز خود نیستید و حوزه نیازمندی های خود را نمی شناسید.
• نمی دانید که آیا نیازی به نرم افزار شما در بازار وجود دارد یا خیر.
• قادر به شرح نیازهای کار و تجارت خود نیستید بنابراین طرح شما در مراحل تست و خطاگیری شکل می گیرد.
• محدودیتی برای دسترسی به مشتری خود ندارید و مشتری شما برای داشتن رابطه مداوم با تیم شما آماده است.
• شما قادر به انجام فرآیندهای تکرار در تولید و تکمیل تدریجی محصول هستید و ملزم به تکمیل یک محصول کامل به یک باره نیستید.
• نه شما و نه مشتری شما دارای بوروکراسی پیچیده ای در سازمان خود نیستید که تصمیم گیری را به تعویق بیندازد.
• مشتریان شما بودجه و لیست از قبل تعیین شده ندارند.
• شما باید قبل از به وجود آمدن رقابت در بازار آن را تسخیر کنید.
• مشتریان شما مشکلی برای آپدیت کردن نرم افزار خود ندارند (یا اصلا به آن توجه نمی کنند، برای مثال از یک برنامه کاربردی تحت وب استفاده می کنند.)همانطور که دیدید، مدیریت چابک بیشتر مناسب سازمان های با اندازه کوچک تا متوسط هستند تا سازمان های بزرگ. دلیل آن ساده است: هرچه تعداد افراد کمتر باشد، تصمیم گیری و پاسخ به تغییرات آسان تر خواهد بود. همچنین مدیریت چابک بیشتر مناسب شرکت های تولید محصول است تا مشاوره.
همچنین کاربرد مدیریت چابک در استارتاپ ها بسیار مناسب است، چرا که “شکست سریع” اصطلاح پرتکرار و غالب در چنین محیط هایی است.
سزمایه گذاران حوزه استارتاپ همواره در حال تشویق استارتاپ ها به تجربه ایده های عجیب و غریب هستند و برای بقا یا نابودی این ایده ها به بازار اجازه می دهند تا کار خودش را بکند. بیشتر طرح ها و ایده ها شکست می خورند اما آنهایی که موفق می شوند دنیا را دچار دگرگونی خواهند کرد.
مزایای به کارگیری مدیریت چابک
• نرم افزار سریعتر نصب و راه اندازی می شود بنابراین مشتری شما ارزش محصول را زودتر دریافت می کند.
• منابع کمتری به هدر می دهید چرا که همیشه بر روی وظایف به روز کار می کنید.
• با تغییرات بهتر تطابق پیدا می کنید و سریع تر به آنها پاسخ می دهید.
• زمان برگشت های سریع تر و انعطاف پذیری بیشتری دارید.
• مشکلات و نقص های نرم افزار را سریعتر شناسایی و برطرف می کنید.
• زمان کمتری را صرف بوروکراسی سازمانی و چنین کارهای بی معنایی می کنید.
• یک اجتماع بزرگ استفاده گنندگان از مدیریت چابک وجود دارد که شما می توانید با آنها به تسهیم دانش بپردازید.
• می توانید بازخوردهای فوری از نتایج کار خود دریافت کنید که این امر باعث بهبود روحیه تیمی نیز می شود.
• توسعه دهندگان با استفاده از بازخورد تضمین کیفیت (QA feedback) می توانند توانایی کد زدن خود را بهبود بخشند.
• نیازی نیست نگران بهینه سازی های قبل از موعد باشید.
• می توانید ایده هایی که حین کار به ذهنتان می رسد را آزمایش کنید چرا که هزینه ی این کار بسیار کم است.
معایب مدیریت پروژه چابک
با این حال که مدیریت چابک مزایای بسیاری دارد اما آگاهی از محدودیت ها و ریسک هایی که به همراه دارد نیز بسیار مهم است. در ادامه چند مورد از این دست را برشمردیم:
• فرآیند مستند سازی اطلاعات در مدیریت به سبک اجایل به حاشیه کشانده می شود که این امر هماهنگی و انطباق اعضای جدید با گروه را مشکل می کند.
• اندازه گیری میزان پیشزفت کار در مدیریت چابک بسیار دشوارتر از مدیریت آبشاری است چرا که پیشرفت پروژه در دل چندین چرخه صورت می گیرد.
• مدیریت اجایل نیازمند گرفتن زمان و انرژی بیشتری از همه ی اعضای درگیر در پروژه است چرا که توسعه دهندگان و مشتریان باید به طور دائم با یکدیگر تعامل داشته باشند.
• وقتی کار تیم توسعه دهنده تمام می شود آنها نمی توانند درگیر پروژه دیگری شوند. چرا که به زودی حضور آنها در تیم نیاز می شود.
• پروژه ها می توانند تا ابد ادامه پیدا کنند چرا که هیچ خزش دامنه مشخص و محدوده خاصی برای ویژگی های محصول وجود ندارد.
• مشتریانی که بودجه و فهرست مشخص و از پیش تعیین شده ای برای پروژه خود در نظر گرفته اند نمی توانند متوجه شوند پروژه در نهایت چقدر برایشان هزینه خواهد داشت که این امر چرخه فروش را دشوار خواهد کرد.(اینکه برای دانستن هزینه واقعی پروژه باید تا پایان آن صبر کرد چیزی نیست که مشتریان از شنیدن آن خوششان بیاید.)
• محصولات به طور کلی از لحاظ تجربه کاربری و طراحی دارای نقصهایی هستند که منجر به این می شود که شما بیشتر بر روی محصول کار کنید.
• ممکن است تیم برای تحویل عملکرد های جدید به حاشیه کشیده شود و این امر به قیمت قصور فنی (technical debt) در پروژه شما و افزایش مقدار کار برنامه ریزی نشده تمام می شود.
• امکاناتی(features) که قابل برنامه ریزی دریک یا حتی چند چرخه مدیریت چابک نباشند اصلا اجرا نمی شوند چرا که قابل انطباق با ماهیت مدیریت اجایل نیستند.
• شما نیازمند یک دیدگاه بلند مدت برای محصول خود هستید و به طور فعال باید ارتباط برقرار کردن با آن کار کنید.
• محصولات پیوستگی ندارند و تجربه کاربر از محصول نیز به صورت تقسیم شده و تکه تکه است چرا که طراحی محصول و تکمیل هر یک از ویژگی ها به صورت تقسیم شده است. هر چه زمان تولید محصول بیشتر باشد بخش های نرم افزار پیوستگی کمتری دارند.
• چرخه های کوتاه مدت زمان زیادی برای فرآیند تفکر در مورد طراحی محصول باقی نمی گذارند بنابراین توسعه دهندگان باید براساس بازخوردخای منفی و تجربه بارها و بارها به توسعه مجدد بپردازند.