انجام هر کاری بدون در نظر گرفتن راه و روش خاص آن به نتیجه مطلوب نخواهد انجامید. این بدان معنی است که می توان اهداف و مقصود خود را در تمامی کارهای زندگی شناسایی نموده و با شکست برنامه ی کلان به گام های کوچکتر، مراحل را تا حصول نتیجه ی نهایی طی نمود. در ابتدا با شناخت هدف مراحل اجرای آن مد نظر قرار می گیرد و برای هر مرحله ملزومات آن همچون؛ بودجه کافی جهت انجام پروژه و یا منابع مالی قابل تخصیص، احتساب زمان، به خدمت گیری تجهیزات فنی، نیروی انسانی و ... منظور می گردد.
یاسر استادحسین، روزنامه سایه، شماره 618، 27 فروردین 1394
شما عملاً با پیشبرد هر گام، برنامه های خود را مدیریت می کنید و شکست یا موفقیت شما در اجرای نهایی برنامه رابطه مستقیمی با این گام ها خواهد داشت.
پروژه های نرم افزاری و فناوری اطلاعات نیز از جمله پروژه هایی می باشند که به علت عدم رعایت همین اصول به راحتی و با صرف هزینه های گزاف یا به طور کلی به شکست می انجامند و یا به نتیجه مطلوب دست نمی یابند. در این نوشتار قصد بر آن داریم تا به مدیریت پروژه بر محصولات نرم افزاری بپردازیم.
یک فعالیت را می توان پروژه نامید در صورتی که از سه مؤلفه پیروی نماید: 1. محدوده هدف گیری، 2. محدوده زمانی، و 3. محدوده هزینه ای. اهداف قلب مأموریت و منظور از آغاز یک پروژه می باشند از این رو در مورد محدوده هدف گیری در پروژه های نرم افزاری باید گفت که مشکل ترین قسمت ساخت یک سیستم نرم افزاری، تصمیم گیری در مورد آن چیزی است که باید ساخته شود، و هیچ بخشی را نمی توان یافت که اگر اشتباه انجام شود، همانند این بخش از کار، سیستم را فلج کند. مدیر پروژه نیز با برقراری یک تعادل نسبت به این مؤلفه ها باید بکوشد آنها را با هم مرتبط و متقابل سازد.
طی گزارشی که از سوی مؤسسه Chaos با عنوان "دستورالعمل موفقیت" منتشر گردیده است به عواملی همچون؛ پشتیبانی اجرایی، همکاری و درگیری کاربر، مدیر پروژه باتجربه، مقاصد کاری- تجاری کاملاً روشن، محدوده عملیاتی روشن و محدود شده، زیرساخت های استانداردهای نرم افزاری، شناخت نیازهای بنیادین بصورت متقن، استفاده از متدولوژی های متعارف و فرموله شده، تخمین قابل اعتماد (شامل بودجه، زمان، نیروی انسانی و ...)، اشاره شده است که کسب موفقیت یک پروژه نرم افزاری را به ارمغان خواهد آورد.
همچنین در گزارش دیگری از این مؤسسه میزان درصد شکست پروژه های نرم افزاری برشمرده شده است که عبارت بودند از: 16 درصد از پروژه های نرم افزاری به موفقیت کامل رسیده اند، 31 درصد قبل از اتمام رها و یا متوقف شده اند، 53 درصد نیز یا با بودجه ای مضاعف مواجه شده اند و یا دیرتر از مؤعد مقرر به پایان رسیده، و یا آنکه مشخصات کمتری از طرح اولیه و مورد نظر را پاسخ گو بوده است. در سال 2001 نیز این مؤسسه با بررسی 23 هزار پروژه اعلام داشت؛ 28 درصد پروژه ها کاملاً شکست خورده، 46 درصد با هزینه و زمان اضافی همراه بوده و تنها 26 درصد موفق بوده اند.
Alford و Lawson
در مقاله ای با عنوان "متدولوژی مهندسی درخواستهای نرم افزاری" نیز از جمله عوامل شکست پروژه های نرم افزاری را ضعف دریافت اطلاعات از کاربر در مورد پروژه، ناقص بودن جمع آوری درخواست ها و نیازها، تغییر درخواست ها و یا نیازهای پروژه در طول انجام آن، ضعف پشتیبانی اجرایی و عدم آشنایی، ضعف و یا نداشتن دانش کافی تکنولوژی، بر شمرده اند.
همانگونه که پیشتر اشاره شد مهمترین راه برای رسیدن به سطح مطلوب در مدیریت پروژه شکست برنامه ی کلان و به روایتی فازبندی نمودن پروژه می باشد چرا که از شکست پروژه جلوگیری می نماید. معمولاً در پنج فاز مراحل شکل گیری پروژه را ترسیم می نمایند. فاز آغازین پروژه نرم افزاری بر چگونگی پیدایش دید نسب به پروژه و تعیین اهداف تأکید دارد. تخمین اینکه این نرم افزار چه خدمتی را ارائه دهد، هدف کلی از تولید آن چیست، انتظارات کاربران و کارفرما از آن چه می باشد، محدوده کلی پروژه و انتخاب اعضاء تیم تولید محصول در این فاز صورت می پذیرد. فاز دوم برنامه ریزی است که شامل تعیین منابع لازم، زمانبندی و تهیه بودجه مورد نیاز برای تولید محصول نرم افزاری می باشد. از مهمترین فعالیت های این فاز می توان به؛ برقراری تعادل بین سه عامل نتیجه، زمان و منابع، تهیه فهرست فعالیت ها برای دست یابی به اهداف، ترسیم بهترین شکل توالی فعالیت ها، تهیه یک برنامه و بودجة کارا جهت تخصیص منابع به فعالیت ها و گرفتن تأییدیه های لازم برای تولید محصول نرم افزاری، اشاره نمود.
فاز سوم مربوط به فعالیت های هماهنگ سازی و راهبری تیم پروژه می باشد که رهبری تیم پروژه، برگزاری جلسات با اعضاء تیم، ارتباط با افراد مهم درگیر و حل و فصل مناقشات در این فاز جای می گیرد.
هدایت و کنترل در فاز چهارم می باشد که بر چگونگی انجام پروژه نظارت می شود. نظارت بر اجرا و گزارش اختلاف ها با برنامه ها، اتخاذ تصمیمات اصلاحی برای منطبق کردن اجرا با برنامه، تصمیم درباره تغییرات در پروژه و تطبیق سطوح منابع در صورت نیاز از جمله مراحل این فاز است.
در فاز پایانی نیز بستن پروژه مطرح می شود. زمانی که بازتاب همه فعالیت ها و تلاش های انجام شده را می توان دید. اغلب پایان پروژه های ناموفق با تمام شدن بودجه و مناقشات پیمانکار و کارفرما همراه است، در غیر اینصورت تمامی روال ها و اهداف از پیش تعیین شده، طبق برنامه محقق گردیده اند و پایانی خوبی در انتظار پروژه می باشد. در این فاز کسب و مستند کردن نتایج و نگارش راهنماهای راهبری نرم افزار، بازبینی روند اجرا، انحلال تیم پروژه، و نوشتن گزارش نهایی انجام می شود.