گزینههای زیادی برای مدیریت پروژههای نرم افزاری وجود دارد. مزایای استفاده از برنامههای مدیریت پروژه و کیفیت استفاده از آن مشخص است و میدانیم که بررسی نرم افزار بهتنهایی تضمینی برای انجام کار به موقع یا کافی نیست. نداشتن برنامهریزی برای مواقع بحرانی ممکن است به تاخیر در انتشار یا کیفیت ضعیف محصول منجر شود.
سه رویکرد اصلی برای مدیریت پروژه و تحویل نرم افزار عبارت است از:
واترفال
اجایل
دواپس
هدف این مقاله، بررسی مزایا و اشکلات هر یک از این سه رویکرد در روند تحویل پروژه است.
واترفال
شاید بتوان گفت واترفال مرسومترین روش کنترل پروژه است. این اصطلاح از سلسله مایلستونهایی که یک پروژه باید برای تکمیل طی کند، میآید. به عبارت دیگر، مایلستونها بهصورت آبشاری از یکی به دیگری وارد میشوند.
به کار بردن مفهوم واترفال برای مدیریت پروژه از دهه ۱۹۴۰ آغاز شد و از دهه ۱۹۵۰ استفاده از آن به ویژه در صنایع تولیدی به عنوان یک امتیاز شناخته شد. این رویکرد هر فاز اصلی را به یک بازه تحویل جدا تبدیل میکند و بهترتیب دارای مایلستونهای اصلی زیر است:
درک کسب و کار: مستندات فرآیند کسب و کار که اغلب شامل تحلیلهای تجاری هستند.
مدلسازی: شکستن ساختار اصلی برای رسیدن به راه حلی در مدلهای بزرگتر
آزمایش: گروه کنترل کیفیت، بخشهای کامل شده برنامه را آزمایش میکنند.
تست پذیرش کاربر (UAT): مرحله نهایی که در آن گروه تجاری کار بازنگری و پذیرش راه حل را انجام میدهند.
مزیت مدیریت پروژه به سبک واترفال این است که فازهای اصلی به طور شفاف به دو نوع «برو/ نرو» تقسیم میشوند. این راهکار باعث میشود مدیران تجاری راحتتر درباره ادامه یک پروژه و تقسیم بودجه تصمیم بگیرند.
چالشهای رویکرد واترفال شامل سه بخش زیر است:
کار کردن تیمها در حوزههای جداگانه
سخت بودن برآورده کردن انتظارات مشتری
شناسایی مقیاس و دامنه برای بررسی وضعیت
با واترفال، هر گروه به صورت جداگانه فعالیت میکند. انتقال دانش به دشواری صورت میگیرد و ارتباطات بسیار محدود است. علاوه بر این به دلیل سردرگمی درباره کار هر تیم، نتیجه به تاخیر میافتد.
عامل محرک کل پروژه همان چیزی است که کسب و کار به دنبال آن است. چیزی که اغلب نادیده گرفته میشود، ادامه ارتباط با مشتری است. به همین دلیل هم راه حلهایی ارائه میشود که پاسخگوی نیاز مشتری نیست و محصول غیرقابل استفاده است.
شرکتهایی مانند مایکروسافت از مدل «ما بهتر میدانیم» استفاده میکنند. نتیجه این دیدگاه تولید محصولاتی مانند مایکروسافت آفیس ویزاکت و دیگر محصولات مشابه است.
ویزاکت را به یاد نمیآورید؟ شاید به این دلیل که بازخورد مشتری باعث تغییرات کامل آن نسخه شد و در نتیجه ۳۰ روز پس از انتشار، کل محصول از بین رفت!
چالش آخر شناسایی مقیاس و دامنهای برای بررسی محصول است. وقتی پروژهای دارید که در ماه یا سالها طول میکشد، به سادگی میتوان به آن ویژگی جدیدی اضافه کرد و این همان چیزی است که میتواند یک پروژه را نابود کند.
اجایل
اجایل بیشتر در صنایع دیجیتال به کار گرفته میشود و رویکردی جدید در مدیریت پروژه به شمار میآید که از سال ۲۰۰۰ نامش به میان آمد. اجایل رویکردهای متفاوتی از جمله اسکرام دارد اما در مجموع همه مدلها در مفاهیم زیر، مشترک هستند:
تیمهای عملکردگرا و فول استک
اسپرینتها
طراحی مشتری محور
مفهوم تیم عملکردگرا با واترفال فاصله زیادی دارد. در این روش، تیم شما میتواند هر بخش کلیدی پروژه از جمله تحلیل کسب و کار، مهندسی، کد نویسی، تست کیفیت و طراحی را انجام دهد. این روش باعث همکاری نزدیک تیم میشود. خروجی از این رویکرد ایجاد ارتباط در تمامی مراحل پروژه است و همین منجر به دومین مفهوم کلیدی اجایل، یعنی اسپرینت میشود.
اسپرینتها اساسا بازههای زمانی دو هفتهای هستند. (البته میتوانند بین یک تا چهار هفته تغییر کنند اما مدل دو هفتهای رایجترین نوع است.) در ابتدای هر اسپرینت، کارهای قابل تحویل برنامهریزی میشوند. در پایان اسپرینت، موارد تکمیل شده، تحویل داده میشوند. به عبارت دیگر، هر دو هفته تیم مقداری از کل پروژه را تکمیل میکند.
هر اسپرینت تیم از مشتری بازخورد میگیرد چرا که طراحی مشتری محور سومین مفهوم کلیدی اجایل است. در این روش کارها برای مشتری به نمایش گذاشته میشود و بازخورد آنها در طراحی دوباره مورد توجه قرار میگیرد. استفاده از اسپرینت باعث میشود تیم فرصت واکنش به نیازهای مشتری را داشته باشد. علاوه بر این دامنه بررسی را کاهش میدهد.
با این حال اجایل نیز مشکلاتی دارد. اولین مشکل آن، فرهنگ است.
حرکت به سمت اسپرینت با تیم عملکردگرا دشوار است زیرا ما سالهاست که یاد گرفتهایم با تیم خاموش و تک بعدی کار کنیم. علاوه بر این مفهوم استفاده از اسپرینت میتواند باعث مشکلاتی در تعیین اینکه چه زمانی کار تکمیل شده به شمار میآید، شود. شما کار را وقتی تمام میکنید که اسپرینت تمام شده باشد، اما هنوز هم نکاتی برای بهبود و یادگیری است.
به نظر میرسد حرکت به سمت ترکیب بخشهای خوب واترفال و اجایل میتواند به ایجاد راه حلی به نام سامرفال (ترکیب اسکرام، اجایل و واترفال) ختم شود. این رویکرد میتواند به سازمانها برای تغییر فرهنگ از مدل تحویل یکباره به سایر مدلهای تدریجی کمک کند.
دواپس
جدیدترین مدل تحویل پروژه دواپس نام دارد که ترکیبی از توسعه و عملیات است. دواپس مزایای اجایل را با تفاوتهای زیر دارد:
همکاری در توسعه و عملیات
اتوماسیون
تحویل دنبالهدار
با دواپس، تیم اصلی شامل تیم عملیاتی میشود و هدف این است که راهی برای خلق موجودی زنده بیابید. در این شیوه نشانه خاصی از پایان نمیبینید و فقط براساس بازخورد همه تیمها، بهبود را ادامه میدهید. تیمهای حرفهای دواپس، تیمی امنیتی در گروه اصلی است که دوسکآپس نام دارد.
دومین ویژگی قدرتمند دواپس، اتوماسیون است. به کمک این ویژگی تمامی فیچرها و مراحل از جمله تست، کد نویسی، انتشار، ارتباط، شبکه منابع و تقاضای ارتباط با مشتری، اتوماتیک میشود.
از این طریق میتوانید مقیاسی اثرگذار برای تیم و از بین بردن خطاهای انسانی اجتناب ناپذیر بیابید. هدف نهایی، حرکت به سمت مدل تحویل دنبالهدار است. تیمهای قدرتمند که به طور مداوم مشغول ارزیابی مشتری هستند، به وسیله اتوماسیون سرعت تحویل بیشتری دارند. دیگر لازم نیست سالها برای یک آپدیت بزرگ صبر کنید. با دواپس میتوانید همین حالا هزاران آپدیت روزانه تحویل دهید.
دواپس یک مدل مشتری محور است که تیم را قادر میسازد تا تجربه مشتری را با روشی مداوم بهینه کنند. مانند اجایل، چالش این روش برای بسیاری از شرکتها جهشی بزرگ به سوی دواپس است. رویکرد، طرز فکر، مهارت و نیازهای مدل مشتری محور، به گروهی خاص نیاز دارد و شرکتها باید بر جذب چنین افرادی سرمایه گذاری کنند.
نکته پایانی
نکته اصلی این است که شما باید بر روی یک رویکرد توافق کنید. پروژهها خود به خود مدیریت نمیشوند و همیشه کمیتهای برای کنترل آنها لازم نیست. شرکتها قبل از شروع کار باید یک شیوه مدیریت پروژه را انتخاب و معیارهای موفقیت پروژه را تعریف کنند.
این شیوه به شما این امکان را میدهد تا ببینید آیا در مسیر در حال تحقق اهداف هستید یا خیر. از بسیاری جهات، رویکرد اجایل برای تحویل پروژهها آسانتر است. در این شیوه تیمها کوچک و کاربردی هستند و به دلیل تمرکز اسپرینتها بر بخش مشخصی از پروژه، سرعت تحویل بالاتر میرود.
اگر میتوانید مقداری از اتوماسیون دواپس را به تیم اجایل اضافه کنید و برای کدنویسی، تست، استقرار و بررسی از آن استفاده کنید تا به راهحل بهتری برسید.
فراموش نکنید که در نهایت هدف شما رضایت مشتری است و باید آنچه را که میتوانید برای رسیدن به این هدف به کار بگیرید.
ترجمه آزاد: Waterfall vs. Agile vs. DevOps: What’s the Best Approach for Your Team