InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
-
Upload
wseliga -
Category
Technology
-
view
652 -
download
2
description
Transcript of InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
Efektywne przeglądy kodu w zespołach agile
Tag cloud generated withhttp://www.wordle.net/Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
Wojciech SeligaSpartez Co-founder
Atlassian JIRA Development Team Lead
Plan to zło Planowanie to dobro
Picture courtesy of HelicoCC BY 2.0
Dlaczego przeglądy koduMityPułapkiEfektywnośćQ&A
Uwaga!
Prezentacja zawiera lokowanie :)
Nie jestem obiektywny. Reprezentuję firmy sprzedające
narzędzie do przeglądu kodu.
Z drugiej strony:Stosuję przeglądy kodu codziennie ...
Coprzeglądy kodumają wspólnego
z Agile?
Picture courtesy of Cat and GirlCC A-NC-SA 2.5
Picture courtesy of mil8 / CC BY 2.0
reużywalne komponenty
zasady, praktyki, trikiAPIs
design
styl/konwencje
Wdrażanie nowych ludzi do istniejącego kodu źródłowego
Mentorowanie junior developerów
Bezinwazyjne
Asynchroniczne
W dogodnej chwili
Powodujące mniej frustracji i rozproszania się dla senior developerów
Picture courtesy of eddidit / CC BY 2.0
Dzielenie się dobrymi praktykami inżynierskimi
Picture courtesy of Jordan Miller / CC 2.5
Photo Courtesy of U.S. Army
Picture courtesy of tinyfroglet / CC 3.0
Trudne przygotowanie
wybór kodu
zorganizowanie osób do przeglądu
znalezienie pasującego terminu
rezerwacja sali konferencyjnej
przygotowanie wydruków ...
Picture courtesy of jfdervin / CC BY-SA 2.0
więcej spotkań
rozproszenie uwagi
Kolejny przeszkadzający obowiązek
oderwanie się od pracy
Picture courtesy of gadl / CC BY-SA 2.0
Pożeracz czasu
dużo kodu do czytania wciąż i wciąż
„spanie” na spotkaniach
marnowanie czasu na proste rzeczy:konstrukcje powodujące ostrzeżenia
konwencję kodowanianazewnictwo
pokrycie testami
Ryzyko animozji
Brak konkretnych mierzalnych efektów
Picture courtesy of aussiegall / CC BY 2.0
Efektywne przeglądy kodu
Lekkie – prosty i elastyczny proces
Asynchroniczne
Wspierane przez narzędzia
Różnicowe gdzie tylko możliwe
Przejrzyste i trwałe, dostępne dla każdego
Przyjemne dla developerów – proste, szybkie
Prosty Proces
TODO – Kodowanie – Przegląd – QA – DONE
Limit Kanbanowy jest przydatny
Zakres przeglądurecenzenci
termin zakończenia
Dyskusja:Komentarze, Uwagi,
OdpowiedziPoprawki
KróciutkiePodsumowanie
Narzędzia
Proste i szybkie przeglądy
Im mniejsze przeglądy tym lepiejMałe częściej lepsze niż duże rzadziej
Rozsądna liczba recenzentów
1 2 3 4 5 60
5
10
15
20
25
30
Liczba recenzentów
Cza
s po
świę
cony
[min
]
Rozsądna liczba recenzentów
1 2 3 4 5 6 7 8 90
5
10
15
20
25
30
Liczba recenzentów
Licz
ba z
nale
zion
ych
błęd
ów n
a 1
KLO
C
Szybkie i przyjemne przeglądy kodu
deadline na jutro
niewielu recenzentów
z komentarzami od autora
post-commit zamiast pre-commit
Picture courtesy of Svadilfari / CC BY-ND 2.0
Niektóre zasady zwinnych przeglądów kodu
każdy może dołączyć i recenzować kod
każdy może rozszerzać zakres przeglądu
każdy może dołączać inne osoby
wszystko jest ogólnie-dostępne wewnątrz firmy
chodzi o naukę, a nie o oskarżanie się czy wojny
Picture courtesy of PantoDX / CC BY 2.0
Przeglądy kodu w Agile – niezrozumienie
fanatyczne poszukiwanie błędów
fałszywe przekonanie o braku błędów w sprawdzonym kodzie
śledzenie losu każdego pojedynczego komentarza czy uwagi do kodu
oczekiwanie twardych metryk
Picture courtesy of Juria Yoshikawa / CC BY-SA 2.0
Sztywny proces
Metryki
Micro-management
Zbyt duży narzut
Zespoły jednak ewoluują...
Największe początkowe zagrożenia
Picture courtesy of tms. / CC BY-NC-ND 2.0
Niespodziewane Korzyści
Znaczne ułatwienie przy zespołach rozproszonych geograficznie
Współpraca przy szczegółowym projektowaniu
Łatwiejsze do wdrożenianiż pair-programming
Różnica stref czasowych może być korzystna
Baza WiedzyPicture courtesy of david.nathan.cox / CC BY 2.0
Przeglądy Kodu a Pair Programming
tworzenie
współpraca
asynchroniczne synchroniczny
rozproszone
”represja” ”prewencja”dzielenie się
wiedzą
lepsza jakośćniższa bariera wyższa bariera
trwała
intensywny
weryfikacja
ekstensywne
nietrwała
później teraz
wspólna odpowiedzialność
fizycznie razem
Picture courtesy of Kevin Dooley / CC BY 2.0
Q&A
Picture courtesy of Mykl Roventine / CC BY 2.0