استقرارسیستم های کیفیت راهکاری برای ارتقاء خدمات و پاسخگوئی در شرکت های تولید کننده نرم افزار

مدیریت کیفیت در صنعت نرم افزار

با بهره گیری از الگوی Tick IT

 

 

حسین نوریان

  مدیر امور برنامه ریزی و تحول سازمانی

شرکت بین المللی مهندسی سیستم ها و اتوماسیون ( ایریسا )

 

مقاله در سیویلیکا 

 

چکیده مقاله مدیریت کیفیت در نرم افزار:

استاندارد Tick IT به منظور تفسیر و ایجاد مطابقت الزامات نظام مدیریت کیفیت ISO 9000;2000 با فرایند ها و ویژگی های صنعت نرم افزار نگاشته شده است . نگارنده بر این باور است که این استاندارد نه تنها به خاطر ویژگی های تطابق آْن با کسب و کار آن صنعت به تضمین کیفیت محصولات نرم افزاری کمک می نماید بلکه به واسطه وجود فرایند های ارتباطی تنگاتنگ میان مشتری و کارفرما موجب می شود از یک طرف میزان شناخت پیمانکار از نیازمندی های کارفرما در کلیه مراحل طراحی و توسعه نرم افزار افزایش یابد و موجب کاهش ریسک پذیری و ایجاد شکست در پروژه گردد و نیز به مشتری این امکان را می دهد که با مشارکت مداوم از تولید محصولی منطبق با نیاز های خود توسط پیمانکار اطمینان حاصل نماید.

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

معرفی استاندارد  Tick IT به منظور ایجاد زمینه استفاده از آن در شرکت های تولید کننده نرم افزار کشور ، آشنائی سازمانهای مشتری محصولات نرم افزاری با حقوق و مسئولیت های خود در مشارکت به منظور تامین یک سیستم مناسب نرم افزاری از اهداف دیگر این مقاله است.

واژگان کلیدی:

تضمین کیفیت نرم افزار ، فرایند های نرم افزار ، Tick IT ، تست نرم افزار ، مشتری گرائی ،

ISO 9000;2000 ، نرم افزار

  • مقدمه :

نظام های مختلف مدیریتی ، به خصوص نظام های مدیریت کیفیت از حیث موارد گوناگونی ازجمله تاثیر آنها در همگون سازی فعالیت ها در جهت اهداف سازمان ، تاثیر آنها در جهت افزایش بهره وری و کارائی سیستم ها ، قابلیت تطابق آنها با فرایندهای اصلی کسب و کار ، دامنه شمول الزامات آن ،انعطاف پذیری، سهولت استقرار  و … با یکدیگر قابل مقایسه بوده و مورد ارزیابی و اندازه گیری قرار می گیرند ، در این بین شاخص کیفی “ارتقاء خدمات و پاسخگوئی به انتظارات مشترییان”  به عنوان یکی از اولین اهداف شکل گیری و فلسفه وجودی این سیستم ها از اهمیت به سزائی برخوردار است. به گونه ای که در ویرایش های جدید استاندارد های مدیریت کیفیت به آن توجه بیشتری صورت گرفته است که یکی از  عمیق ترین این توجهات را می توان در بند  مشتری گرائی استاندارد ISO 9001;2000 سراغ گرفت.

استاندارد Tick IT  که تفسیری از الزامات استاندارد ISO 9001;2000 برای صنعت تولید نرم افزار است به این مهم به صورت عمیق تر و پررنگ تر پرداخته است که دلیل آن می تواند ویژگی های منحصر به فرد صنعت تولید نرم افزار ( مخصوصا نرم افزار های سفارش مشتری ) مانند رشد و دگرگونی سریع در تکنولوژی و متدلوژی های مورد استفاده، چرخه کوتاه حیات محصول و وجود رقابت شدید بین شرکت های مختلف تولید کننده  در عرصه جهانی باشد.

در این مقاله نگارنده برآن است که الزامات استاندارد Tick IT را با رویکرد توجه آن به شاخص های پاسخگوئی و  ارتقاء خدمات مشتریان مورد تجزیه و تحلیل قرار دهد.

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

  • تشریح اجمالی استاندارد Tick IT

استاندارد Tick IT به گونه ای که  گفته شد به تعبیری تفسیر الزامات استاندارد ISO 9001;2000 برای شرکت های تولید کننده نرم افزار است که در نگارش آن به جز آن استاندارد، از استاندارد های دیگری مانند استاندارد ISO 9000-3 ،  ISO 90004;2000

