Wszystkie problemy leżą w testach
O czym będziemy rozmawiać Coś nie wyszło Jak wygląda proces wytwórczy Każdy widzi to inaczej Jakie wnioski wyciągamy z testów Analiza problemów Możliwe rozwiązania O czym wiemy, a co robimy Podsumowanie
Coś nie wyszło Wdrożenie znowu się nie udało!!! Kto zawinił? Testy!!! Projekt się przedłuża!!!!!! Kto jest winien? TESTY!!!
Jak to wygląda po kolei
Proces wytwórczy Decyzja o starcie projektu Zbieranie wymagań (studium wykonalności) Potrzeba biznesowa Implementacja rozwiązania Wybór dostawcy
Proces wytwórczy Aaaaa!! Trzeba zrobić testy
Proces wytwórczy Testy Planujemy Projektujemy Wykonujemy Czemu jeszcze nie skończyliście testów? Bo nie działa. Nie nadaje się do wdrożenia.
Proces wytwórczy Jak to nie działa?!?! Przecież jest zielono Deadline - Wdrażamy!!!!
Proces wytwórczy Katastrofa!!!!
Proces wytwórczy Rollback Poprawki (hotfix/emergency) Ufff, udało się uratować Odnieśliśmy wielki sukces!!!
Proces wytwórczy Przegląd poprojektowy Ale po co? Trzeba robić następny projekt.
Proces wytwórczy jakiś czas później... A czemu to tak działa? Gdzie są Ci, którzy to robili? Pracują w innej firmie Kto zna ten system I zapadła taka niezręczna cisza... A jakaś dokumentacja? Nieaktualna
Punkt widzenia zależy od tego jaką rolę w projekcie pełnimy
Punkt widzenia zależy
Różne perspektywy - tester Znowu nie działa Oni (dostawcy/programiści) w ogóle nie testują Kto to pisał? Przecież tego nie da się sprawdzić? A gdzie dokumentacja? Te wymagania są niezrozumiałe Tego nie da się przetestować w tak krótkim czasie
Różne perspektywy kierownik projektu Testerzy tylko wymyślają nowe problemy Testy wydłużają proces wdrażania Ile można klikać? Znowu chcą kasę, a nic nie robią
Kto jest odpowiedzialny za jakość? TESTERZY!!! Wszyscy Skąd ta różnica? Brak świadomości jak działa proces testowy i za co odpowiadają testy wśród innych uczestników procesu wytwórczego Poprawa samego procesu testowego bez usprawnienia pozostałych obszarów nie przyniesie nam długoterminowego zysku
Zazwyczaj wyciągane wnioski Mamy problem z kiepską jakością dostarczanych produktów To wszystko przez kiepski proces testowy - poprawmy go Analiza i usprawnianie procesu testowego
Analiza i usprawnianie procesu Syndrom góry lodowej - Dopiero w testach widać, że mamy problem Testy pokazują objawy istniejących problemów
Problem leży w testach Brak zdefiniowanego procesu testowego Brak jasnego spięcia procesu testowego z procesem wytwórczym Brak jasno określonego momentu kiedy testy zaczynają uczestniczyć w projekcie Za mało czasu przewidzianego na testy Ten projekt jest inny - nie możemy bazować na doświadczeniach Nie wiemy co testujemy, ani co przetestowaliśmy Brak raportowania i wsparcia dla zbierania potrzebnych metryk
Analiza i usprawnianie procesu Proces testowy nie może istnieć w oderwaniu od innych procesów w organizacji (m. in. procesu wytwórczego)
Problem leży gdzie indziej Niejasne/nietestowalne wymagania Pracujemy na starych wymaganiach - brak kontroli nad zmianami Mamy różne zrozumienie wymagań - klient, analityk, deweloper, tester Dane testowe Odpowiedzialności Architektura Środowisko testowe
Problem leży gdzie indziej Nie wyrabiamy się idąc podejściem kaskadowym - przejdźmy na Agile Mamy bałagan - więc jesteśmy zwinni Harmonogram nie uwzględnia faktu, że niewielkie przesunięcie w trakcie projektu może skutkować dużym przesunięciem końca projektu Harmonogram nie uwzględnia świąt, okresu urlopowego zazwyczaj w tym czasie wypadają testy Klient chciał coś zupełnie innego
Problemy leżą gdzie indziej Osoby odpowiedzialnej nie ma aktualnie w firmie. Biznes zamiast opisać swoje potrzeby opisuje wymagania i robi design (opisuje rozwiązanie) nie zawsze to co opisują rozwiązuje ich problemy. Biznes nie potrafi powiedzieć czego tak naprawdę potrzebuje, co chce zmienić. Wiemy, że to co robimy nie ma sensu, ale robimy to dalej (bo za to w końcu nam płacą).
Problemy leżą gdzie indziej Największym problemem jest KOMUNIKACJA!!!
Możliwe rozwiązania Wprowadzenie przeglądów Każda osoba w organizacji ma swój backup Uwzględnianie w harmonogramie przerw związanych ze świętami i okresami urlopowymi (ferie, wakacje, weekend majowy) Wprowadzenie narzędzia i świadome zarządzanie z ich wykorzystaniem Pełen opis procesów biznesowych z uwzględnieniem architektury i przepływu danych
Możliwe rozwiązania Edukacja Jeśli zmieniamy podejście róbmy to dobrze i świadomie Nazywajmy rzeczy po imieniu - bałagan to nie Agile Doprze opisane procesu, które są wdrożone w organizacji a nie tylko spisane - CIMM Świadome zarządzanie ryzykiem Rozmawiajmy!!! Pytajmy: DLACZEGO tak, PO CO to robimy?
Wszyscy wiedzą, że Testy trzeba robić Jakość jest ważna Czynności testowe powinien rozpocząć się jak najwcześniej. Trzeba uczyć się na własnych, a zwłaszcza na cudzych błędach Trzeba się uczyć i rozwijać Istnieje coś takiego jak inżynieria oprogramowania i proces testowy Istnieje coś takiego jak ISTQB i ścieżka rozwoju testera Można usprawnić procesy (coś zmienić na lepsze)
Czemu tego nie robimy? Po co testować (i tracić czas na) coś co i tak będzie sprawdzane przez testerów jest jeszcze tyle roboty do zrobienia. (Programiści) Jeśli zrobię coś więcej niż muszę, stanie się to moim obowiązkiem. Nie chcemy brać na siebie odpowiedzialności za ewentualne niepowodzenie. Po co zmieniać coś co działa? Brak jasnej komunikacji Tłumaczymy, tłumaczymy, ale management nie chce słuchać.
Czemu tego nie robimy? Wiemy, że jest źle i chcemy coś zmienić, ale nie wiemy jak. Świadomość problemów jest, ale kończy się na zespole testów. Inni nie rozumieją o co chodzi z testowaniem. Jesteśmy tak zapracowani, że nie mamy kiedy taczki załadować. Każdy kieruje się swoimi celami. Często nie są one spójne pomiędzy poszczególnymi uczestnikami procesu. Dla jednych celem będzie jakość dla innych terminowe dostarczenie.
Podsumowanie Za jakość odpowiadamy wszyscy. Bardzo ważna jest komunikacja! Powinniśmy identyfikować problemy i je rozwiązywać, a nie leczyć tylko objawy. Jeśli nie zidentyfikujemy dobrze potrzeb klienta możemy stworzyć wspaniały system, który nie robi tego co trzeba. Uczmy się i rozwijajmy w trakcie projektu, a nie dopiero po jego zakończeniu.
Dziękuję! Pytania?
Autor Dorota Hańska dorota.hanska@forprogress.com.pl