Jak zapewnić wysoką jakość oprogramowania i usług

Praktyczne przykłady metod i organizacji struktury pozwalającej zapewnić wysoką jakość systemów IT, a także analiza przyczyn porażek we wdrażaniu nowego oprogramowania to tematyka VI Forum Jakości Systemów IT.

Już po raz szósty Computerworld zorganizował w Warszawie konferencję Forum Jakości Systemów IT. We wrześniu 2016 roku przyciągnęła ona blisko 100 uczestników, dyrektorów z polskich firm zainteresowanych tym tematem.

Głównym tematem konferencji była prezentacja praktycznych przykładów w jaki sposób firmy podchodzą do problemu zapewnienia jakości oprogramowania i usług oraz jaka, ich zdaniem, organizacja oraz procedury są najbardziej efektywne.

Zobacz również:

  • Partnerstwo w zakresie rozwoju oprogramowania - 5 najlepszych praktyk

Choć wśród prezenterów byli przedstawiciele takich firm, jak Glaxosmithkline, IBM, Opera Software, Wikia, Volvo, ale wszyscy reprezentowali polskie odziały tych korporacji. Oprócz tego swoimi doświadczeniami podzielili z uczestnikami Forum, Agora, PKO BP i Rossmann. Jak widać, na Forum zaprezentowany został dość szeroki zakres firm działających w różnych branżach.

Oprócz tego swoimi doświadczeniami podzielili się przedstawiciele dostawców narzędzi i usług konsultingowych: Secorda, Forprogress i Epten Systems.

Zgodnie z założeniami konferencji, ci ostatni skupili się jednak nie na prezentacji oferowanych produktów i usług, ale na ogólnych wnioskach wynikających z praktycznych doświadczeń. W efekcie niektórzy uczestnicy konferencji uważali, że prezentacje zawierały zbyt mało szczegółowych, technicznych informacji dotyczących metod kontroli jakości oprogramowania.

Centralizacja, czyli efektywne wykorzystanie dostępnych zasobów

Zdaniem przedstawicieli dużych firm, zatrudniających tysiące deweloperów, takich jak Volvo IT lub IBM, najbardziej efektywną metodą kontroli jakości jest centralizacja ekspertów i specjalistów w jednym (lub kilku) ośrodkach, które obsługują wszystkie oddziały i projekty realizowane w firmie.

Tego typu reorganizacja jest prowadzona w Volvo Group IT, szwedzkiej firmie obsługującej infrastrukturę IT oddziałów produkujących autobusy, ciężarówki i sprzęt budowlany itp. (nie dotyczy to niezależnego producenta samochodów osobowych Volvo Cars, który nie wchodzi w skład Volvo Group).

Volvo postawiła na centralizację systemu zarządzania i testowania aplikacji oraz usług tworząc ośrodek TCoE (Test Center of Exelence), jak wyjaśnia Roman Kapela, manager TCoE Volvo Group IT.

Skupia on ekspertów wspomagających wszystkie działy firmy w zakresie testów oprogramowania i usług, a także szkoleń, opracowywania strategii rozwoju itp.

Obecnie w dziale IT pracuje ok. 6000 osób w 34 krajach na świecie. Jeśli chodzi o specjalistów zajmujących się testowaniem jakości oprogramowania to aktualnie zatrudnionych jest 305 osób pracujących w ośmiu krajach. Dalsze plany centralizacji przewidują, że TCoE będzie działało tylko w Polsce i Indiach zapewniając usługi testowania aplikacji i usług wszystkim firmom i oddziałom na świecie. A w grupie Volvo wykorzystywanych jest obecnie ok. 4000 różnych aplikacji z których 102 są uznawane za krytyczne dla działania firm wchodzących w jej skład.

Jeśli chodzi o pracowników, to ma nastąpić standaryzacja kompetencji, ścieżek rozwoju, stanowisk i szkoleń. Jest to wynikiem dotychczasowych doświadczeń, gdy pracownicy Volvo Group w różnych krajach mieli różne umiejętności i stanowiska co dotychczas utrudniało współpracę i zatrudnianie ekspertów do analizy projektów planowanych w różnych oddziałach firmy.

W perspektywie, dzięki skupieniu wysokiej klasy specjalistów w centralnym ośrodku – „fabryce testów”, efektywność systemu zapewniającego wysoką jakość nowych aplikacji i usług może zostać istotnie zwiększona.

Podobnie, jak w przypadku Volvo, również w IBM sposobem na efektywne wykorzystanie analityków specjalizujących się w zapewnianiu jakości oprogramowania, jest centralizacja dostępnych zasobów ludzkich, a także zmiana organizacji pracy polegająca na skupieniu się na współpracy z klientami.

Jak wyjaśniał Marcin Śpiewak, Country DA Manager w IBM Client Innovation Center, wcześniej, w każdym zespole (silosie) zajmującym się określoną aplikacją lub usługą pracowali analitycy do zarządzania jakością oprogramowania. Oznaczało to, że jeden klient korzystający z wielu różnych usług i aplikacji był obsługiwany nawet przez kilkunastu różnych analityków IBM. Dlatego też podjęto decyzję o wprowadzeniu innego modelu: analitycy zostali przypisani do klientów i obsługują wszystkie departamenty i usługi świadczone przez firmę.

