مدیریت پروژه به مدت بیش از 50 سال به کار برده شده است، اما کاربرد آن جهانی نبوده است. در سال های ابتدایی، وجه تمایزشرکت هایی که از مدیریت پروژه بهره می بردند، این بود که آیا از مدیریت پروژه استفاده میکنند یا خیر، نه این که با چه کیفیتی آن را مورد استفاده قرار می دادند. امروزه، تقریبا تمام شرکت ها از مدیریت پروژه بهره می برند و تمایز آنها در این است که در مدیریت پروزه خوب عمل می کنند یا این که در آن کاملا برتر هستند. تفاوت بین کاربرد مدیریت پروژه و خوب بودن در مدیریت پروژه نسبتا کم است و بیشتر شرکت ها در یک دوره ی زمانی نسبتا کوتاه می توانند به این کیفیت خوب برسند، به ویژه اگر از جانب مدیریت اجرایی
[ارشد] پشتیبانی شوند. یک دفتر مدیریت پروژه ی سازمان یافته نیز می تواند فرآیند بلوغ را شتاب بخشد. با این وجود بین خوب بودن و برتر بودن در مدیریت پروژه تفاوت زیادی وجود دارد. یکی از حیاتی ترین تفاوت ها این است که برتری مستمر در مدیریت پروژه مستلزم سنجه هایی فراتر از زمان و هزینه می باشد. موفقیت یک پروژه نمی تواند تنها از طریق سنجه های زمان و هزینه تعیین شود؛ اگر چه هنوز بر این باور پا فشاری میگردد. شرکت هایی همچون IBM، مایکروسافت، زیمنس، هولت پاکارد، کامپبوتر اسوشیتس و دیولت، تنها تعداد اندکی از شرکت هایی هستند که نتیجه گرفته اند در مدیریت پروژه برترین باشند. برای رسیدن به این مهم و پشتیبانی از مدیریت پروژه، به ابزار ها و سنجه های بیشتری نیاز است. شرکت IBM بیش از 3000000کارمند دارد که 70 درصد آنها بیرون از آمریکا هستند. این تعداد مشتمل بر حدود 20000 مدیر پروژه میشود. هولت پارکاد (HP) بیش از 8000مدیر پروژه و 3500 حرفه ای مدیریت پروژه دارد. این شرکت تمایل دارد این رقم را به 8000 نفر برساند.
پروژه:
یک تلاش موقت است برای ایجاد یک محصول و یا اراِئه خدمات با نتیجه منحصر به فرد است .
رویکرد های پروژه:
آبشاری ((Waterfall))
در این رویکرد پروژه ها در یک مرحله و به ترتیب متوالی انجام میشوند. در واقع در این رویکرد باید یک مرحله قبل از شروع مرحله ی بعدی به اتمام برسد. این روش به اعضای پروژه این امکان را می دهد که فقط روی یک جنبه پروژه تمرکز کنند و برای سازندگان امکان تضمین کیفیت در هر مرحله را فراهم می کند . مدل آبشار یک رویکرد خطی مدیریت پروژه است، که در آن همان ابتدای پروژه نیازهای ذینفع و مشتری را جمعآوری کرده و سپس یک طرح پی در پی برای ایجاد نیاز ها طرح ریزی میکنیم.
مراحل مدل ابشاری :
- الزامات
در این مرحله، تعریف و برنامه ریزی پروژه انجام میشود ((تعیین ساختار شکست پروژه)). همچنین، مشخصات ورودی و خروجی محصول نهایی مطالعه، ارزیابی و علامت گذاری میشود
- تجزیه و تحلیل
اکنون باید مشخصات سیستم (برای تولید مدلهای محصول) و منطق تجاری که تولید را هدایت میکند، تجزیه و تحلیل شود. این موارد زمانی انجام میشود که منابع مالی و فنی برای امکان سنجی، بررسی و حسابرسی شوند.
- طراحی سیستم
در این مرحله، با مطالعه مشخصات مورد نیاز فاز اول، طراحی سیستم صورت میگیرد. طراحی سیستم، ضمن مشخص کردن سخت افزارها و نیازمندیهای سیستم، به تعریف کلی معماری سیستم نیز کمک میکند. در واقع، برای تشریح و بررسی الزامات طراحی فنی مانند زبان برنامه نویسی، سخت افزار، منابع داده، معماری داده و… یک سند مشخصات طراحی ساخته میشود.
- پیاده سازی
با ورودیهای طراحی سیستم، ابتدا سیستم در برنامههای کوچکی به نام واحد، توسعه یافته و در فاز بعدی ادغام میشود.سپس هر واحد برای عملکرد خود، توسعه پیدا میکند و مورد آزمایش قرار میگیرد که به این کار، تست واحد گفته میشود
- یکپارچه سازی و تست
تمامی واحدهای توسعه یافته در مرحله اجرا، پس از آزمایش هر واحد، در یک سیستم، یکپارچه میشوند. نرم افزار طراحی شده، نیاز به تست و آزمایش مداوم دارد تا متوجه شود نقص و خطا وجود دارد یا نه. این تستها انجام میشوند تا هنگام نصب نرم افزار، مشتری با مشکلی مواجه نشود. اگر سیستم تستها را با موفقیت پشت سر بگذارد.
- استقرار سیستم
پس از انجام تستهای عملکردی و غیر عملکردی، محصول یا برنامه شما کاملا کاربردی تلقی میشود. اکنون محصول شما این قابلیت را دارد که در محیط مشتری مستقر شده یا در بازار عرضه شود.
- تعمیر و نگهداری
در این مرحله بعد از استقرار سیستم و شامل تغییراتی در یک سیستم یا یک جزء جداگانه برای تغییر ویژگیها یا بهبود عملکرد است. به بیان دیگر، عملیات تعمیر و نگهداری اصلاحی و کامل، برای بهبود و به روز رسانی محصول نهایی انجام میشود. این فرآیند میتواند شامل به روز رسانی نسخههای قبلی یا انتشار نسخه جدید محصول شما باشد.
تصویر 1-رویکرد ابشاری
مزیت های پروژه های ابشاری:
- روش آبشار، امکان بخش بندی و کنترل را برای کسب و کار شما فراهم میکند. بنابراین، میتوانید برای هر مرحله از توسعه، یک برنامه زمان بندی تنظیم کنید. محصول شما هم میتواند مراحل مدل فرآیند توسعه را جزء به جزء ادامه دهد.
- استفاده از مدل Waterfall بسیار ساده است، چرا که مراحل پیشرفت را کاملا صریح، روشن و قابل درک، بیان میکند.
- از آنجا که هر مرحله از مدل آبشار دارای بخش تحویل و فرآیند بررسی منحصر به فرد است، مدیریت و کنترل آن بسیار ساده است.
- این مدل برای پروژههای کوچکتر که نیازها به خوبی شناسایی و درک شدهاند، به درستی عمل میکند. چرا که فازها جزء به جزء پردازش و تکمیل شدهاند و با هم در تداخل نیستند.
- مراحل مستند سازی و برنامه ریزی اولیه در مدل Waterfall ، به تیمهای بزرگ کمک میکند تا به سمت یک هدف مشترک حرکت کنند.
مثال:
پروژه های ساختمانی که هر مرحله قبل از شروع شدن مرحله ی بعدی به اتمام می رسد.
تصویر2WBS_ پروژه ساختمانی
چابک ((Agile))
این رویکرد راه حل های انعطاف پذیرتر و چند مرحله را ارائه میدهد. در این روش پروژه ها تکراری و افزایشی هستند و باز خورد و محصولات میانی دارند. در این روش، بهجای اینکه رویکرد مدیریت از بالا به پایین، پیروی از یک برنامه تعیینشده و تحویل یکجای پروژه به صورت متمرکز، تحویل سریع، سازگاری با تغییرات، همکاری و تعامل را در اولویت قرار می دهد.
بهطور کلی، رویکرد چابک برای سرعت بخشیدن به اعمال تغییرات و اصلاح پروژه است تا مشتری در نهایت راضی باشد.
تصویر 3- روش اجایل
متودولوژی اجایل چیست:
با اینکه اجایل را بهعنوان رویکردی برای مدیریت پروژه میدانیم، درک این نکته مهم است که مدیریت پروژه اجایل بیشتر یک فلسفه است تا یک روش. Agile از نظر فنی بهخودیخود یک روش نیست، بلکه یک ذهنیت برای نزدیک شدن به نحوه انجام پروژههاست. Agile مشخص نمیکند که از کدام ابزارها و فرآیندها باید استفاده کنید، بلکه فلسفه استفاده از آنها را بیان میکند که به عنوان روش یا متدولوژی اجایل شناخته میشوند.
در واقع، متدولوژیهای اجایل قراردادهایی هستند که یک تیم برای پیشبرد پروژه خود از آنها پیروی میکند.
انواع متدولوژی اجایل:
اسکرام (Scrum):
Scrum در واقع یک چارچوب مدیریت پروژه agile است که انجام وظایف و پیگیری آنها را راحتتر میکند. این چارچوب طراحی شده است تا پروژههای پیچیده را با تجزیه به وظایف کوچکتر و قابل مدیریت به نام Sprint تقسیم بندی کند. اسکرام بر اساس اصول شفافیت، بازرسی و انطباق، با تمرکز بر تولید ارزش بیشتر به صورت مکرر و تدریجی، عمل میکند.
اهمیت و مزایا ی اسکرام در مدیریت پروژه:
- انعطافپذیری و سازگاری
اسکرام به تیمها این امکان را میدهد که به سرعت با تغییرات سازگار شوند. در دنیایی که نیازهای مشتری و شرایط بازار به سرعت در حال تکامل است، توانایی تغییر سریع و پاسخ نیازها بسیار ارزشمند است.
- افزایش بهرهوری و کیفیت
اسکرام با تمرکز بر وظایف کوچک و قابل مدیریت و آزمایش مداوم آنها، به تیمها کمک میکند تا استانداردهای بالای کیفیت را حفظ کرده و بهرهوری بیشتری داشته باشند. بررسیها و بهروزرسانیهای منظم در اسکرام نیز تضمین میکند که محصول در هر مرحله نیازهای مشتری را برآورده کند.
- رضایت مشتری
روندهای تکراری اسپرینت در اسکرام باعث میشود محصول با نیازهای مشتری انطباق بیشتری پیدا کند و رضایت مشتری را افزایش دهد؛زیرا محصول نهایی با دقت بیشتری نیازها و ترجیحات مشتری را درنظر گرفته است.
- مدیریت ریسک
جلسات منظم و ارتباطات مداوم اعضای تیم، امکان تشخیص زودهنگام و کاهش نواقص را فراهم میکند و خطر شکست پروژه را کاهش میدهد. در واقع ماهیت تکرار شونده اسکرام به این معنی است که مشکلات احتمالی زودتر شناسایی و برطرف میشوند.
- رضایت کارکنان و پویایی تیم
اسکرام یک محیط تیمی مشارکتی و توانمند را تقویت میکند و عملکرد کارکنان را بالا می برد. اعضای تیم درک روشنی از نقشها و نحوه مشارکت خود در روندها دارند و عدم وجود سلسله مراتب جدی و ارتباطات باز در تیم باعث ایجاد حس مالکیت در افراد و افزایش مسئولیتپذیری آنها میشود.
لین((Lean)):
این روش در مورد حذف عملکردهای غیرضروری و ارائه ارزش بیشتر به مشتریان نهایی است. هنگامی که صحبت از توسعه نرمافزار میشود، روش Lean تستها و وظایف سنگین را در طول فرآیند توسعه در اولویت قرار میدهد.
Extreme Programming (XP) :
توسعه اجایل طبیعتاً رویکرد بسیار سریعی است. اما روش XP با اسپرینتهایی که معمولاً از یک تا سه هفته طول میکشند، سرعت کار را بسیار بیشتر میکند. ایده این متدولوژی این است که از طریق تکرار سریعتر اسپرینتها و افزایش سطح مشارکت کاربر، پروژهها میتوانند بسیار کارآمدتر اجرا شوند.
Kanban:
Kanban یک رویکرد بصری برای Agile است. تیمها از ابزارهای آنلاین کانبان برای نشان دادن وضعیت دقیق وظایف خاصی که در فرآیند توسعه وجود دارند، استفاده میکنند. کانبان دارای بوردهایی است که هر یک از آنها ستونهایی با وضعیت «انجام نشده»، «در حال انجام» و «انجام شده» دارند. ابتدا وظایف درون ستون «انجام نشده» قرار میگیرد. سپس وقتی اعضای تیم شروع به کار روی هر وظیفه میکنند، آن را به ستون «در حال انجام» منتقل میکنند. پس از تکمیل وظیفه هم، آن را به ستون «انجام شده» انتقال میدهند.
APF:
APF مخفف Adaptive Project Framework است. این روش از این ایده شکل گرفت که عوامل ناشناخته میتوانند در هر زمانی در طول پروژه ظاهر شوند. این تکنیک عمدتاً برای پروژههای IT استفاده میشود که در آن تکنیکهای سنتی مدیریت پروژه جایگاهی ندارند.
این متدولوژی مبتنی بر این ایده است که منابع پروژه میتوانند در هر زمان تغییر کنند. بهعنوانمثال، بودجه میتواند تغییر کند، جدول زمانی میتواند تغییر کند یا اعضای تیمی که روی پروژه کار میکنند ممکن است به تیمهای مختلف منتقل شوند. APF بر منابعی که یک پروژه دارد در مقابل منابعی که یک پروژه نیاز دارد، تمرکز میکند.
ASD:
ایاسدی که مخفف Adaptive Software Development است، به تیمها کمک میکند تا بهسرعت با نیازهای در حال تغییر سازگار شوند. تمرکز اصلی این فرآیند سازگاری مداوم است. مراحل این نوع پروژه که شامل حدس و گمان، همکاری و یادگیری است، امکان یادگیری مداوم را حین پیشرفت پروژه فراهم میکند. تیمهایی که رویکرد ASD را اجرا میکنند، معمولاً در هر سه مرحله ASD به طور همزمان حضور دارند چرا که به دلیل ساختار غیرخطی آن، فازها با یکدیگر همپوشانی دارند.
مدیریت پروژه اجایل از چند جهت با متدولوژی های مدیریت پروژه سنتی متفاوت است:
- رویکرد اجایل انعطافپذیری و بهبود مستمر را نسبت به پیروی از یک برنامه سخت در اولویت قرار میدهد متدولوژیهای چابک بهگونهای طراحی شدهاند که با نیازها و اولویتهای در حال تغییر، سازگار و پاسخگو باشند.
- بر همکاری بین تیمها، مشتریان و ذینفعان تاکید میکند و ارتباطات باز و شفافیت را در طول چرخه عمر پروژه تاکیدمی کند.
- مدیریت چابک از یک دوره زمانی کوتاه به نام اسپرینت (sprint)، برای مدیریت و ردیابی پیشرفت پروژه، با بررسی و ارزیابی منظم برای اطمینان از اینکه پروژه در مسیر خود باقی میماند، استفاده میکند. (جلوتر درباره مفاهیمی مثل اسپرینت صحبت خواهیم کرد)
- روش Agile تلاش و توسعه مداوم بر روی نرم افزاری را که در حال حاضر در حال استفاده کاربران است و میتواند از آنها بازخورد بگیرد و محصول را بهبود بدهد، ترجیح میدهد؛ به جای آن که منتظر پایان پروژه بماند تا محصول نهایی تحویل داده شود.
با این تفاصیل پروژه های اجایل به مشتری اجازه میدهد با محصول کارکند و بازخورد ارائه دهد. از طرفی به تیم اجازه می دهد تغیرات راحت تر اعمال کند و در صورت نیاز، محصول را خیلی سریع اصلاح کند.
مثال: پروژهی ساخت سایت خدمات بانکی که بعد از انجام هر فرایند در سایت مشتری امکان استفاده از بخش تکمیل شده را دارد
تصویر 4- WBSپروژه اجایل
چرخه حیات تکراری(( iterative))
در این چرخه حیات معمولا محدوده کلی هر فاز در آغار پروژه تعیین میشود ولی هزینه و زمان به طور مرتب در حین اجرای پروژه در حال اصلاح شدن است . در این چرخه اجازه دریافت بازخورد مشتری قبل از اتمام پروژه یعنی در زمانی که کار ها نیمه تمام هستند به منظور بهبود روند اجرای پروژه و محصول پایانی داده میشود.
در چرخه حیات تکراری یا ((Itreative))، محصول در هر تکرار، دچار تغییر و دگرگونی میشود بطوری که در هر تکرار، بر روی محصول کار شده و نهایتاً در تکرار آخر، کل محصول آماده خواهد شد.
مثال :
بطور مثال ما در یک پروژه IT با کارفرمای پروژه به توافق رسیدیم که فاز های پروژه را در ابتدای پروژه تعیین کنیم و در هنگام انجام پروژه امکان بازخورد کارفرما به پروژه وجود داشته باشد ولی هزینه ی را به طور مرتب در هنگام اجرا با توجه به روند پروژه تنظیم کنیم.
تصویر5- رویکرد تکراری
چرخه حیات افزایشی(( incremental ))
در این مدل چرخه محصولات میانی داریم ولی بازخوردی به محصولات از طرف کارفرما نداریم.این چرخهء حیات به صورتی است که موارد کامل شده در پروژه به گونه ایی تحویل مشتری داده میشود. که بتواند از آن استفاده لازم را داشته باشد.
در این چرخه حیات توسعه و تکامل پروژه به صورت مرحله ای بوده که در هر مرحله محصول میانی داشته باشیم.
تصویر6-رویکرد افزایشی