4Developers 2015: Minimalizowanie szkód powodowanych przez nowego członka w zespole - Krzysztof...

Post on 15-Jul-2015

223 views 6 download

Transcript of 4Developers 2015: Minimalizowanie szkód powodowanych przez nowego członka w zespole - Krzysztof...

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)