4developers 2015: minimalizowanie szkód powodowanych przez nowego członka w zespole - krzysztof...
TRANSCRIPT
HELLO THERE !Krzysztof Jendrzyca, Mateusz Tarnaski
MINIMALIZOWANIE SZKÓDPOWODOWANYCH PRZEZ NOWEGO
CZŁONKA W ZESPOLE
AGENDA1. problem nowego człowieka w teamie
2. wytwarzanie oprogramowania jest problememspołecznym, a nie technicznym
3. jak po objawach dojść do sedna problemu
4. co u nas zadziałało
NEW GUY IN TOWN
MACIUŚ
brak doświadczenia w pracy w projekcieew. freelancingjego pierwsza "prawdziwa" praca
KASIA
rok doświadczenia jako tester aplikacji webowychjej drugie miejsce pracychęć rozwoju
PIOTR
9 lat doświadczeniawymiata frameworkiprywatny, duży projekt na boku
ANY PROBLEMS?
Nie wykonuje tasków na czas
Źle wykonuje taski
Nie zna technologii
Nie potrafi zgrać się z teamem
Nie zna domeny
Zadaje głupie pytania biznesowe, techniczne
Nie rozumie swojej roli w procesie
Ma zabetonowane przyzwyczajenia
NIE WYKONUJE TASKÓW NA CZASŹle wykonuje taski
Nie zna technologii
Nie potrafi zgrać się z teamem
Nie zna domeny
Zadaje głupie pytania biznesowe, techniczne
Nie rozumie swojej roli w procesie
Ma zabetonowane przyzwyczajenia
Zrozumiem cały system
Overengineering
Perfekcjonizm
ROZWIĄZANIEświadomość business valuewspółpraca (nie zamykać ludzi w boksach)pisz dobry kodwykorzystaj doświadczenie nowego członka zespołu
Nie wykonuje tasków na czas
ŹLE WYKONUJE TASKINie zna technologii
Nie potrafi zgrać się z teamem
Nie zna domeny
Zadaje głupie pytania biznesowe, techniczne
Nie rozumie swojej roli w procesie
Ma zabetonowane przyzwyczajenia
Dobiera złe rozwiązania do problemu
Używa jednego młotka do każdego zadania
Nie prosi o pomoc
Nie stosuje się do standardów kodzenia w teamie
ROZWIĄZANIEpair programmingdev meetingisformalizowanie coding standardsacceptance criteria
Nie wykonuje tasków na czas
Źle wykonuje taski
NIE ZNA TECHNOLOGIINie potrafi zgrać się z teamem
Nie zna domeny
Zadaje głupie pytania biznesowe, techniczne
Nie rozumie swojej roli w procesie
Ma zabetonowane przyzwyczajenia
Dlatego źle wykonuje taski
Narusza coding standards
Nie potrafi używać narzędzi (git, tfs, bugtrackery, R#)
ROZWIĄZANIEwewnątrzfirmowe szkoleniadev meetingi, pair programmingoddział do zadań specjalnychmentoringszkółka DEV/QA
Nie wykonuje tasków na czas
Źle wykonuje taski
Nie zna technologii
NIE POTRAFI ZGRAĆ SIĘ Z TEAMEMNie mówi o swoich problemachNie udziela feedbacku o problemach wokół niego
Nie zna domeny
Zadaje głupie pytania biznesowe, techniczne
Nie rozumie swojej roli w procesie
Ma zabetonowane przyzwyczajenia
Różne typy charakterów
Brak zaufania
Patrick Lencioni
Boi się powiedzieć o problemach
NIE MÓWI O SWOICH PROBLEMACH
Bo jest introwertykiem
Nie chce przeszkadzać
Chce się pokazać z jak najlepszej strony
nie chce wyjść na idiotę
sam ogarnie
boi się odrzucenia
ROZWIĄZANIEwciągać go w dialogrobić retrozasygnalizować, żeby nie krył się z problemamipokazać, że jego problemy są problemami teamuidź z nim na piwo
dowiedz się jak myślikim on jest
NIE UDZIELA FEEDBACKU OPROBLEMACH WOKÓŁ NIEGO
Czuje się zagubiony
Czuje, że jego feedback będzie bezwartościowy
Nie chce być problemowy
ROZWIĄZANIEniebezpośrednie formy udzielania feedbackuissue boxwhat's the dumbest thing you see? ~Dan North
Nie wykonuje tasków na czas
Źle wykonuje taski
Nie zna technologii
Nie potrafi zgrać się z teamem
NIE ZNA DOMENYZadaje głupie pytania biznesowe, techniczne
Nie rozumie swojej roli w procesie
Ma zabetonowane przyzwyczajenia
seriously?
ROZWIĄZANIENie wymagaj cudówNadaj znaczenie projektowi jednym zdaniem (CRUD dlasukienek)Specjalne wprowadzenie w domenęPowiedz co kto wie (QA Adam)Persony
Nie wykonu je tasków na czas
Źle wykonuje taski
Nie zna technologii
Nie potrafi zgrać się z teamem
Nie zna domeny
ZADAJE GŁUPIE PYTANIABIZNESOWE, TECHNICZNE
Nie rozumie swojej roli w procesie
Ma zabetonowane przyzwyczajenia
Why? Why? Why?
jest wyrwany z kontekstunie wie czemu dana decyzja została podjęta
Pyta bez przerwy
(i to przeszkadza)
ROZWIĄZANIEdecision logwikidobre user storydobry backlog
Pracuj już teraz na swoją przyszłość
Nie wykonuje tasków na czas
Źle wykonuje taski
Nie zna technologii
Nie potrafi zgrać się z teamem
Nie zna domeny
Zadaje głupie pytania biznesowe, techniczne
NIE ROZUMIE SWOJEJ ROLI WPROCESIE
Ma zabetonowane przyzwyczajenia
Jestem QA i moim zadaniem jest znalezienie 100% bugówznajdujących się w systemie
Jestem developerem i moim zadaniem jest produkowaniekodu
ROZWIĄZANIEbusiness value wspólnym celem teamuzdefiniuj procescały team musi wziać na siebie odpowiedzialnośćdobry mentoringszkółka DEV/QAkomunikacja, komunikacja, komunikacja
Nie wykonuje tasków na czas
Źle wykonuje taski
Nie zna technologii
Nie potrafi zgrać się z teamem
Nie zna domeny
Zadaje głupie pytania biznesowe, techniczne
Nie rozumie swojej roli w procesie
MA ZABETONOWANEPRZYZWYCZAJENIA
Rozwiązanie enterprise do każdej, nawet najmniejszejfunkcjonalności
Tworzy cały model bazy danych zanim w ogóle wiadomo coaplikacja ma robić
Siedzi nad taskiem 3 dni i nikt nie wie co robi
Zachowaniem nie przystaje do modelu teamu
ROZWIĄZANIEzdefiniowany tech stack, coding standardsdobrze zdefiniowany proceskaty/hackatony pozaprojektoweinstrukcje udzielane przez cały teampilnowanie przez cały team, aby w stresie nie wracał dostarych nawyków
MASZ LENIWEGOCZŁOWIEKA?
ZNAJDŹ SOBIE NOWEGO.
TL;DRAKA PODSUMOWANIE
sucha wiedza nie chroni przed popełnianiem błędów
stresujące sytuacje wpychają ludzi w stare nawyki
TO NIE ICH WINA
inicjatywa musi wyjść od teamu
świadomość business value
pair programming
poznaj gościa (piwo z nowym)
Pracuj już teraz na swoją przyszłość
DZIĘKI ZA UWAGĘKrzysztof Jendrzyca (@kjendrzyca)
Mateusz Tarnaski (@tarnas14)