Jakość w Agile
Zwinna droga do sukcesu
Książka Jakość w Agile została w całości poświęcona szeroko rozumianej
tematyce zarządzania jakością w zwinnych projektach IT – od organizacji procesów
jakościowych, przez różne podejścia, aż po konkretne narzędzia i techniki
wspierające zarządzanie jakością.
Na początku autorzy skupiają uwagę na kulturze organizacyjnej, jako niezbędnej
podstawie do zbudowania ekosystemu zarządzania jakością w całej organizacji.
Pokazują, co należy zrobić w przypadku konieczności zaplanowania i wdrożenia procesów
zarządzania jakości w organizacji.
Następnie schodzą na poziom produktu i projektu. Kolejno omawiane zagadnienia
poprowadzą Czytelnika przez cały proces wytwórczy, począwszy od pomysłu biznesowego,
poprzez efektywne procesy zbierania i analizy wymagań, implementację i standardy
deweloperskie, złożone procesy zarządzania i zapewnienia jakości, w tym oczywiście
automatyzację, aż do etapu utrzymania na produkcji.
Zaprezentowane modele pokażą różnorodne podejścia do organizacji testów oraz
pomogą zastosować hybrydy rozwiązań w kontekście różnych typów projektów.
W treść każdego rozdziału wpleciono narzędzia tak, aby maksymalnie wspierać
Czytelnika w pełnym zrozumieniu tematu i możliwości jego praktycznego zastosowania.
Wszystkie omawiane zagadnienia prezentowane są ze szczególnym naciskiem na wspieranie
działań biznesowych - z jednej strony umożliwiając niczym nieskrępowaną, wydajną
pracę zespołu wytwórczego, z drugiej dążąc do dostarczenia maksymalnej, możliwej
wartości do użytkownika końcowego oraz zapewnienia jego satysfakcji wynikającej
bezpośrednio z wygody użytkowania produktu oraz dostarczanej przez ów produkt
funkcjonalności.
Przedmowa
.
XI
Wstęp
.
XV
Podziękowania
XII
1. Zarządzanie jakością. Kultura jakości w organizacji
. 1
1.1. Koncepcja zarządzania jakością
.
1
Koncepcja jakości
.
1
Zarządzanie jakością
2
Zarządzanie przez jakość
3
1.2. Ustalenie procesu zarządzania jakością
4
1.3. Proces transformacji z podejścia tradycyjnego do zwinnego
. 12
Kontekst zarządzania jakością
15
Planowanie czynności zapewniania jakości i testowania
. 16
Postęp prac
17
Proces zgłaszania i naprawy defektów
.
19
1.4. Modele funkcjonowania zespołów – podejście tradycyjne a zwinne
. 20
Zapewnianie jakości w organizacji
20
Pojedyńczy zespół pracujący nad jednym produktem
. 20
Wiele zespołów pracujących nad jednym produktem
. 27
2. Inżynieria wymagań w projektach zwinnych
31
2.1. Wprowadzenie do inżynierii wymagań
.
31
Zadania i czynności inżynierii wymagań
34
Śledzenie powiązań
.
35
2.2. Interesariusze – z kim i dla kogo?
.
41
Wizja produktu
.
48
2.3. Metody oraz formy pozyskiwania i dokumentacji wymagań
. 51
Historyjki użytkownika
52
Model INVEST
53
Persona
.
54
Przypadki użycia
57
Prototypy, makiety, szkielety
.
59
2.4. Przegląd wymagań i zgłaszanie poprawek
62
Kontrola jakości
62
Definicja gotowości i ukończenia – kiedy można zacząć, a kiedy już skończyć
. 64
Walidacja wymagań i współpraca z biznesem – pielęgnacja rejestru produktu
72
2.5. Wsparcie narzędziowe
.
75
Mapy myśli
75
Modelowanie oprogramowania
.
76
Modelowanie procesów biznesowych
77
Prototypowanie
.
78
Narzędzia wspierające pracę grupową
.
81
3. Budowanie strategii testów w organizacji
87
3.1. Strategia na poziomie organizacji
.
87
3.2. Polityka i ogólna strategia testów
87
3.3. Poziomy testów
.
88
Pojęcie weryfikacji i walidacji
.
88
Poziomy testów
.
88
3.4. Piramida testów w Agile
.
92
3.5. Koncepcja kwadrantów testowych
96
3.6. Różne podejścia do testowania
98
Testowanie oparte na ryzyku
.
99
Testowanie oparte na modelach
101
3.7. Podejścia do tworzenia i wytwarzania architektury
. 109
TDD
.
109
BDD, SBE, ATDD…
112
Mikroserwisy
.
118
3.8. Zarządzanie ryzykiem – techniki i metody
121
Tradycyjne zarządzanie ryzykiem
123
Plan zarządzania ryzykiem
124
Zwinny proces zarządzania ryzykiem
125
Identyfikacja ryzyk w projektach zwinnych
126
Wartość zarządzania ryzykiem
.
129
Strategie reakcji na ryzyko
130
3.9. Strategia automatyzacji
131
Cel automatyzacji
.
132
Co warto i można automatyzować
.
132
Problemy związane z automatyzacją
.
134
Wykorzystanie narzędzi
135
Wprowadzanie nowych narzędzi w organizacji
135
Weryfikacja zakładanej koncepcji
.
136
Analiza porównawcza
.
137
3.10. Dokumentacja testów – szablony i dobre praktyki
. 140
3.11. Organizacja pracy w zespole
148
Wartości wspierające pracę zespołową
.
148
Praca w parach
.
150
Praca w zespołach rozproszonych
153
3.12. Wsparcie narzędziowe
.
156
Narzędzia wspierające pracę grupową
.
156
Narzędzia wspierające planowanie prac
.
156
Inne narzędzia
.
156
4. Planowanie testów w projekcie
159
4.1. Testowanie w projekcie
159
4.2. Organizacja i model pracy
.
160
Przygotowanie modelu
.
161
Budowa repozytorium scenariuszy testowych
161
Przepływ pracy dla scenariuszy testowych
.
163
Planowanie działań testowych
.
164
4.3. Realizacja kampanii testowej
165
4.4. Raportowanie wyników kampanii testowej
168
Raporty z procesów zarządzania jakością
.
169
4.5. Środowiska i dane testowe
170
4.6. Wsparcie narzędziowe
.
174
Narzędzia do zarządzania wiedzą
174
Narzędzia do zarządzania zgłoszeniami
.
175
Narzędzia do zarządzania testami
177
Narzędzia wspierające planowanie prac
.
183
Narzędzia wspierające pracę grupową
.
183
5. Techniczne zapewnienie jakości
.
185
5.1. Pojęcie długu technicznego
.
185
5.2. Standardy budowania kodu
.
189
5.3. Testy jednostkowe
.
194
Raportowanie z testów automatycznych
197
5.4. Statyczna analiza kodu
.
200
5.5. Przeglądy/inspekcje kodu
.
202
5.6. Agile a DevOps
.
205
Praktyki pracy ciągłej
208
5.7. Wsparcie narzędziowe
.
212
Zintegrowane środowisko programistyczne
212
Repozytoria kodu źródłowego
.
213
Narzędzia do testów jednostkowych
214
Narzędzia do raportowania pokrycia kodu testami jednostkowymi
214
Narzędzia do analizy statycznej
214
Narzędzia do budowania wersji
.
216
6. Testowanie wartości biznesowej produktu
219
Testy eksploracyjne
219
Zarządzanie testami oparte na sesjach
221
Inne rodzaje testów
224
6.1. Retrospekcja postępu prac
.
238
6.2. Wsparcie narzędziowe
.
245
Raportowanie z SBTM
.
245
Narzędzia wspierające testy na wielu przeglądarkach i systemach operacyjnych 245
7. Utrzymanie produktu
249
7.1. Zarządzanie incydentami
.
249
7.2. Koncepcje obsługi zgłoszeń na produkcji
.
252
Analiza przyczyn źródłowych problemu wraz z sugestią procesu naprawczego
257
7.3. Wsparcie narzędziowe
.
260
Narzędzia wspierające RCA
260
Narzędzia do monitoringu wsparcia produkcji
.
262
Narzędzia do zarządzania wiedzą
263
Wspólne tworzenie dokumentów
264
Tablice kanbanowe
.
265
8. Ciągłe zapewnienie jakości
269
Zwinne myślenie
.
269
8.1. Koncepcja łańcucha bramek jakości
.
271
8.2. Zapobieganie występowaniu problemów
.
272
Techniki i metody zapewniania jakości
.
276
Monitoring
.
278
8.3. Wsparcie narzędziowe
.
280
Narzędzia do monitoringu infrastruktury i systemów IT
280
9. Dobrze. Lepiej. Bardzo dobrze. Lepsze zarządzanie jakością w Agile
283
9.1. Wizualizacja potrzeb związanych z zarządzaniem jakością w organizacji plus
edukacja wewnątrz firmy
.
283
Ewangelista zapewniania jakości
.
283
Zwinne gildie. Model Spotify
.
286
9.2. Jak i gdzie zdobywać wiedzę?
289
Szkolenia i certyfikacje
289
Coaching
296
Meetupy – cykliczne spotkania społeczności
.
298
Idea open space
303
Konferencje
.
305
Podsumowanie
311
Manifest zwinnego zarządzania jakością
.
311
Praktyki zwinnego zarządzania jakością
.
312
Bibliografia
315
Spis rysunków
.
319
Spis tabel
.
325