غول‌های نرم‌‌افزاری مشهور از کدام روش کنترل پروژه استفاده می‌کنند؟

شاید وقتی نام کنترل پروژه به میان می‌آید، با خود فکر کنید که فقط یک راه برای این کار وجود دارد. (همان شیوه قدیمی دنبال کردن لحظه به لحظه کارها از لحظه اول تا آخر.)اما خوشبختانه این روزها دنیای کنترل پروژه تفاوت‌های زیادی کرده و متناسب با نوع پروژه و خواسته‌های کارفرما و مجری از خودش انعطاف نشان می‌دهد.اگر به دنبال راهی برای کنترل پروژه‌های نرم افزاری هستید، باید بگوییم این روزها دو شیوه اصلی برای این کار وجود دارد:واترفال (روش آبشاری)اجایلمن در این مقاله به‌صورت خلاصه به ویژگی‌های هر کدام اشاره می‌کنم.واترفالواترفال رایج‌ترین و در واقع سنتی‌ترین روش کنترل پروژه‌های نرم افزاری است.نام دیگر واترفال، آبشاری است و در آن مایلستون‌های یک پروژه پس از تکمیل مثل آبشار باعث ایجاد مایلستون‌های بعدی می‌شوند.این شیوه، کار مدیران را برای تصمیم‌گیری درباره ادامه پروژه و بودجه‌بندی راحت می‌کند اما مشکلات زیادی هم دارد.اول اینکه به دلیل اینکه کارها پشت سر هم و براساس توالی خاص انجام می‌شود، نمی‌توان پروژه را به اصطلاح خرد کرد و به ناچار باید زمان زیادی صرف انجام یک پروژه کرد. این شیوه به ویژه در پروژه‌های بزرگ دردسرساز است.دوم اینکه تیم‌های مختلف در حوزه‌هایی جداگانه کار می‌کنند و با هم هماهنگ نمی‌شوند. هر مشکل کوچکی در هر تیمی ممکن است کار کل پروژه را تعویق بیندازد.سوم اینکه به دلیل زمانبر بودن پروژه‌های واترفال، فهمیدن نیازهای مشتری و رفع آن سخت است.چهارم اینکه باید به سختی راهی برای بررسی و سنجش وضعیت پیدا کرد.و در آخر توسعه محصولاتی که با سبک واترفال ساخته می‌شود سخت است. چون احتمالا مجبور می‌شوید دوباره همان مسیر را طی کنید.با این حال شرکت‌ مایکروسافت در تولید محصول ناموفق آفیس ویزاکت Microsoft Office VizAct از آن استفاده کرده و البته که شکست خورده!به‌طور کلی این روش به ویژه در دنیای نرم افزار تقریبا منسوخ شده است.اجایلاجایل پرطرفدارترین شیوه کنترل پروژه‌های نرم افزاری است. اجایل یا چابک ۱۲ اصل دارد و معتقد است بیشتر از هرچیز باید به دنبال رضایت مشتری باشیم و این کار را باید از طریق ارتباط مداوم و به‌روز رسانی محصول انجام داد.در اجایل پروژه به بخش‌های خرد تقسیم می‌شود و یک یا چند تیم کوچک به‌صورت موازی به تولید و توسعه محصول می‌پردازند. در تمام مراحل تیم با مشتری ارتباط مستقیم دارد، پس در نتیجه محصول سریع‌تر و مطابق سلیقه مشتری ساخته می‌شود.البته اجایل هم مشکلات مخصوص به خود را دارد. مثلا اینکه همه اعضای تیم باید به کار تیمی معتقد باشند و با بقیه هماهنگ شوند.اجایل، متدهای شیوه‌های مختلفی دارد از جمله:- اسکرام (Scrum)اسکرام در میان توسعه‌دهندگان، محبوبترین، پرکاربردترین و البته رایج‌ترین متد به شمار می‌آید.اسکرام شامل رویدادهای اختصاصی مختلفی از جمله استندآپ روزانه، پلنینگ، دمو و رترو است.یک تیم اسکرام بین سه تا ۹ نفر است. چرخه اسکرام یک بازه زمانی یک تا چهار هفته‌ای است که اسپرینت نامیده می‌شود. (معمولا همه تیم‌ها دو هفته‌ای آن را برگزار می‌کنند.)کوتاه بودن زمان هر اسپرینت باعث می‌شود، مشتری زودتر به نتیجه مطلوب برسد. با این حال اسکرام نیز نقاط ضعف مخصوص خود را دارد و در صورت اجرای نادرست ممکن است شما را با در بسته مواجه کند.لگو، اسپاتیفای، یاهو، جنرال الکتریک، مایکروسافت، ادوب، نوکیا، زیمنس و گوگل از جمله شرکت‌هایی هستند که از اسکرام استفاده می‌کنند.- کانبان (Kanban)در کانبان تمام جریان تولید از لحظه اول تا آخر روی تخته دنبال می‌شود. هرچند که اینجا محدودیتی برای تعداد اعضای تیم وجود ندارد اما محدودیت ظرفیت تولید وجود دارد و اعضای تیم باید به یکدیگر کمک کنند تا یک محصول به انتها برسد و سپس به سراغ کار جدید بروند.این روش ابتدا در کارخانه تویوتای ژاپن مورد استفاده قرار گرفت.- برنامه نویسی اکستریم (XP)این روش بر اصولی مانند ارتباطات، سادگی، بازخورد، شجاعت و احترام تاکید دارد و برای توسعه دهندگانی مناسب است که حتی در مراحل پایانی توسعه نیز هرگونه تغییر در نیاز و سفارش مشتری را می‌پذیرند. در این شیوه برخی از مشکلات یا تغییرات مستند نمی‌شود و همین موضوع می‌تواند دردسرساز شود.- توسعه ناب (Lean Development)روش تولید ناب یا لین نیز ابتدا در شرکت تویوتا اجرا شد. در این شیوه تمام فعالیت‌های اضافی حذف و تمرکز کامل بر کدنویسی است به همین دلیل به شدت به مستندات وابسته است. این روش نیز برای تیم‌هایی با تعداد زیاد اعضا مناسب است.- کریستالاین روش برای انواع تیم‌های کوچک یک تا هشت نفره، تیم‌های متوسط ۱۰ تا ۲۰ نفره و تیم‌های بزرگ ۵۰ تا ۱۰۰۰ نفره است. در این شیوه در هر مرحله مشکلات بررسی و محصول به روز رسانی می‌شود. تعامل اعضای تیم بسیار بالاست اما از طرف دیگر به دلیل قابل کنترل نبودن اعضای تیم، مدیریت پروژه دشوار است.منابع:https://pm.stackexchange.com/questions/2115/famous-projects-using-scrumhttps://www.cprime.com/resources/what-is-agile-what-is-scrum/https://www.seguetech.com/waterfall-vs-agile-methodology/https://www.simplilearn.com/waterfall-vs-agile-vs-devops-article?source=frs_left_nav_clicked