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

ریسک های پروژه های نرم افزاری، ریسک های سیستم توسعه

ریسک های سیستم توسعه بر مخاطرات حوزه ابزارهای سخت افزاری و نرم افزاری مورد استفاده برای توسعه نرم افزار اصلی تاکید دارد. تولید نرم افزار به عنوان یک فرآیند صنعتی با استفاده از ابزارهای نرم افزاری همچون محیط های یکپارچه توسعه صورت می گیرد. این ابزارها فرآیند تولید نرم افزار را تسریع می بخشند. امکان همکاری تیم و ایجاد کدهای یکسان و استاندارد را ایجاد می کنند. در حال حاضر با توسعه مفهوم DevOps این ابزارها اهمیت بیشتری یافته اند. DevOps ترکیبی از دو کلمه Development و Operation است و بر یکپارچگی فرآیند تولید و استقرار نرم افزار برای تسریع در پاسخگویی به نیازمندی های کاربران تاکید دارد. در این حوزه مفهومی، کارکردهایی همچون یکپارچگی مستمر (Continuous Integration) و استقرار مستمر (Continuous Deployment) موضوعیت می یابد. این کارکردها با استفاده از ابزارهای نرم افزاری اجرایی می شوند. علاوه بر نرم افزار، مجموعه ای از سخت افزارها نیز برای توسعه سیستم مورد استفاده قرار می گیرند. انواع سرورهایی که برای مدیریت پیکره بندی، کنترل منابع و یکپارچگی و ساخت استفاده می شوند در این حوزه قرار دارند. در صورت ضعف در این ابزارهای سخت افزاری و نرم افزاری، توسعه سیستم با مشکل روبرو می شود. در ادامه کلیدی ترین ریسک های مرتبط با این ابزارها توصیف شده اند:

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

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

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

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

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

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

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

نظر دهید