ISO IEC 12207,ISO IEC TR 15271 , ISO IEC TR 15846 , BS 7799 استفاده گردیده است . با توجه به لیست استاندارد های مورد استفاده برای نگارش استاندارد Tick IT مشخص می شود که این استاندارد تلفیقی است از استاندارد های مدیریت کیفیت مخصوصا استاندارد ISO 90001;2000 ، استاندارد های تشریح چرخه حیات تولید نرم افزار و استاندارد های تکمیلی دیگر مانند استاندارد های مدیریت امنیت اطلاعات و .. که موجب شده است این استاندارد از عمق و محتوی بسیار عالی برخوردار گردد و کاملا با ویژگی ها و فرایند های مورد استفاده در آن صنعت مطابقت و همگونی داشته باشد.

استاندارد Tick IT از پنج بخش تشکیل گردیده است که در بخش اول ( (Part Aبه تشریح کلی Tick IT و فرایند ثبت گواهینامه آن پرداخته شده است ، در بخش دوم ((Part B راهنمائی برای مشتریان شرکت های تولید نرم افزار و رابطه Tick IT با نیازمندی های آنها گنجانیده شده است ، در بخش سوم (  (Part Cراهنمائی برای تولید کنندگان نرم افزار ، در بخش چهارم (Part E) تفسیر الزامات ISO 90001;2000 بر اساس الگوی Tick IT و در بخش پنجم (Part F)   تفسیر الزامات TICK IT با رویکرد فرایند گرا ( استاندارد ISO IEC 12207 ) تشریح گردیده است.

  • معرفی اجمالی الگوی فرایندی پیشنهاد شده در Tick IT

این الگو که بر گرفته از الگوی فرایندی ISO IEC 12207  می باشد ، شامل سه چرخه حیات اصلی (فرایند های اولیه ، فرایند های پشتیبانی کننده و فرایند های سازمانی) است که کلیه فرایند های تولید و پشتیبانی از نرم افزار در داخل این سه چرخه حیات اصلی گنجانیده شده است. فرایند های اولیه فرایند هائی هستند که به طور مستقیم عملیات تولید و پشتیبانی نرم فزار را انجام می دهند ، فرایند های پشتیبانی کننده عمدتا فرایند هائی هستند که به منظور تضمین کیفیت اجراء فرایند های اولیه پیش بینی شده اند و فرایند های سازمانی فرایند های زیر ساختاری هستند که شرایط را برای حسن اجرا فرایند های اولیه و پشتیبانی فراهم می سازند

در این بخش به شرح کلی فرایند ها و در بخش بعد به شرح فرایند هائی که به صورت مستقیم در ارتباط با مشتریان و با وظیفه ایجاد پاسخگوئی و …. پیش بینی شده اند پرداخته خواهد شد.

۳-۱-فرایند خرید :

به منظور حصول اطمینان از برآوره شدن نیازمندی های کالاهای خرید شامل الزاماتی مانند داده های خرید ، ارزیابی تامین کننده ، کنترل تامین کننده و ارزیابی کیفی محصولات ورودی.

۳-۲-فرایند تامین :

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

۳-۳-فرایند توسعه :

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

۳-۴- فرایند بهره برداری :

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

۳-۵-فرایند نگهداری:

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

۳-۶-فرایند مستند سازی:

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

۳-۷-مدیریت پیکر بندی:

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

۳-۸-فرایند تضمین کیفیت

با هدف حصول اطمینان از انجام فرایند ها و محصول از تامین نیازمندی های کیفی آنها شامل تضمین کیفیت محصول ( کنترل ها ، اندازه گیری ها و تست ها ) ، تضمین کیفیت فرایند ها ( وارسی ، مستند سازی ، ممیزی و اندازه گیری ) و تضمین کیفیت سیستم مدیریت کیفیت ( اهداف سازمانی ، بازنگری مدیریت ، ممیزی های داخلی و … )

۳-۹- فرایند وارسی

با هدف کنترل میزان برآوره شدن نیازمندی های از پیش تعیین شده برای فرایند های تولید نرم افزار شامل فعالیت های بررسی ، کنترل و ارزیابی و اندازه گیری

۳-۱۰-فرایند اعتبار سنجی :

با هدف کنترل میزان برآورده شدن نیازمندی های از پیش تعیین شده برای محصول نرم افزاری شامل فعالیت های بررسی ، کنترل و ارزیابی و اندازه گیری

۳-۱۱-فرایند بررسی مشترک:

با هدف ایجاد یک فهم مشترک بین ذینفعان یک محصول نرم افزاری ( پیمانکار و مشتری ) از مواردی مانند اهداف مفاد قرارداد و ایجاد سیستمی به منظور حصول اطمینان از دیده شدن نیازمندی های مشتری در کلیه مراحل و مشارکت مشتری در استخراج و تحلیل نیازمندی ها.

۳-۱۲-فرایند ممیزی:

با هدف بررسی مطابقت فعالیت های انجام شده با روش ها و نیازمندی های از پیش تعیین شده آْنها و میزان تطابق آنها با الزامات نظام مدیریت کیفیت و شناسائی و رفع موارد نارسائی.

۳-۱۳-فرایند حل مساله:

با هدف مدیریت ، بررسی و حل نارسائی های بوجود آمده ( اقدامات اصلاحی و پیشگیرانه ) شامل مراحل شناسائی ، تحلیل و اندازه گیری ، اقدام اصلاحی و یا پیشگیرانه و بررسی اثر بخشی.

۳-۱۴- فرایند مدیریت :

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

۳-۱۵-فرایند بهبود:

به منظور افزایش مستمر کارائی و اثر بخشی فرایند ها در راستای اهداف و نیاز های کسب و کار

۳-۱۶-فرایند مدیریت منابع انسانی

به منظور فراهم سازی و توسعه کمی و کیفی و آموزشی کارکنان در سازمان شامل نیازمندی های آموزشی ، نظام های انگیزشی و ارتباطی بین پرسنل.

۳-۱۷- فرایند زیرساختار

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

۴-۱-نقش کار فرما بررسی و تائید برنامه کیفی پروژه

شامل دامنه ، اهداف ، متدلوژی مورد استفاده ، معماری نرم افراری ، معماری سخت افزاری ، معماری شبکه ، نرم افزار پایه ، مراحل شکست فعالیت ها ، برنامه زمانبندی پروژه و برنامه مدیریت پیکر بندی و ..

۴-۲-نقش کارفرما در بررسی گزارشات پیشرفت پروژه

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

۴-۳-نقش کارفرما در بررسی وتائید مدارک پروژه

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

۴-۴-نقش کارفرما در برسی محصول تولید شده شامل موارد

صحه گذاری محصول توسط کارفرما ( تست پذیرش ) ، تست های محیط واقعی ( بهره برداری ) و بررسی اندازه گیری های کیفی محصول

  • فرایند های کلیدی مشارکت مشتری در توسعه محصول نرم افزاری بر اساس استاندارد Tick IT

۵-۱-فرایند های آغازین :

  • بررسی صلاحیت پیمانکار با استفاده از اطمینان به گواهینامه مدیریت کیفیت پیمانکار
  • تهیه RFP توسط مشتری و ارائه نیازمندی های خود به پیمانکار
  • بررسی پروپزال محصول توسط مشتری و درخواست اقدامات اصلاحی و یا تکمیلی در آن
  • ارائه نیازمندی های اولیه به کارفرما

۵-۲-فرایند های طرح ریزی کیفی:

  • بررسی و صحه گذاری متدلوژی مورد استفاده پیمانکار توسط مشتری
  • بررسی و صحه گذاری برنامه زمانبندی انجام پروژه توسط مشتری
  • بررسی وصحه گذاری طرح کیفیت محصول توسط مشتری

۵-۳-فرایند های طراحی و توسعه

  • همکاری مشتری با پیمانکار در استخراج نیازمندی های سیستمی
  • همکاری مشتری با پیمانکار در استخراج نیازمندی های نرم افزاری
  • بررسی و صحه گذاری مدارک طراحی محصول توسط مشتری

۵-۴-فرایند های وارسی و اعتبار سنجی و تست

  • بررسی و صحه گذاری سوابق تست اجزا توسط مشتری
  • بررسی و صحه گذاری سوابق تست یکپارچگی توسط مشتری

۵-۵-فرایند بررسی مشترک

  • تعریف و انجام مقاطع و فعایت های مشترک بین پیمانکار و مشتری شامل موارد برنامه ریزی و طراحی و توسعه در فرایند مجزا

۵-۶- فرایند بهره برداری

  • تست پذیرش محصول نرم افزاری توسط مشتری
  • بهره برداری مشترک از محصول در محیط واقعی و با داده های واقعی توسط مشتری و پیمانکار
  • بررسی و صحه گذاری مدرک راهنمای کاربران توسط مشتری
  • بررسی اندازه گیری های محیط بهره برداری توسط مشتری

۵-۷-فرایند نگهداری

  • درخواست تغییرات توسط مشتری
  • بررسی و صحه گذاری اثر بخشی تغییرات توسط مشتری
–        بررسی اندازه گیری های محیط نگهداری توسط مشتری

مراجع:

۱-The Tick IT Guide

۲-ISO 9000;2000

۳-ISO IEC 12207

۴-ISO 9000-3

۵-The GAMP 3 Supplier Guide on the validation of automation systems

۶-BS 7799

۶-مقدمه ای بر استاندارد Tick IT در طراحی و توسعه نرم افزار ( نشریه بهبود )

۷-استانداردهای طراحی و توسعه نرم افزار ( آژانس فضائی اروپا )

sheshomin

ششمین کنفرانس مدیریت کیفیت

ششمین کنفرانس مدیریت کیفیت

هیات رییسه کنفرانس مدیریت کیفیت

هیات رییسه کنفرانس مدیریت کیفیت

شما ممکن است این را هم بپسندید