Zapewnianie jakości

Kiedy słuchaczom prowadzonych przeze mnie kursów Zarządzania Jakością Oprogramowania zadaję pytanie: jaką metodę zapewnienia jakości oprogramowania stosują najczęściej, odpowiadają bez namysłu: testowanie. Wtedy jestem spokojny, bo wiem, że mogę bezpiecznie przeprowadzić wcześniej przygotowany dowód na to, że testowanie nie jest metodą zapewnienia jakości. Nowe idee najlepiej przyjmują się na gruzach starych stereotypów.

Kiedy słuchaczom prowadzonych przeze mnie kursów Zarządzania Jakością Oprogramowania zadaję pytanie: jaką metodę zapewnienia jakości oprogramowania stosują najczęściej, odpowiadają bez namysłu: testowanie. Wtedy jestem spokojny, bo wiem, że mogę bezpiecznie przeprowadzić wcześniej przygotowany dowód na to, że testowanie nie jest metodą zapewnienia jakości. Nowe idee najlepiej przyjmują się na gruzach starych stereotypów.

Co to jest jakość?

W ostatniej dekadzie jakość zyskała "nową jakość". W dzisiejszym świecie, w którym rządzą klienci, a nie producenci, trudno jest o lepszą kartę przetargową niż jakość wyrobów. Większość producentów systemów informatycznych korzysta dziś z komputerów o podobnej mocy obliczeniowej i z podobnych (lub wręcz tych samych) systemów zarządzania bazą danych czy systemów projektowania. Nawet czas obecności na rynku i doświadczenie firm są porównywalne. Co więc decyduje o tym, że klient kupuje produkt właśnie u tego producenta, a nie u innego? Jakość. Nic prostszego zatem, jak stworzyć produkt wysokiej jakości, a nasza przewaga konkurencyjna na rynku zacznie sama rosnąć, proporcjonalnie do "wzrostu naszych" kont. Praktyka pokazuje, że nie wszystkim się to udaje. Jednym z ważniejszych powodów niepowodzeń jest problem definicji jakości.

Jest wiele definicji jakości. Oto niektóre z nich: "zgodność z wymaganiami", "przydatność użytkowa", "stopień w jakim użytkownik wierzy, że produkt lub usługa spełnia jego potrzeby i oczekiwania". Normy serii ISO 9000 przyjęły następującą definicję: "Jakość - ogół cech i właściwości wyrobu lub usługi decydujących o zdolności wyrobu lub usługi do zaspokojenia stwierdzonych lub przewidywanych potrzeb".

Tak, jak przy budowie domu o jego trwałości i bezpieczeństwie decyduje fundament, tak przy zapewnieniu jakości fundamentalne znaczenie ma jej definicja. To ze sposobu, w jaki interpretujemy pojęcie jakości, wynika, jak przekładamy je na praktyczne działania. Jeśli uznamy, że wysoka jakość produktu to "wysoka zgodność z wymaganiami", będziemy koncentrować się na kontroli procesu produkcyjnego we wszystkich jego fazach, a szczególnie testowaniu końcowym, które będziemy podejmować głównie w celu wykazania zgodności produktu ze specyfikacją. Jeśli przyjmiemy, że o jakości decyduje "wysoka przydatność użytkowa", wtedy głównym i decydującym etapem projektu będzie rozpoznanie, specyfikacja i analiza wymagań, wsparta badaniami marketingowymi, tak aby jak najlepiej trafić w rzeczywiste potrzeby odbiorcy.

Definicja jakości decyduje więc o całości procesu tworzenia systemu. Podstawowym zadaniem kierownika projektu i innych osób odpowiedzialnych za projekt jest uzyskanie porozumienia co do wspólnej wizji jakości. To porozumienie wyrażane jest w formie polityki jakości. Polityka jakości jest deklaracją, podpisaną przez najwyższe kierownictwo projektu, wskazującą kierunek wszystkich działań projakościowych i projektowych.

Bardzo powszechne jest mylenie jakości z funkcjonalnością produktu. Chociaż nowoczesne podejścia do zagadnień jakości podkreślają potrzebę odniesienia funkcjonalności do wymagań i oczekiwań klienta/użytkownika (patrz definicja ISO 9000), to również wskazują na to, że funkcjonalność produktu jest tylko jedną z licznych jego cech jakościowych. Wiedząc o tym, kierownik projektu musi troszczyć się nie tylko o to, aby produkt miał wszystkie funkcje, których oczekuje użytkownik, ale głównie o to, aby te funkcje, które będą dostępne, były niezawodne, efektywne, bezpieczne itd. Psychika człowieka skłania go do wybierania rozwiązań i produktów może mniej funkcjonalnych, ale za to sprawdzonych, stabilnych, niezawodnych, popartych autorytetem, doświadczeniem i tradycją firmy.

Nie wszystkie firmy, szczególnie branży informatycznej, mogą poszczycić się wieloletnią tradycją, z której wyrasta doświadczenie zjednujące zaufanie klienta. Stąd taka popularność norm jakości. Certyfikat zgodności z międzynarodową normą jakości, wydany przez firmę o uznanej na świecie renomie, skutecznie rozprasza ostatnie wątpliwości klienta.

Moje rozmowy z uczestnikami różnych kursów pozwalają mi na stwierdzenie, że działania podejmowane przez firmy w celu doskonalenia jakości produktów często ograniczają się tylko do polepszania technik i narzędzi testowania. To tradycyjne podejście, bazujące na "testowaniu jakości" zamiast jej "wytwarzaniu", jest kolejną przyczyną niepowodzenia wielu projektów. Projekty zawsze są realizowane w kontekście ograniczonych zasobów, co wymusza następujący scenariusz: szybka specyfikacja wymagań, pobieżny projekt, pospieszne wdrożenie... mamy produkt. Testujemy. Co nam wyszło?! Gdzie w tym procesie nastąpiła "zmiana jakościowa"? Co testowanie może "zapewnić"?

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200