← Esettár

FTKONF-017

Amikor nem tudod, hogyan szólj a kollégáidnak, hogy rosszul dolgoznak

Helyzet

„Hogyan mondjam meg a kollégáimnak, hogy a kódbázis, amit építettek, teljes káosz?” · „How do I tell my colleagues that the codebase they've built is a total mess…?” · szerző: user1807 · CC BY-SA

Egy frissen érkezett szakember úgy látja, hogy a csapat módszerei elavultak, a munka rendetlen. Azt tervezi, hogy „explicit megmondja, hol hibáznak", lépésről lépésre kielemezve a hibáikat, de fél, hogy ezt támadásnak veszik. (Joggal: a csapat korábban már „egyszerűen lepergette" róla.)

A forrásposzt teljes szövege (magyarul és angolul)

Az eredeti Stack Exchange-kérdés hű magyar fordítása · szerző: user1807 · The Workplace, q35966 · CC BY-SA.

Hogyan mondjam meg a kollégáimnak, hogy a kódbázis, amelyet felépítettek, totál káosz, és a módszereik ősrégiek?

A helyzet. Néhány hónapja egy új cégnél, egy új csapattal dolgozom. A cég bizonyos webes szolgáltatásokat kínál, a csapat szerepe pedig ezeknek a szolgáltatásoknak a fejlesztése és karbantartása. 1. probléma: a csapat nem csapat, hanem egyének halmaza. Nem működnek együtt egymással. Mindenki a saját kódrészletén dolgozik úgy, ahogy neki tetszik, a saját konvencióival és módszertanaival. A legközelebbi dolog az együttműködéshez, amit eddig láttam, ez: „Befejeztem ennek a funkciónak a megvalósítását, most elkezdhetsz rá építeni valamit.” 2. probléma: nincs modularitás. Nos, valójában minden fejlesztő munkája a saját repójában van, de ezek a repók erősen heterogének, és különféle dolgokat kevernek (gyakran újra feltalálják a kereket és duplikálják a kódot). 3. probléma: a fejlesztési gyakorlatok tényleg ősrégiek. Ismerik az „agilis” szót, de nem értik a mögötte lévő fogalmat (valószínűleg azért, mert sosem próbálták). Nincsenek kódellenőrzések, nincsenek tesztek, a szoftvert nagyon nehéz konfigurálni és testreszabni. Az egész fejlesztési folyamat lassú és nem hatékony. Sok más hiba is van, de ezek valószínűleg a fent felsorolt három probléma következményei. Röviden, a kódbázis egy káosz. Hogyan kezeljem? Itt dolgozva gyorsan észrevettem ezeket a problémákat, és először úgy döntöttem, hogy inspirációval vezetek: az első projektemen néhány agilis fejlesztési gyakorlattal dolgoztam, és a visszajelzés jó volt. Most azonban olyan helyzetben vagyok, ahol mások kódjához/gyakorlataihoz szeretnék nyúlni, és nem tudok inspirációval vezetni, mert szükségem van az együttműködésükre. Próbáltam megértetni velük, hogy ők egy csapat, amely egy terméket épít, és nem egyének, akik a saját projektjeiken dolgoznak. Ők azonban nem értették, mire gondolok, és egyszerűen figyelmen kívül hagytak. Most arra gondolok, hogy megváltoztatom a megközelítésemet: explicit módon szeretném kijelenteni, hogy hibákat követnek el, elemezve minden hibát, azok okait és megoldásokat javasolva. Alacsony szintről szeretnék kezdeni (pl. „ez a kódrészlet lassú/hibás/nem hatékony”), majd lassan a magasabb szint felé haladni (pl. iterációk a vízeséssel szemben). De attól félek, hogy azt gondolnák, támadom őket, ami nem így van. Ez a helyes megközelítés? Hogyan járjak el? 1. SZERKESZTÉS: A válaszaitok alapján egyértelmű, hogy ez rossz megközelítés. A mai naptól folytatom a példamutatással való vezetést, és explicit módon rámutatok a módszereim által hozott előnyökre. (Mostanáig folyamatosan kértem visszajelzést, de valójában sosem tettem fel olyan explicit kérdéseket, mint „hé, tetszik, hogy elfogadási teszteket írtam? Szerintetek javítani fogják a projekt általános minőségét?”) Lássuk, beválik-e! 2. SZERKESZTÉS: Ahogy mondtam, elkezdtem példamutatással vezetni, és beszélni a csapattársakkal és a vezetőkkel. Az eredmény? Kineveztek „fő reviewerré”, vagyis a szerepem most az, hogy aktívan részt vegyek minden technikai vitában, javaslatokat adjak az architektúrára, és új megközelítéseket vezessek be a fejlesztési folyamatba.

A közösség legjobbnak ítélt válasza

enderland (148) · CC BY-SA

This is not a technical problem, it's a people problem. … Stop thinking "me vs them." … telling someone "this code is wrong, I am better" will always be an attack. … People care more about results than fuzzy feelings: demonstrate, ask for help, lead by example.

Magyar összefoglaló: a kritika ne „én vs. ők" támadás legyen. Kösd a közös célhoz és eredményhez („nem tartjuk a határidőket; szerintetek X segítene?"), kérj segítséget, mutass példát, és a vezetőn keresztül a folyamatot javítsd, ne a személyeket pellengérezd ki (Roger, 35).

Valós forrás: „How do I tell my colleagues that the codebase they've built is a total mess…?” · szerző: user1807 · Stack Exchange / The Workplace (q35966) · CC BY-SA · magyar fordítás, anonimizálva. Az eredeti poszt →