این نوشته قرار است به شما بگوید چطور یک فیل را بخورید، یا چطور میتوانید یک کار خیلی خیلی بزرگ را انجام دهید.
بیشتر آدمها فکر میکنند برای انجام یک کار بزرگ باید اول بنشینند و ساعت ها برنامه ریزی کنند و وقتی همه چیز را پیش بینی کردند و یک برنامه دقیق برای ماه ها و سال های آینده ریختند شروع به انجام کار کنند. ولی واقعیت این است که گاهی خود این فرآیند برنامه ریزی آن قدر زمان بر و هزینه بر می شود که دیگر بودجه و انرژی برای اجرای کار نمی ماند. اگر هم پروژه به اجرا برسد دیر یا زود به مشکلاتی بر می خوریم که از قبل نمی توانستیم پیش بینی کنیم و همه زحمات ما برای برنامه ریزی بی حاصل می شود. اینجا می خواهیم راه حل های دیگری که برای انجام یک کار بزرگ وجود دارد را به شما پیشنهاد کنیم.
اگر اسم نرم افزار هایی مانند اماس پروجکت یا پریماورا به گوش تان خورده باشد به احتمال زیاد با رویکرد آبشاری waterfall در مدیریت پروژه آشنا هستید. در این روش هر یک از فازهای نیازسنجی، برنامه ریزی، اجرا و تحویل پروژه پس از اتمام کامل فاز قبلی شروع می شوند. مثل ساختن یک ساختمان که اول مهندس معمار ساختمان را کامل و با جزئیات طراحی می کند، بعد از آن وارد فاز اجرا می شود و هر فاز اجرا مثل ریختن پی، احداث اسکلت، دیوار چینی و نازک کاری پس از اتمام فاز قبلی شروع می شود، اصلاً دلیل نام گذاری این روش به نام آبشاری این است که مثل آبشار وقتی فاز قبل تمام شد دیگر تمام شده و امکان بازگشت و بازنگری وجود ندارد، یعنی نمی توان در زمان دیوار چینی به این نتیجه رسید که طراحی ساختمان باید تغییر کند.
اگر چه این روش بسیار راه گشا بوده و باعث صرف جویی در هزینه و زمان می شود ولی برای همه پروژه ها کارآمد نیست. وقتی شرایط پروژه به گونه ای باشد که نشود همه چیز را از قبل پیش بینی کرد روش آبشاری می تواند نتایج فاجعه باری ایجاد کند. وقتی مشتری شما به درستی نمی داند و یا نمی تواند بداند چه چیزی می خواهد، یا نیازهای بازار و مشتری در حال تغییر باشد و یا خود محصول دارای پیچیدگی هایی باشد که نتوان خروجی را پیش بینی کرد روش آبشاری دیگر کار آمد نیست. یک مسئله دیگر بودجه است، برای پروژه های آبشاری چند ماه و یا چند سال باید بودجه تزریق کرد و تا به پایان رسیدن پروژه هیچ آورده مالی اتفاق نخواهد افتاد.
اولین راه حل جایگزین این است که پروژه را گام به گام انجام دهیم، به این معنی آن را به قسمت های کوچکی که می شود آن ها را مستقل از یکدیگر انجام داد تقسیم کنیم و بعد تمرکز را بر روی انجام یک قسمت بگذاریم تا آن به بهره برداری برسد و بعد سراغ قسمت دوم برویم.
یک مثال خوب برای این رویکرد نرم افزار اسنپ است، اگر شما الآن نرم افزار اسنپ را باز کنید، خدمات گسترده ای از خرید بلیت هواپیما تا خرید غذا یا مایحتاج خانه را در آن می بینید، فرض کنید اسنپ می خواست این پروژه عظیم را به روش آبشاری پیش ببرد، بدون شک نیازمند یک بودجه عظیم بود و در طول چند سالی که او داشت این نرم افزار را توسعه می داد دیگر رقبا بازار او را گرفته بودند، اما اسنپ ابتدا فقط بر روی توسعه یک خدمت خود که جابجایی مسافر بود تمرکز کرد، اول آن را به خوبی پیاده سازی کرد و بعد از راه اندازی آن یکی یکی دیگر خدمات خود را اضافه کرد. به این روش رویکرد افزایشی گفته می شود.
رویکرد افزایشی (Incremental approach)
این رویکرد، خروجی پروژه را به قسمت های کوچک قابل مدیریت می شکند. به این قسمت های کوچک تر «افزودگی» (Increment) گفته میشود. هر افزودگی به نسخه قبلی اضافه می شود و به همین دلیل، بهبود محصول نهایی قدم به قدم انجام میشود.
در این روش محصول در ابتدای پروژه طراحی می شود و تنها طراحی جزئیاتی به بعد موکول می شود که می توان بعدتر درباره شان تصمیم گرفت. سپس محصول به قسمت هایی شکسته می شود و هر قسمت جداگانه ساخته می شود. هر قسمت، پس از آن که ساختش کامل شد با بخش های کامل شده قبلی یکپارچه می شود تا درنهایت محصول بهعنوان یک کل منسجم، شکل بگیرد.
با تعریفی ساده تر، این رویکرد مانند آن است که رویکرد آبشاری را برای قسمت های مختلف محصول به کار بریم. مزیت این روش این است که میشود محصول را به قسمت هایی شکست که بتوان هریک را جداگانه آزمود و نقایص اش را نسبت به روش آبشاری زودتر برطرف کرد.
اما همیشه پروژه به شکلی نیست که بشود آن را به بخش های کوچکتر مستقل از هم تقسیم کرد. در این شرایط به جای انجام گام به گام پروژه آن را لایه لایه انجام می دهیم. به این معنی که همه ابعاد پروژه را اجرا می کنیم اما نه با تمام جزئیات و کیفیت نهایی. یک نمونه خوب برای این روش پادکست چنل بی است. این پادکست که توسط علی بندری تولید می شود و اکنون یکی از پادکست های پر مخاطب فارسی زبان است. قسمت های اول آن چندان کیفیت بالایی از نظر صدابرداری یا اجرا ندارد. به قول خودش او اول منتظر نشد که دوره گویندگی ببینید و تجهیزات کامل صدابرداری را برای خودش فراهم کند و بعد شروع به تولید پادکست کند، او قسمت های اول را با تلفن همراه خود ضبط کرده، خیلی جاهای پادکست صدا افت و خیز دارد ولی او با هر شرایط قسمت اول را منتشر کرده و بازخورد گرفته است. همین بازخورد ها قسمت به قسمت باعث شده کیفیت کار او بهبود پیدا کند و به سطح حرفه ای در پادکست برسد. به این روش رویکرد تکرار شونده گفته می شود.
رویکرد تکرارشونده (Iterative approach)
منظور از رویکرد تکرار شونده این است که فعالیت های پروژه به طور سیستماتیک در چرخه هایی به نام چرخه های «تکرار» دوباره انجام می شوند. کار با طراحی، ساخت و آزمودن ابتدایی ترین و کوچک ترین نسخه از ایده اولیهی محصول آغاز می شود. سپس این محصول اولیه برای آزموده شدن در اختیار چند نفر از کسانی قرار می گیرند که ذینفع هستند (ازجمله کاربران و سرمایهگذاران) تا نسبت به این نسخه از محصول بازخورد دهند. بعد از هر تکرار، نسخهی جدیدی از محصول نهایی ساخته میشود تا زمانی که نسخهی دلخواه به دست آید.
همیشه به یک نکته باید حواستان باشد، که لایه لایه انجام دادن کار به معنی سهل انگاری نیست یا نیمه کاره تحویل دادن پروژه به مشتری نیست، بلکه آن چیزی که به مشتری تحویل می دهیم باید کار کند تا مشتری بتواند در مورد آن به ما بازخورد بدهد.
حالا برویم سراغ این که چطور می شود یک فیل را خورد؟ جواب ساده است لقمه لقمه. بله تنها راه خورد یک فیل (البته اگر مار بوا نباشید) لقمه لقمه خوردن آن است، همان طور که بلندترین قله ها با گذاشتن گامی جلو گام دیگر فتح می شوند.
رویکرد چابک یک روش مدیریت پروژه است که به عنوان جایگزینی برای روش مدیریت آبشاری پیشنهاد شده و برای محیط های غیر قابل پیشبینی که نیازهای مشتری و بازار همواره در حال تغییر است یا محصولی که می خواهیم توسعه دهیم بسیار پیچیده است راهگشا خواهد بود. در این روش مدیریت پروژه ما از هر دو رویکرد تکرار شونده و افزایشی استفاده خواهیم کرد. رویکرد افزایشی و رویکرد تکرارشونده در ذات، مکمل هم هستند و به همین دلیل معمولاً به همراه هم استفاده میشوند تا تأثیرشان تقویت شود و نتایج مورد انتظار پروژه حاصل شوند.
رویکرد تکرارشونده و افزایشی در روش چابک
رویکرد تکرارشونده و افزایشی معمولاً به روش مدیریت پروژه چابک و روش اسکرام مرتبط دانسته میشوند؛ به این خاطر که این رویکرد با یکی از اصول مدیریت چابک همسو است: واکنش نشان دادن به تغییرات بعد از یک دوره برنامه ریزی.
توسعهدهندگان نرمافزار بهجای آنکه به یک رویکرد آبشاری خطی وفادار باشند، در روند شکل گیری محصول به تغییرات، پاسخ هایی سریع می دهند. آنها تغییراتی را بر نسخه قبلی محصول اعمال می کنند و این کار را تا زمانی که نتیجهی دلخواه حاصل شود ادامه می دهند.
استفاده از رویکرد افزایشی، یعنی میتوان مطمئن بود که تغییرات لازم درگامهای ابتدایی پروژه اعمال میشوند، بهجای این که تا پایان پروژه منتظر شویم و زمان اختصاص یافته تمام شود و بودجهی پروژه بهتمامی مصرف شود.
استفاده از رویکرد تکرارکننده، بدین معنی است که بهبودها طی یکروند مداوم ایجاد میشوند و احتمال آنکه محصول نهایی در زمان تعیین شده و باکیفیت مطلوب به دست آید بیش تر است.
اگرچه شروع استفاده از این روش ها از توسعه محصولات نرمافزاری بوده است، این روش ها به حوزههای دیگر هم تسری پیدا کرده اند.
شاید مثالی از یک پروژه عملی بتواند درک ملموس تری از این چهار رویکرد مدیریت پروژه برای شما ایجاد کند. فرض کنید می خواهیم یک جاده بسازیم اگر بخواهید آن را به روش آبشاری انجام دهید (که بیشتر جاده ها به این شکل ساخته می شوند) ابتدا شما باید جاده را با تمام امکانات طراحی کنید و بعد از تأمین بودجه شروع به اجرا کنید و تا زمانی که اجرای کامل جاده انجام نشده باشد بهره برداری از آن امکان پذیر نخواهد بود، پروژه آزادراه تهران – شمال یک نمونه خوب از روش انجام پروژه آبشاری است.
روش افزایشی (گامبهگام)
هیچگاه پروژه ای به نام آزاد راه تهران – تبریز وجود نداشته است. این آزادراه با به هم پیوستن قطعه های کوچک تری چون آزاد راه تهران – کرج ، کرج – قزوین، قزوین – زنجان، زنجان – تبریز تشکیل یافته است. هرکدام از این قطعه ها را می توان یک افزودگی نامید. هرکدام بهصورت مجزا طراحی، بودجه ریزی و اجرا شدند.
روش تکرارشونده (لایهلایه)
جاده چالوس (کرج – چالوس) بهمرور زمان و لایهلایه شکلگرفته است، از زمان قاجار یک راه مالرو بوده، پس از آن در دوره پهلوی اول به راه شوسه تبدیلشده و در پهلوی دوم به راه آسفالت و هر دوره یک لایه به کیفیت تمام جاده افزودهشده است.
تکرارشونده و افزایشی (گامبهگام و لایهلایه)
هر زمان که از جاده فیروزکوه (تهران – قائمشهر) عبور کنید یک بخش آن در حال بازسازی است. این جاده در ابتدا دوطرفه بوده، بهمرورزمان در قطعههایی که نیاز به ارتقاء وجود داشته دوبانده شده و امکانات بیشتری مثل تونل و سیستم روشنایی به آن افزودهشده است. شیوه توسعه این راه یک نمونه خوب از ترکیب رویکرد تکرارشونده و افزایشی است. اگرچه می شد از ابتدا یک آزادراه چهار بانده در این مسیر احداث کرد ولی در این روش با کمترین بودجه بهترین راه ساخته شده است و کیفیت هر بخش بر اساس نیاز مسافران ارتقا پید اکرده است.
امیدواریم با خواندن این مقاله به این نتیجه رسیده باشید که چطور باید یک فیل را لقمه لقمه کنید و بخورید و کارهای بزرگی که در ذهن تان دارید رو چطوری عملیاتی کنید. در نوشته بعدی در مورد این برای شما حرف خواهیم زد که خوردن فیل را از کجایش شروع کنید، یا چطور گام ها و لایه های انجام یک کار بزرگ را اولویت بندی کنید
2 پاسخ
بسیار عالی و روان توضیح دادید آقای خورشیدیان. لطفا اگر از منبع خاصی این مطلب رو تهیه کردید؛ لطف میکنید ذکر بفرمایید؟
سپاس از لطف شما، از چند منبع استفاده شده است که بیشتر دوره های یوتیوب آموزش اسکرام است ولی اصل روش چیزیست که بنا به آزمون و تجربه در کار برای من به دست آمده است.