بهبود فرایندها از جمله اهدافی است که تمام صنایع بدنبال
آن هستند. امروزه تولید نرم افزار در دنیا یک صنعت بزرگ به حساب می آید و با توجه
به پیچیدگی های که این صنعت دارد برای دستیابی به اهداف مورد انتظار , نیاز به استفاده از یک مدل
استاندارد برای بهبود فرایندهای تولید نرم افزار می باشد. فعالیت های زیادی در
دنیا در این زمینه صورت گرفته که حاصل آن ارائه مدل های شناخته شده ای مانند مدل
یکپارچه بلوغ/توانمندی (CMMI) می باشد. در این نوشتار
انواع مدل های بهبود فرایند و روند پیاده سازی آن بررسی خواهد شد.
تاریخچه:
دهه ۱۹۸۰ میلادی نخستین فعالیت های
بهبود فرایند با حمایت مالی وزارت دفاع آمریکا از موسسه کارنگی ملون و با هدف
ترویج انتقال فن آوری نرم افزار به پیمانکاران دفاعی شکل گرفت و در قالب استاندارد
صنعتی مورد استفاده در انرژی هسته ای تعریف شد.
در سال ۱۹۸۳ موسسه مهندسان برق و
الکترونیک برنامه تضمین کیفیت نرم افزار را ارائه نمود.
سال 1987 ایزو ۹۰۰۰ معرفی گردید
سال ۱۹۸۸ استاندارد بین المللی
سازمان ایزو ۹۰۰۱ قابل استفاده برای توسعه
نرم فزار با نام TickIT عرضه شد
سال 1990 ایزو ۹۰۰۰-۳ راهنمای استفاده در نرم افزار تدوین گردید
و در سال ۱۹۹۱ مدل بلوغ قابلیت ها(CMM) ارائه شد
در سال ۱۹۹۲ ایزو ۱۵۵۴۰ SPICE شکل گرفت
در سال ۲۰۰۱ مدل یکپارجه بلوغ قابلیت
ها که اشکالات مدل قبلی را برطرف کرده بود معرفی شد
و در ادامه روش های بهبود مستمر فرایند رواج پیدا کرد
این فعالیت ها در بهبود فرایند نرم
افزار (SPI) بسیار تاثیر گذار بوده
است.
Software
Process Improvement
عناصر یک فرآیند نرم افزار با کیفیت
همواره قابل تعریف در قالب روش های موثر می باشد. این عناصر در مراحل مختلف تولید
و توسعه نرم افزار قابل ارزیابی می باشند و تبعیت از این روش ها رویکردهای توسعه
نرم افزار را به سمت کیفیت بیشتر ٬ زمان تحویل به موقع و عملکرد مناسب
تر سوق می دهد. مهمترین اقدام درک فرایندهای موجود و بیان تاثیر عوامل بهبود
فرایند بر کیفیت و بهره وری نرم افزار می باشد.
آیا بهبود فرایند نرم افزار (SPI) برای همه
قابل استفاده است؟
شاید این سوال مطرح باشد که مدل های
بهبود مربوط به شرکت های بزرگ می باشد و در یک مجموعه کوچک قابل استفاده نمی باشد.
ولی پاسخ این است که در صورت ایجاد شرایط امکان پذیر می باشد. سازمان های کوچک
معمولا متمایل به استفاده از روش های خود برای سازمان دهی فعالیت ها می باشند و
عامل مهمتر توجیه مالی که باعث تایید و اجرای روش های بهبود برای این شرکت ها می
باشد.
اهدافی که در بهبود فرایند نرم افزار
دنبال می شوند به صورت اضلاع یک مثلث تعریف می شوند.
مجموعه فعالیت های بهبود منجر به
دستیابی به این اهداف خواهد شد.