Jakość na każdym etapie

Nie przesadzać i pamiętać

W oszacowaniach światowych można znaleźć informacje, że koszty związane z zarządzaniem jakością oprogramowania dla dostawców oprogramowania stanowią 40-55% całkowitych kosztów. Natomiast relacja kosztów działań identyfikacji błędów do kosztów związanych ze skutkami wystąpienia błędów wynosi od 1,5 do 2. Jeśli chodzi o benchmarki dotyczące liczby błędów przypadających na każdy tysiąc linii kodu oprogramowania, to dla oprogramowania ustabilizowanego (funkcjonującego powyżej 5 lat) jest to 2/1000 linii.

Koszty działań identyfikacji błędów kształtują się w odwrotnej relacji do kosztów związanych ze skutkami wystąpienia błędów. Im więcej nakładów na koszty wykrywania błędów, tym mniejsze koszty skutków zaistnienia błędów. Jednocześnie zwiększanie łącznych kosztów zarządzania jakością powoduje wzrost poziomu jakości, ale do pewnego momentu optimum, w którym relacja całkowitego kosztu zarządzania jakością do poziomu skuteczności eliminowania błędów jest najmniejsza. Do tego momentu zwiększanie nakładów na działania związane z zapobieganiem i eliminowaniem błędów powoduje wzrost poprawy jakości. Po jego przekroczeniu dalsze koszty działań zarządzania jakością rosną, natomiast nie przekładają się adekwatnie na zwiększenie jakości i nawet przy bardzo dużych nakładach całkowite wyeliminowanie błędów może się okazać niemożliwe.

Aby więc ocenić, czy osiągamy właściwy poziom nakładów ponoszonych na zarządzanie jakością oprogramowania, potrzebne jest systematyczne monitorowanie kosztów zarządzania jakością w odniesieniu do poziomu jakości oraz porównywanie tych efektów w czasie. Jest to metoda benchmarkingu wewnętrznego. W przypadku oceny jakości oprogramowania jest bardziej skuteczna niż benchmarking zewnętrzny, polegający na porównaniu wyników między różnymi firmami, ponieważ projekty informatyczne są realizowane w różnych warunkach i na podstawie różnych technologii. Obawa przed przekazywaniem informacji na zewnątrz, zwłaszcza w kontekście potencjalnego ryzyka przechwycenia ich przez konkurencję, sprawia, że benchmarking zewnętrzny napotyka bariery.

Benchmarking to nie tylko liczby. Jest to przede wszystkim analiza czynników, które sprawiają, że jakość oprogramowania jest wyższa przy zachowaniu tych samych kosztów. Główne zadanie w procesie benchmarkingu to "odnalezienie" możliwości w naszej organizacji, by jakość oprogramowania była wyższa. Zarządzanie jakością oprogramowania sprowadza się do zarządzania procesem jego powstawania. Aby identyfikować możliwości usprawniania procesu wytwarzania oprogramowania, niezbędne jest systematyczne wyciąganie wniosków w trakcie i po zakończeniu projektu rozwoju oprogramowania. Dla utrwalenia zebranych doświadczeń pomocna jest aktualizacja bazy wiedzy zawierającej informacje i wniosku z przebiegu poszczególnych projektów, ale także dane benchmarkowe (dotyczące czasu trwania zadań, liczby zaangażowanych osób w prace projektowe, kosztów działań związanych z zarządzaniem jakością), pozwalające lepiej zaplanować prace w następnych projektach.

W doskonaleniu procesu tworzenia oprogramowania warto także skorzystać z międzynarodowych norm oraz standardów kontroli jakości, np. ISO (ISO 9001: "Quality Systems-Model for Quality Assurance and Design", ISO 9000-3: "Guidelines for the application of ISO 9001 to the Development", ISO 9004-2: "Quality Management and Quality System Elements").

<hr size=1 noshade>

Marta Piechowiak jest konsultantem w firmie Andersen Business Consulting oraz certyfikowanym przez Project Management Institute specjalistą w zakresie zarządzania projektami.