بحران نرم افزار
تحقیق و بررسی بر روی فرآیندهای توسعه ی نرم افزار مورد استفاده در شرکت های خارجی و مقایسه ی آن با فرآیند توسعه ی نرم افزار در شرکت های ایرانی کمک می کند تا درک بهتری از دلایل پایین بودن کیفیت نرم افزار های ایرانی نسبت به خارجی داشته باشیم. البته با وجود متدولوژی و فرآیندهای مختلف توسعه ی نرم افزار، باز هم نرخ شکست پروژه های صنعت نرم افزار از دیگر صنایع بالاتر است. در این پست به ارائه ی آمار از سرنوشت پروژه های نرم افزاری و بررسی دلایل به وجود آمدن بحران نرم افزار می پردازیم.
بحران نرم افزار چیست؟
بحران نرم افزار یا Software Crisis عبارتی است که در روزهای آغازین علوم کامپیوتر، برای نمایش پیچیدگی بالای ساخت برنامه های کاربردی و بهینه ی کامپیوتری در مدت زمان مشخص به کار می رفت. پیشرفت شگرف سخت افزار همراه با ضعف روش های تولید نرم افزار در کنترل پیچیدگی ساخت آن، بحران نرم افزار را به وجود آورد.
علائم بحران نرم افزار چیست؟
- عدم بهره گیری کامل از قدرت سخت افزار
- ناتوانی روش های تولید نرم افزار در پاسخگویی به افزایش تقاضا
- هزینه های هنگفت تولید نرم افزار
- عدم تحویل به موقع
- عدم تامین نیازمندی های کاربر
- کیفیت پایین و پایدار نبودن نرم افزار
آیا بحران نرم افزار تمام شده است؟
با توجه به نتایج بررسی های Standish Group که سالانه منتشر می شود، نرخ موفقیت پروژه های نرم افزاری در سال ۱۹۹۵ از بین هر ۶ پروژه، ۱ پروژه و امروزه از بین هر ۳ پروژه بیش از ۱ پروژه می باشد. نرخ موفقیت پروژه ها، در جدیدترین نتایج بررسی های این گروه در سال ۲۰۱۳ که به صورت عمومی در دسترس همگان قرار داده شده است، افزایش زیادی را نشان می دهد؛ اما این نرخ همچنان باید نسبت به صنایع دیگر رشد بیشتری داشته باشد. همانطور که نمودار زیر نشان می دهد، ۳۹ درصد از پروژه ها با موفقیت به پایان رسیده اند (یعنی پروژه در زمان مناسب با ویژگی های مورد نیاز کاربر بر اساس بودجه پیش بینی شده انجام شده است). ۴۳ درصد پروژه ها انجام شده اند؛ اما نتوانسته اند تمام ویژگی های یک پروژه ی موفق را کسب کنند. در آخر هم ۱۸ درصد پروژه ها شکست خورده اند و در حین انجام پروژه کنسل شده اند.
بر اساس بررسی Standish Group بزرگترین مشکل پروژه های نرم افزاری، تاخیر در تحویل پروژه به سفارش دهنده می باشد.
اگر پروژه ها را به دو دسته ی پروژه های بزرگ (بالاتر از ۱ میلیون دلار) و پروژه های کوچک (کمتر از ۱ میلیون دلار) تقسیم کنیم، به نتایج امیدوارکننده تری در کسب و کار های کوچک می رسیم. برخلاف پروژه های کوچک، پروژه های بزرگ آمار بسیار بدی به دست آورده اند و تنها ۱۰ درصد از پروژه ها موفق بودند که آمار ناامیدکننده ای است.
به غیر از Standish Group، مراکز مختلفی هستند که بر روی پروژه های نرم افزاری تحقیق می کنند که یکی از آن ها سایت Dr Dobb’s متعلق به ماهنامه ی Dr Dobb’s است که از سال ۱۹۷۶ به عنوان اولین ماهنامه با مطالب نرم افزاری به طور منظم منتشر شده است. این سایت از سال ۲۰۰۶، هر ساله تحقیق خود را انجام می دهد که نتایج این تحقیق بسیار امیدوارکننده تر از آمار Standish Group می باشد و تقریبا از هر ۳ پروژه، ۲ پروژه موفق شده است. البته در این تحقیق پروژه ی موفق به پروژه ای گفته می شود که بر اساس معیار های خود شرکت، موفق به حساب آمده باشد و سایت Dr Dobb’s معیار خاصی مشخص نکرده است.
به همین دلیل در یکی از سوالات، از شرکت کنندگان در این تحقیق، معیار مورد نظر برای موفق بودن یک پروژه پرسیده شده است. نکته ی بسیار جالب اینجاست که از هر ۱۰ نفر متخصص IT، تنها یک نفر به طور همزمان با ۳ معیار Standish Group برای سنجش موفقیت پروژه موافق است.
در مجموع می توان نتیجه گرفت وضعیت صنعت نرم افزار نسبت به گذشته بسیار بهبود یافته است. نتایج نمودار نرخ موفقیت پروژه ها به تفکیک مدل های مختلف توسعه نرم افزار، نشان از این دارد که نرخ موفقیت مدل های جدید توسعه نرم افزار نسبت به مدل های قبلی بالاتر رفته است. با مطالعه ی این نتایج مشخص می شود که فعالان حوزه ی نرم افزار برای موفقیت نیاز به تلاش و همت بیشتری نسبت به دیگر صنایع دارند.