Ważnym zadaniem dla analityków jest też prowadzenie szkoleń oraz przekonywanie i wyjaśnianie pracownikom, że jakość usług jest bardzo ważna. Bo w praktyce większość pracowników wie co to jest SLA, ale nie koniecznie ma pojęcie co w ogólności ma wpływ na poziom jakości, mówi Marcin Śpiewak.

System kontroli jakości oprogramowania w IBM Client Innovation Center opiera się na procesach ITIL.

Sukcesy i porażki

Restrykcyjne przestrzeganie metodyki i zasad ITIL, agile lub SCRUM, zwłaszcza w mniejszych firmach wcale nie jest powszechne. Czasami prowadzi to do porażek i załamania się projektów, ale jeśli firma jest dobrze zorganizowana i stosuje dobre praktyki to może efektywnie funkcjonować.

Przykładem jest Opera Software, która zatrudnia ponad 1000 pracowników, ma 60 mln użytkowników oprogramowania i wprowadza nowe, zaawansowane usługi, a jednocześnie nie testuje dogłębnie oprogramowania, pod tym względem w znacznym stopniu opierając się na zewnętrznych fanach i użytkownikach. Jak jednak wyjaśniał Wojciech Jaszcz, dyrektor QA and Processes, Opera Software, proces przygotowania nowych wersji aplikacji i usług jest starannie zaplanowany i kolejne wersje oprogramowania są stopniowo udostępniane coraz szerszemu kręgowi użytkowników, a ich opinie i uwagi monitorowane na bieżąco podobnie, jak generowane automatycznie raporty o występujących problemach. Ze względu na liczbę różnych platform i konfiguracji systemów, Opera Software nie jest w stanie dokładnie przetestować wszystkich opcji, a zastosowana metodologia dobrze się sprawdza.

Z kolei Piotr Ślęzak, prezes firmy Forprogress przedstawił analizę porażek i nieudanych projektów w anonimowych firmach, które z oczywistych powodów nie chciały zaprezentować swoich doświadczeń na Forum.

Przykładem była m.in. znana firma telekomunikacyjna, która postanowiła wdrożyć nowy system eCommerce, ale brak dobrze sprecyzowanych wymagań spowodował, że próba wdrożenia okazała się nieudana i ostatecznie firma zrezygnowała z tego projektu pozostając przy starym, sprawdzonym systemie. „Pojawia się pytanie czy nowy system był firmie w ogóle potrzebny” mówi Piotr Ślęzak.

„Z doświadczeń wynika, że nawet jeśli przedstawiciele firm deklarują znajomość i wykorzystanie praktyk agile, SCRUM itp., to czasami okazuje się, że praktyka jest inna. Jeśli w firmie panuje bałagan organizacyjny to nic tu nie pomogą takie hasła” uważa Piotr Ślęzak.

Natomiast Wojciech Wencel, dyrektor firmy summ-it, skupił się na jednej usłudze: bazach danych wykorzystywanych przez korporację GlaxoSmithKline.

Jego zdaniem nie tylko mierniki i procedury mają wpływ na jakość świadczonych usług. Bardzo ważne jest bieżące monitorowanie działania systemu oraz przestrzeganie obowiązujących procedur, a nie tylko ich zdefiniowanie. Istotne znaczenie ma też komunikacja z klientami oraz pracownikami firmy. Dlatego też GlaxoSmithKline wprowadziła zasadę organizowania cotygodniowych, regularnych spotkań, które pozwalają na bieżące monitorowanie potencjalnych problemów i ich ewentualne rozwiązywanie. Jest to element, który uzupełnia standardowe procedury testowania i istotnie wpływa na możliwość zwiększenia jakości oferowanych przez firmę usług.

Secorda to firma specjalizuje się w opracowywaniu i sprzedaży narzędzi do automatyzacji testów i bieżącego monitorowania działania oprogramowania. Podczas Forum, Grzegorz Leopold, Secorda CEO, nie prezentował szczegółowo oferowanych produktów zwracając uwagę na bardziej ogólne aspekty dotyczące kontroli jakości oprogramowania.

Jego zdaniem lepiej jest skupić się na testach bibliotek API, a nie interfejsu GUI. Oprócz tego warto zdawać sobie sprawę, ze znaczenia doboru zestawu testów. Przetestowanie wszystkich możliwych scenariuszy jest trudne, kosztowne i czasochłonne. A z praktycznych doświadczeń wynika, że dobrze dobrany zestaw obejmujący 20% możliwych testów pokrywa średnio 80% występującego ryzyka.

Jakość oprogramowania nie zawsze jest priorytetem

Tematyka zorganizowanego przez Computerworld już po raz szósty Forum Jakości Systemów IT przyciągnęła blisko 100 użytkowników. Można tu się zastanawiać, czy to dużo czy mało. Z niektórych przykładów prezentowanych podczas konferencji wniosek jest jeden, w wielu polskich firmach kwestia testowania jakości aplikacji i usług jest traktowana marginalnie, co czasami prowadzi do porażek i załamania się projektów wdrożeniowych.

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

TOP 200