Programistami da się
zarządzać!
Zasady i narzędzia pomocne w
zarządzaniu zespołami programistów
O
ile techniki wytwarzania oprogramowania rozwinęły się w imponujący
sposób, o tyle metody zarządzania tym procesem wciąż są
dalekie od doskonałości. Absurdalne przekroczenia budżetów
lub terminów zbyt często były dowodem na to, że uzyskanie
kontroli nad zespołem programistów czy skuteczne zarządzanie
całym projektem programistycznym jest niezwykle trudne, o ile w
ogóle możliwe. Niemniej osoby interesujące się tą branżą
potrafią wskazać projekty, które zespół ukończył
zgodnie z założeniami: terminowo, uzyskując znakomitą jakość produktu.
Jak zatem powinien pracować kierownik projektu programistycznego, aby
odnieść sukces?
Książka
jest bardziej źródłem inspiracji niż typowym podręcznikiem
przywództwa w świecie programistów. Znalazło się
tu mnóstwo praktycznych zasad, opisów przydatnych
technik i narzędzi, obficie okraszonych anegdotami i przykładami z
życia wyjadaczy w dziedzinie zarządzania zespołami IT.
Omówiono kwestie związane z programowaniem zwinnym,
rekrutacją i adaptacją nowych pracowników, jak
również metody zarządzania tzw. problemowymi pracownikami i
motywowania zespołów do osiągania trudnych celów.
Wyjaśniono, skąd się biorą trudności w zarządzaniu programistami, i
wskazano, z jakich perspektyw te trudności są łatwiejsze do
rozwiązania. Sporo miejsca poświęcono problematyce
przywództwa i roli kierownika w realizacji projektu, a także
kluczowej roli menedżera w tworzeniu kultury zespołowej - czyli czemuś,
co warunkuje sukces.
W tej książce między innymi:
- tworzenie najlepszego
zespołu do danego projektu
- zarządzanie z
poszanowaniem indywidualności programistów
- skuteczne motywowanie i
pielęgnowanie efektywności zespołu
- zapewnianie funkcjonowania
zespołu w warunkach korporacji
- techniki zarządcze
odpowiednie dla kierowników zespołów IT
- kierowanie a
samoorganizowanie się zwinnych zespołów
Przedmowa
17
O autorach 23
Rozdział 1.
Dlaczego
poskromienie programistów wydaje się niemożliwe 29
Co programista właściwie robi? 31
Dlaczego trudno zostać sprawnym kierownikiem zespołu
programistów? 35
Rozdział 2.
Zrozumieć
programistów 37
Dyscyplina programowania 38
Programiści systemów wbudowanych i IoT 38
Programiści front-endowi 39
Programiści back-endowi 40
Programiści baz danych 40
Web developerzy i inni twórcy skryptów 41
Programiści full stack 42
DevOps 43
DevSecOps 44
Rodzaje programistów 44
Inżynierowie/architekci systemów 45
Programiści systemów 45
Programiści aplikacji 46
Nie całkiem programiści 47
Specjalizacja dziedzinowa 47
Wymagania i umiejętności 48
Lokalizacja i relacje 53
Pracownicy wewnętrzni 54
Pracownicy zdalni 54
Podwykonawcy 55
Zarządzane zespoły podwykonawców i firmy outsourcingowe 56
Charakter pokoleniowy 56
Typy osobowości 60
Lewopółkulowcy i prawopółkulowcy 60
Sowy i skowronki 61
Kowboje i farmerzy 62
Bohaterzy 63
Introwertycy 64
Cynicy 64
Buce 64
Podsumowanie 65
Rozdział 3.
Poszukiwanie i zatrudnianie świetnych programistów
67
Określenie rodzaju programisty 69
Przygotowanie opisu stanowiska pracy 71
Znalezienie wakatu 74
Rekrutacja pracowników etatowych 75
Rekrutuj stale 76
Budżet rekrutacyjny 77
Rekruterzy - studium przypadku 79
Polecenia pracownicze 80
Skuteczna rekrutacja 82
Wskazówki rekrutacyjne 82
Rekrutacja podwykonawców 84
Przeglądanie CV 85
Zawężanie puli kandydatów 87
Przygotowanie do rozmowy 88
Prowadzenie rozmowy 95
Podjęcie decyzji w sprawie zatrudnienia programisty 98
Złożenie programiście właściwej oferty 102
Utrzymuj kontakt w oczekiwaniu na zgodę 107
Podsumowanie 108
Rozdział 4.
Poprawne
wdrażanie programistów do pracy
109
Wprowadź pracownika do pracy jak najwcześniej 110
Przygotowanie na przybycie pracownika 111
Obowiązkowe punkty programu 112
Powitanie 116
Szansa na sukces 117
Wstępne oczekiwania 119
Podsumowanie 122
Rozdział 5.
Sprawne
kierowanie programistami: zarządzanie "w dół" 123
Zdobycie uznania dla własnego autorytetu 124
Zatrudniaj świetnych programistów 129
Zespół na turbodoładowaniu 129
Różne sposoby zarządzania różnymi typami
programistów 130
Facylitacja 134
Tablice wskaźników 135
Chroń swój zespół 135
Ocena i poprawa wyników 137
Wyznaczanie celów 137
Ocena pracowników 139
Ograniczanie strat 144
Końcowa lista kontrolna 146
Myślenie organizacyjne 146
Obsada etatów 146
Organizacja 152
Działy programistyczne 158
Zespoły interdyscyplinarne 159
Zespoły zwinne 161
Rozwiązywanie problemów dysfunkcyjnej organizacji 161
Dostarczaj rezultaty i świętuj sukcesy 162
Podsumowanie 163
Rozdział 6.
Sprawne kierowanie programistami: zarządzanie "w górę",
otoczeniem i samym sobą 165
Zarządzanie "w górę" 165
Zrozum swojego szefa 166
Pakiety komunikacyjne 168
Zrozum szefa swojego szefa 169
Wyczucie czasu 169
Bądź wzorowym pracownikiem 170
Korzyści 171
Zarządzanie otoczeniem 171
Współpraca w obrębie działu 172
Zrozumienie innych działów 172
Wykorzystanie ważnych jednostek pomocniczych 174
Zarządzanie poza firmą 179
Korzyści 185
Zarządzanie samym sobą 186
Osobisty styl 186
Zarządzanie czasem i priorytetami 189
Zarządzanie komunikacją 191
Praktyki związane z zarządzaniem 193
Zarządzanie działaniami następczymi 198
Znajdź mentora 200
Korzyści 201
Podsumowanie 201
PRAKTYCZNE ZASADY I PEREŁKI MĄDROŚCI 203
Wyzwania towarzyszące zarządzaniu 207
Zarządzanie ludźmi 231
Zarządzanie sprawnymi dostawami 260
Rozdział 7.
Motywowanie
programistów 283
Teorie motywacji 283
Hierarchia potrzeb Maslowa 284
Teoria X i Y McGregora 285
Dwuczynnikowa teoria Herzberga 286
Czynniki motywujące w odniesieniu do programistów 289
Teoria w praktyce 293
Czynniki fundamentalne - przyczyny niezadowolenia 294
Szacunek do przełożonego 294
Zabawa 299
Nauka i rozwój 300
Dobre warunki pracy 301
Rozsądna polityka i administracja firmowa 306
Etyczne zarządzanie 310
Główne czynniki motywujące 315
Wpływanie na otaczający świat 315
Nauka i rozwój 316
Zabawki i technologia 318
Uznanie i pochwały 319
Zabawa z pracownikami 321
Spodziewane zyski 321
Osobiste zaangażowanie 323
Technologia - atak i obrona 326
Poznawanie motywacji programistów zaczyna się od pierwszego
dnia 327
Podsumowanie 328
Rozdział 8.
Ustanawianie
sprawnej kultury programistycznej 329
Definicja "udanej" kultury 330
Kultura programistyczna 330
Kultura firmowa 331
Wykorzystywanie złożoności kultury firmowej 332
Odgradzanie się od kultury firmowej 333
Jaką rolę technologia odgrywa w Twojej firmie? 334
Co napędza Twoją firmę? 335
Cechy sprawnej kultury programistycznej 337
Wzajemny szacunek 338
Innowacyjność 338
Standardy 340
Dostawy 340
Komunikacja 341
Komunikacja w zespołach wirtualnych 343
Sprawiedliwość 344
Upodmiotowienie 345
Profesjonalizm 346
Żadnych buców i palantów 347
Dążenie do doskonałości 348
Doskonałość programistyczna 349
Praca zespołowa 349
Pasja 349
Orientacja na klienta 350
Uczenie się 351
Środowisko 352
Podsumowanie 353
Rozdział 9.
Zarządzanie
sprawną dostawą oprogramowania 355
Inspirujące cele 356
Definicja "sukcesu" 358
Nienaruszalne terminy 360
Planowanie nagród 361
Żądanie jasnych wymagań 361
Współpraca nad priorytetyzacją wymagań 365
Ograniczanie wymagań: "co" zamiast "jak" 369
Wzbudzanie zachwytu u klientów 370
Definicja ukończenia 371
Oszacowanie wymaganego nakładu pracy 373
Oszacowania: nie ma uniwersalnych rozwiązań 380
Odpowiednia architektura i projekt 380
Ile projektowania wystarczy? 383
Weryfikacje koncepcji, prototypy i spike'i 384
Przeglądy projektów 385
Wspieranie pracy 385
Plan jest nieodzowny 388
Określanie tempa realizacji projektu 390
Ustalanie kamieni milowych 390
Wspieranie komunikacji 392
Koncentracja na misji 394
Usuwanie przeszkód 395
Spełnianie ustalonych standardów i wymagań 396
Programowanie sterowane testami 398
Przeglądy kodu jako wymóg 399
Dostawa/uruchomienie 400
Żadnych nowych funkcji 400
Sam skorzystaj z produktu 401
Gotowość do ogłoszenia sukcesu i rozpoczęcia prac nad aktualizacjami 401
Kiedy ograniczać straty? 403
OEM i wersje międzynarodowe 404
Zakończenie 405
Świętowanie 405
Retrospektywa 406
Dzielenie się wiedzą 407
Refaktoryzacja 408
Wydania aktualizacyjne 409
Podsumowanie 409
Rozdział 10.
Co robią kierownicy w zespołach zwinnych? 411
Dlaczego kierownicy mogą czuć się zmarginalizowani 412
W jaki sposób metodyki zwinne przekształcają rolę
kierownictwa? 414
Role kierownicze są obecne w metodykach zwinnych 415
W jaki sposób restrukturyzacja organizacyjna wpływa na rolę
kierownictwa? 416
Dziesięć głównych zadań kierowników w podejściu
zwinnym 420
1. Rozwijanie kultury zwinności 420
2. Szerzenie wartości podejścia zwinnego 422
3. Uczenie dobrych praktyk zwinnych 426
4. Rozwiewanie mitów o podejściu zwinnym 430
5. Zwracanie uwagi na wzorce i antywzorce 436
6. Prowadzenie technicznych wspólnot praktyków
obejmujących zespoły scrumowe 441
7. Eliminowanie przeszkód 443
8. Doradzanie i trenowanie 444
9. Zatrudnianie 444
10. Zwalnianie 445
Podsumowanie 446
448
stron, Format: 17.0x24.0cm, oprawa miękka