Recepta na wzrost zysków w IT

Jedenaście czynników

Dogłębna analiza tego tematu nie jest w zasięgu jednego artykułu - dlatego warto pracować grupowo: zapraszamy na portal: ryzyko.wymagania.org.pl i do naszej grupy dyskusyjnej na LinkedIn o tej samej nazwie.

Na początek wymieńmy jedenaście czynników, które trzeba uwzględniać, aby skutecznie zarządzać jakością:

Recepta na wzrost zysków w IT

Oszacowanie pracochłonności uwzględniające jakość

Znane formuły na oszacowanie pracochłonności projektów IT to metoda punktów funkcyjnych, różne odmiany metody CoCoMo oraz wzór Putnama. Dla testowania jest algorytm analizy punktów testowych (TPA). Żaden z tych wzorów nie uwzględnia czynników kosztów jakości i kosztów braku jakości - jakby nie istniały. Spróbujmy stworzyć lepszą formułę.

Wzorce dla różnych rodzajów systemów

Intuicyjnie zgadzamy się, że "złoty punkt" - optymalny poziom kosztów zapewnienia jakości, pozwalający uniknąć kosztów braku jakości - jest zupełnie inny dla gry na urządzenie mobilne i dla oprogramowania sterującego rozrusznikiem serca. Jakie są doświadczenia różnych branż w tej dziedzinie? Czy i jakie istnieją normy?

Inwestycja w jakość a strategia ryzyka

Na dłuższą metę inwestycja w jakość procesu zawsze jest opłacalna, aż do optymalnego poziomu. Jednak jest to zależność statystyczna, nie jest bezwzględna. Czasem można mieć szczęście i w pojedynczym projekcie uniknąć wszelkich zagrożeń mimo braku czynności zapobiegawczych. Można mieć też pecha i jednorazowo paść ofiarą wielu niekorzystnych zbiegów okoliczności, mimo przyjęcia rozsądnych środków ostrożności.

Wynika z tego, że - zależnie od przyjęcia różnych strategii ryzyka biznesowego - można w pojedynczych projektach stosować różne strategie inwestowania w jakość.

Ile zapobiegania?

Istnieje dobrze potwierdzona zasada, że z reguły taniej jest zapobiegać, niż leczyć; że koszty usunięcia defektu są tym mniejsze, im we wcześniejszej fazie projektu defekt zostanie znaleziony. Co to oznacza konkretnie? Jaka jest na przykład optymalna relacja kosztów testów jednostkowych do kosztów testów systemowych i akceptacyjnych?

Jakimi metodami najlepiej zapewniać jakość?

Jeśli organizacja znajduje się daleko przed osiągnięciem złotego punktu, można z dużym prawdopodobieństwem przewidywać, że niemal każda dobrze zrealizowana inwestycja w jakość przyniesie zyski większe niż koszty. Co jednak należy wybrać?

Zakres i metody testowania

Testowanie na podstawie ryzyka głosi, że najstaranniej należy testować obszary najbardziej ryzykowne. Jak przetworzyć tę dobrą, ale przeraźliwie ogólnikową zasadę we wzór, który pozwala wyliczyć wagę testowania ze względu na takie czynniki, jak: konsekwencje awarii, prawdopodobieństwo defektu, prawdopodobieństwo użycia funkcji, widoczność ewentualnej awarii, wreszcie - jak w FMEA - łatwość wykrycia ewentualnego defektu w danym obszarze (skuteczność testów)?

Czynniki miękkie

Wykonano szereg dobrych badań wskazujących, że subiektywna ocena jakości oprogramowania zależy nie tylko od jego atrybutów jakości, lecz także od czynników psychologicznych i społecznych: nacisku grupowego, czarnej legendy, różnych zbiorowych histerii, które w epoce mediów społecznościowych rozprzestrzeniają się szybko. Można się z tego powodu zżymać, ale warto te czynniki uwzględniać. Może to ułatwić mało w IT znany, ale znakomity model Noriaki Kano.

Inżynieria oprogramowania - nauka czy kult cargo?

Inżynieria oprogramowania pełna jest kultów cargo. Dyskusje o wyższości metod Agile nad tradycyjnymi (lub odwrotnie) używają różnych sposobów argumentacji, z wyjątkiem jednego w tej sytuacji właściwego: eksperymentu kontrolowanego, lub szeregu kontrolowanych obserwacji, wspartych wieloczynnikową analizą statyczną. Niektórzy zwolennicy i przeciwnicy tych metod głoszą wręcz, że takie badanie nie ma sensu, że należy po prostu wybrać to, co nam odpowiada, co wydaje się najlepsze. Takie podejście jest ryzykowne, czasem katastrofalne, zawsze kosztowne.

Statystyczne ulepszanie

Zależność między rozmaitymi działaniami projakościowymi a kosztami i zyskiem nie jest nigdy bezwzględna, zawsze statystyczna. Jak duża jest siła takich zależności, oszacowana na podstawie szeregu pomiarów, jak wysoka ich statystyczna istotność? To można i warto liczyć, korzystając z technik, takich jak metoda Monte Carlo, sieci bayesowskie itp.

Wybór właściwych atrybutów jakości

Jeśli chodzi o jakość produktów, kluczowe jest właściwe - odzwierciedlające prawdziwe potrzeby klientów - ważenie różnych atrybutów jakości. Inżynierski instynkt faworyzuje funkcjonalność, podczas gdy dla użytkowników często o wiele ważniejsza jest łatwość użytkowania, wydajność, dostępność serwisu. Nie opłaca się cyzelować jakości produktu pod kątem cech, których klienci nie chcą i nie cenią.

Korzyści krótkoterminowe i długofalowe

W odniesieniu do jakości produktu przykładem atrybutu jakości, który nie ma znaczenia w krótkiej perspektywie, a ma znaczenie kluczowe w perspektywie wieloletniej, jest łatwość utrzymania i modyfikowania, skalowalność.

Analogicznie, jeśli chodzi o jakość procesów, dominująca w IT metoda projektowa faworyzuje zyski krótkoterminowe (rozmaite szybki, "cudowne" metody) przed długoterminowymi (kosztowne w początkowej fazie ulepszenia procesów).

Opisane pokrótce jedenaście czynników należy rozpracować - proponuję, abyśmy zajęli się tym wspólnie pod adresem: ryzyko.wymagania.org.pl. Zapraszam.


TOP 200