حسابرسی فناوری اطلاعات

ریسک های فرآیند توسعه نرم افزار

گروه دوم از ریسک های پروژه های نرم افزاری مربوط به ریسک های محیط توسعه نرم افزار هستند. در این مجموعه، ریسک هایی بررسی می شود که با فرآیند و ساز و کارهای تولید نرم افزار در ارتباط است. ریسک های فرآیند توسعه نرم افزار از این مجموعه می باشند. نرم افزار به عنوان یک محصول حاصل یک فرآیند تولیدی است. در این فرآیند ابتدا نیازمندی های کاربران تعریف شده، سپس براساس آن نرم افزار تحلیل و طراحی می گردد، در نهایت براساس طراحی صورت گرفته، محصول تولید شده و مورد آزمون قرار می گیرد. در صورت موفق بودن نتایج آزمون ها، نرم افزار برای ارائه خدمات به مشتریان استقرار می یابد. چنین فرآیندی خود می تواند ریسک هایی را به همراه داشته باشد. در ادامه ریسک های فرآیند توسعه نرم افزار توصیف می شود.

 

تکرارپذیری: فرآیند تولید نرم افزار می تواند فرآیندی استاندارد و رسمی بوده یا اینکه یک فرآیند موقتی، غیر استاندارد و غیررسمی باشد. فرآیند تکرارپذیر فرآیندی است که براساس یک استاندارد و چارچوب مشخص تعریف شود و قابلیت بهبود و ارتقا داشته باشد. این فرآیند باید دارای مراحل مشخصی بوده و در هر مرحله نیز شاخص های ارزیابی فرآیند تعریف شده است. رفتار و خروجی فرآیند تکرارپذیر مشخص و قابل پیش بینی است. در صورتی که خروجی فرآیند موقتی و غیر استاندارد قابل پیش بینی نیست. یکی از ریسک های اصلی فرآیند توسعه، غیر استاندارد بودن و تکرارناپذیری آن است.

مناسب بودن: مدل ها و متدولوژی های مختلفی برای توسعه نرم افزار ارائه شده اند. نسل اول مدل ها به مدل های آبشاری مشهور هستند که هر مرحله از تولید نرم افزار پس از اتمام کامل مرحله قبل آغاز می شد. این مدل ها برای پروژه های مشخص در محیط ایستا و بدون تغییر مناسب بودند. نسل جدید مدل ها توسعه تدریجی و چابک را هدف قرار داده اند. در این مدل ها طی چرخه هایی، محصول به صورت تدریجی تولید می شود و امکان تطبیق و تغییر آن با نیازمندی های جدید بیشتر است. در هر پروژه حسب مشخصات پروژه ضروری است مدل و متدولوژی مناسبی انتخاب گردد. متدولوژی نامناسب از ریسک های فرآیند توسعه نرم افزار به شمار می رود.

کنترل فرآیند: در مراحل اجرای فرآیند توسعه نرم افزار ضروری است تا یک سری کنترل برای اطمینان از صحت اجرای فرآیند تعریف شوند. این کنترل ها براساس الزامات و مشخصات مورد انتظار متدولوژی و چارچوب فنی مورد استفاده تعیین می شوند. کنترل ها باید توسط فرد نسبتاً مستقلی به عنوان مسئول تضمین کیفیت یا حسابرس پروژه انجام شده تا موارد عدم انطباق در فرآیند توسعه را کاهش دهد. کنترل ها همچنین از ابعاد زمان و هزینه اجرای پروژه نیز تعریف می شوند. پروژه های نرم افزاری عمدتاً با مشکل افزایش زمان روبرو هستند. ضعف کنترل در فرآیند نیز یکی از ریسک های فرآیند توسعه نرم افزار می باشد.

آشنایی و تسلط با فرآیند توسعه: همانطور که اشاره گردید برای توسعه نرم افزار، متدولوژی های متنوعی ارائه شده است. تیم توسعه نرم افزار باید آشنایی کاملی با فرآیند انتخاب شده داشته باشد. همچنین باید منابع انسانی و ابزارهای مورد نیاز برای اجرای متدولوژی نیز در اختیار آنها باشد. مهارت پایین و تسلط محدود به فرآیند توسعه از دیگر ریسک های فرآیند توسعه نرم افزار به شمار می روند.

تغییر در محیط توسعه: محیط توسعه نرم افزار که مشتمل بر فرآیند و ارکان کلیدی توسعه می باشند همواره ایستا و بدون تغییر نیستند، بلکه همواره با تغییراتی روبرو هستند. تغییر فناوری ها و ابزارها در قالب به روزرسانی ابزارهای موجود یا منسوخ شدن برخی از فناوری ها در زمره این تغییرات هستند که ممکن است تیم توسعه را با مشکل روبرو نماید. هرگونه تغییر برنامه ریزی نشده در محیط توسعه باعث به تاخیر افتادن پروژه می شود.

نظر دهید