Upload
anna-brzezinska
View
169
Download
0
Embed Size (px)
DESCRIPTION
Michal Kujalowicz ( QA Team Lead) - his presentation from workshops on 22.06 at Spartez.
Citation preview
7 kompetencji
● Partner!● Involved in development of core Atlassian
products!● Commercial, Open-Source add-ons,
customizations!● Developers, Product Managers, Designers,
QAs, Agile Team Leads!● Values
~ 50 000 Customers
OnDemand and Download
Tracker for teams building
awesome products
Now also supporting their customers
Developers, PM, UX Designer, QATeam of 15 people
Enterprise features Platform JIRA Importers Plugin
@
O mnie
Dlaczego?• Uniwersalne umiejętności/kompetencje
• Pozornie związane z pracą testera - krytyczne dla wszystkich
• Przydatne na uczelni, w pracy i życiu osobistym
• Intuicyjne dla niektórych
• Można się tego nauczyć
Reguły gry• Projekt, wybór zespołu, realizacja
• Każda osoba ma pewne umiejętności
• Niespodziewane zdarzenia (zaplanowane i losowe)
• Każde zdarzenie wpływa na czas trwania projektu
• Każde zdarzenie ma swoją specyfikę
• Waga zdarzenia * Najlepszy skill zespołu = ilość tygodni opóźnienia
Zaczynamy
Klient
Aplikacja • Czas na stworzenie: 6 miesięcy
• Zespół: 4 osoby
• Klient: Arabia Saudyjska
• Aplikacja: Nasz Intranet
• Jaka będzie tematyka: Kolejowa
Aplikacja • Tworzenie “Działów tematycznych”
• Tworzenie “Stron” w działach
• Tworzenie “Przestrzeni własnych”
• Zarządzanie dostępem w działach - strony i działy tajne
• Dzielenie się stronami z innymi
• Dodawanie załączników, obrazków
Szacunki
• Czas na stworzenie: 6 miesięcy = 24 tygodnie
• Programowanie i testowanie: 15 tygodni
• …?
Jaki zespół?
• Project manager
• Architekt Biznesowy - zbiera, opracowuje wymagania
• Programiści
• Testerzy
Umiejętność nr 1 CRITICAL & RISK THINKING• Na każdym etapie
• Praktycznie przy każdej decyzji
• Zadawanie pytań / poddawanie w wątpliwość
• Nie zakładamy niczego - błędne założenia są przyczyną porażek
• Nawet “najgłupsze” pytanie może być istotne
Umiejętność nr 1 CRITICAL & RISK THINKING• Zbierz “udziałowców”, ludzi z doświadczeniem
• Dowiedz się o innych projektach tego typu
• Wypisz wszystkie ryzyka i staraj się je ocenić
• Podejmij decyzje które są najważniejsze
• Zaplanuj akcje minimalizacyjne
Umiejętność nr 1 CRITICAL & RISK THINKING
Prawdopodobienstw
oSkutek Ważne? Mitygacja
Ryzyko 1 Duże Średni Tak
- Akcja 1- Akcja 2- Akcja 3
Ryzyko 2 Małe Duży Tak - Akcja 1
Ryzyko 3 Średnie Mały Nie -
Umiejętność nr 1 CRITICAL & RISK THINKING
Matryca ryzyka
• https://www.youtube.com/watch?v=WHGoCybrX1k
Umiejętność nr 1 CRITICAL & RISK THINKING
Przydaje się zawsze?
• Zakup mieszkania
• Oszczędzanie i inwestowanie
• Podjęcie nowej pracy
Miesiąc 1
Co się działo• Zbieraliśmy wymagania na system
• Zapoznaliśmy się z technologią
• Kompletowanie zespołu
• Zespół zaczął się zgrywać
• Rozpoznanie technologii, narzędzi, procesu
• Postęp w implementacji - 0%
Oooops nr 1• Zbieraliśmy wymagania na system i nie moglismy
się dogadać
• Ktoś musiał polecieć do Klienta
• Kto?
• 2 tygodnie na wizytę
• 2 tygodnie (2 tyg * średnia zarz. wym. 2 wybranych osób) do przygotowania pierwszych wymagań
Wymagania gotowe
Umiejętność nr 2 PRZEGLĄDY
• Stosowane do wszystkiego: wymagania, kod, testy, UI, produkt, bezpieczeństwo
• Im szybciej tym lepiej - najlepiej jeszcze “na papierze”
• Nie bać się ich!
• Szukaj błędów ale też niejasności
• Każda niejasność to potencjalny błąd
Umiejętność nr 2 PRZEGLĄDY
• Każdy znaleziony błąd to uniknięty problem u klienta
• Każdy znaleziony błąd to nauka dla autora
• Proście o przeglądy “wszystkiego”
• Nie traktujcie jako “czepianie się”
• WAŻNE: komunikacja błędów!!! Empatia
Przegląd specyfikacji
Komunikacja błędów
• Oceniam “dziecko” czyjejś pracy
• Obiektywizm, skupienie na faktach
• “I am the one to tell you your child is ugly”
• Wczuj się w sytuację innej osoby
Komunikacja błędów
• Częsty błąd: “To jest bez sensu”
• Pokora, zrozumienie sytuacji, poprawa
Wreszcie kodowanie
• Wymagania na tyle gotowe że można zacząć implementację
• 1szy etap - 33% - 5 tygodni
Ooops nr 2
• Praca nie idzie tak szybko jakbyśmy się spodziewali
• Ludzie mają “jakieś” obowiązki w innych projektach
• Kultura organizacji nie pomaga
• “Ciężko się skupić, inni proszą o pomoc, dużo czasu schodzi nam na dyskusje, spotkania”
Umiejętność nr 3 TIME MANAGEMENT
• Wiele technik - każdy wypracowuje swoją własną
• Ważne - zacząć pracować nad nią wcześnie
• 99% pewności że się z tym spotkacie
• Złota zasada - myśleć o tym ile poświęcacie na poszczególne zadania
Umiejętność nr 3 TIME MANAGEMENT
• 3 sposoby wykorzystania czasu: myślenie, konwersacje, działanie
1. Zmierz lie czasu poświęcasz na poszczególne zadania w tygodniu.
2. Na początku tygodnia zbierz wszystkie zadania które masz do zrobienia na ten tydzień
3. Zaplanuj w swoim kalendarzu spotkania ze sobą na realizację tych zadań
4. Zaplanuj czas na “przeszkadzajki” (np. “office hours”)
5. Pierwsze 30 minut swojego dnia poświęć na zaplanowanie dnia
6. Wystaw “Nie przeszkadzać” jeżeli masz coś ważnego do zrobienia
7. Staraj się nie dawać się zdekoncentrować (telefony, e-mail, czat, social media)
8. Analizuj jak sprawdzają się Twoje tygodniowe i dzienne planowania i modyfikuj je
Umiejętność nr 3 TIME MANAGEMENT
Umiejętność nr 3 TIME MANAGEMENT
!
Pomodoro Technique:
• https://www.youtube.com/watch?v=PInj5HDbhO8
Kodowanie i testy faza 2
• Kolejne 33% - 5 tygodni
• Poradziliśmy sobie z time management
• Idzie znacznie szybciej
• Iteracje: Wymagania - Design - Programowanie - Testy - Demo
Ooops nr 3
• Aby zrobić to dobrze musimy zmienić technologię / przepisać część tego co już mamy
• Nie przewidzieliśmy dodatkowych wymagań związanych z wydajnością
• Obecna technologia nie spełni wymagań
• Znaleźliśmy już odpowiednie rozwiązanie
Umiejętność nr 4 TRUDNA KOMUNIKACJA
• Czy do zarządu czy też do klienta końcowego
• Popełniliśmy błąd
• Co chcemy osiągnąć?
• Panujemy and sytuacją
• Wyciągnęliśmy wnioski
• “Nie mam więcej pytań”
Umiejętność nr 4 TRUDNA KOMUNIKACJA
• Co może zawierać:
• Opis sytuacji - krótko, analitycznie, prawda
• Jaką decyzję podjęliśmy
• Jakie są konsekwencje i ryzyka
• Jak zapewnimy że to się nie powtórzy
• Następne kroki
• Następny czas sprawdzenia
Do zastosowania zawsze
Implementacja faza 3
• Przebrnęliśmy przez fazę 1, w fazie 2 zaczęły pojawiać się problemy z regresjami
• To co działało wcześniej przestawało działać :(
• Skupiliśmy się na implementacji nowych funkcjonalności kosztem testów automatycznych
• Co teraz?
Ooops nr 4
• Co teraz?
• Inwestujemy czas w nadrobienie - 2 tygodnie
• Kontynuujemy pracę jak dotąd - będziemy testować wszystko na koniec
Umiejętność nr 5 CIĄGŁA POPRAWA
• Nawet jeżeli na początku idzie nam rewelacyjnie musimy myśleć o tym czy nie udałoby się robić lepiej
• Ponownie zarządzanie ryzykiem
• Zatrzymajmy się na chwile
• Obserwujmy symptomy
• Prewencja problemów a nie ich rozwiązywanie
Umiejętność nr 5 CIĄGŁA POPRAWA
• Agile, iteracje i retrospekcje!
• Continue doing
• Stop doing
• Start doing
• x Actions
• Brak poczucia potrzeby retrospekcji - konieczna retrospekcja
Testy automatyczne
• Unit tests
• Integration tests
• System tests (End-to-end tests)
Implementacja zakończona
Ooops nr 5
• Zespół nie czuje że system jest dobry
• Wydaje się nie do końca stabilny
• Nie mamy pewności
Umiejętność nr 6 TESTY EXPLORACYJNE
• Nie na końcu - w całym procesie tworzenia aplikacji!!!!!!
• Testy manualne
• Podejmowanie decyzji o następnym teście na podstawie rezultatu testów poprzednich
• Zależne od doświadczenia, umiejętności i wiedzy osoby testującej
• Nie tylko dla testerów
Finał!
• W jakim czasie udało się stworzyć Waszą aplikację?
• Jak chcecie ją zaprezentować klientowi?
• Jak klient będzie ją odbierał?
Następne kroki?
• Zbierz, skumuluj wszystkie doświadczenia dla przyszłych projektów
• Związane z: technologią, aplikacją, zdarzeniami i ryzykami które wystąpiły, ryzykami które nie wystąpiły (i dlaczego?), o współpracy z klientem
• Nie zakładaj że “ktoś” będzie o tym pamiętał
Czy czegoś nie brakuje?
Umiejętność nr 7 BTCYS
• Be the change you seek
• Nie narzekaj na coś - zmień to!
• Staraj się przekonać innych że to dobra zmiana
• Ciągła poprawa
Pytania