17

52 książki mediafuna: Agile, coś o zarządzaniu kodem

Dziś w serii 52 książki mediafuna (naszego wspólnego z OnePress cyklu) dzieło „Agile. Wzorce wdrażania praktyk zwinnych” (autor Amr Elssamadisy, nie każcie mi tego odmieniać przez przypadki) recenzuje dla mediafun Tomasz Gruszka.

“Extreme programming”, “agile software development”, czy “pair programming” to chyba najmodniejsze ostatnio hasła wśród twórców oprogramowania. Są to metody zarządzania tworzeniem kodu, którymi zachłysnęły się startupy, nowoczesne agencje i developerzy. Niemal każdy, kto działa w branży rozwiązań informatycznych powinien mieć o nich chociaż ogólne pojęcie – albo trzymać rączki z dala od procesu powstawania softu.

Ogólnie, agile to metody pozwalające na podzielenie zadań na niezależne, osobno testowane i wdrażane etapy oraz zarządzanie nimi tak, by płynnie dostosowywać produkt do zmieniających się w trakcie prac potrzeb klienta.

Mając pewne praktyczne doświadczenia w tym temacie, postanowiłem zgłębić tajniki tego “wyśnionego ideału klepaczy kodu”. Po paru nieudanych próbach z rozmaitymi publikacjami, wziąłem do ręki „Agile. Wzorce wdrażania praktyk zwinnych”.

Książka ta jest trochę jak niedzielny obiad u babci. Jeśli uda się wam już przebić przez warzywną zupkę w postaci 40 stron niepotrzebnych objaśnień, podziękowań, pytań retorycznych takich jak „Ilu z nas potrafi określić walory, które są najważniejsze dla naszych klientów?”, dalej jest już tylko lepiej. Dostajemy całkiem smaczny kawałek mięcha w postaci opisu rozmaitych technik okraszonych przykładami.

Rozdziały są dość krótkie, czytelne, ze streszczeniem zawartości, a struktura całości bardzo dobrze opisana i intuicyjna. Autor pokazuje najczęściej występujące problemy, od typowego antagonizowania z klientem wg. relacji „my-oni”, po bardziej złożone, np. wąskie gardło podczas procesu uczenia się. Podpowiada, jak uczynić klienta częścią zespołu oraz jakie formy spotkań zespołów są najbardziej efektywne.

Czyni to całość dość przyjemnym poradnikiem dla osób myślących o wdrożeniu metodologii zwinnych praktyk programowania.

Język używany w publikacji (mimo paru wpadek przy tłumaczeniu i miejscami dość naiwnej retoryki) jest łatwy do zrozumienia i pozwala łatwo pochłaniać kolejne rozdziały.

To, co dla mnie przesądza o wartości „Agile…” jest rozdział o firmie X, gdzie autor na realnym przypadku wskazał przykład nieudanego wdrożenia technik. Dlaczego to najcenniejszy element książki? Bo „najlepiej uczyć się na własnych błędach, ale dużo taniej na cudzych”.

Sama książka jest wartościowym zakupem dla każdego, kto chce uczynić swoją firmę bardziej elastyczną by lepiej dostosować ją do rozpędzonego i nerwowego otoczenia.

Konkurs:
I oczywiście konkurs, w którym do wzięcia jest opisywana powyżej książka. Co trzeba zrobić?
Przedstawić własną propozycję spolszczenia terminu „Agile Software Development”. Jak zwykle zwycięzcę wskażemy uznaniowo i tendencyjnie 🙂 w ciągiu trzech dni, więc rozstrzygnięcie nastąpi w piątek o godzinie 12:00.

  • Wojtek

    "Sprawne pisanie Softu"

    • Wojtek

      ale fail, logowanie przez twittera dziala?

  • "Zwinne Wytwarzanie Oprogramowania" zgodnie z oficjalnym tłumaczeniem Manifestu Agile (http://agilemanifesto.org/iso/pl/) oraz jego zasad (http://agilemanifesto.org/iso/pl/principles.html), które swoją drogą polecam przeczytać zanim sięgnie się po jakąkolwiek książkę z tej tematyki, bo zwykle przytaczają one na pierwszych stronach tylko manifest, a diabeł tkwi… w zasadach 🙂

    PS: Mam już tą książkę, więc komentuję poza konkursem 🙂

  • dfgsdfg

    autor txt nic nie powiedzial o ksiazce
    a juz w ogole o tym co to jest agile programming

    w zasadzie jesli zlacze programowanie i startup to jawi mi sie dziadoski alfa kod i slowa "jakos to bedzie" a potem dziwota w mediach ze czyjes hasla lataja po sieci

    a juz potem najbardziej dziwi sie kolejny programista ktory musi to po kims poprawiac – i tak powstaja nowe strony od zera bo nikt nie chce pracowac z gownem 😉

    perfecyjny kod pochodzi od madrych ludzi a nie od technik
    tak jak przeczytanie ksiazki o marketingu nie daje nic tak agile nie daje nic

    • Hej, technika nie jest bez znaczenia – Agile sam w sobie podważa tradycyjny, hierarchiczny mgmt i jest rewolucją w tym sensie, że zmienia myślenie o kulturze pracy ludzi. Jedną z ważniejszych zalet tego 'sposobu patrzenia na pracę ludzi' jest transparentność – i to ma chronić przed hasłami latającymi w sieci, o których wspominasz Agile jest trudny do wdrożenia – atrakcyjny, jednak dośc wymagający. Mam doświadczenie w obserwacji Agile/Scruma i nie jest on zupełnie pozbawiony sensu. Jako antropolog kulturowy (nie: deweloper) uważam, ze Agile bardzo dobrze sprawdzałby się np. w strukturze akademickiej lub innych rozbudowanych organizacjch, niekoniecznie IT. Pozdrawiam, Magda

  • "Adaptacyjne Wytwarzanie Oprogramowania".

    Właściwszym tłumaczeniem dla słowa "agile" moim zdaniem jest adaptacyjne, gdyż podkreśla konieczność dostosowywania się do zmiennych warunków realizacji projektu. Słowo "zwinne" nie niesie za sobą żadnego przekazu i nie tłumaczy o co chodzi w taki podejściu do wytwarzania oprogramowania.

    • mediafun

      Po prawie trzygodzinnej naradzie nasz team zdecydował o przyznaniu nagrody, książka jest Twoja, gratulacje, rewelacje i wszystko co tam musi być powiedziane… Prześlij nam proszę swoje wrażliwe dane osobowe takie jak adres pocztowy to zaraz książka do Ciebie pofrunie. Dzięki za udział w konkursie, za chwilę następne…

  • Ja też komentuję poza konkursem, bo książki o Agile'u mam 😉 Polecam publikacje Craiga Larmana i Basa Vodde http://www.craiglarman.com/wiki/index.php?title=B…. Autorzy nie oszczędzają przykładów nieudanych technik wdrażania Scruma – książki są dobre zarówno pod względem merytorycznym, jak empirycznym.

  • majki

    "Chyże Tworzenie Oprogramowania" albo "Żwawe Klepanie… Kodu"

    Pozdro!

  • Jak dla mnie najwazniejsza w agile jest scisla wspolpraca miedzy programistami (patrz: sprinty, xp i inne takie) oraz wspolpraca z klientem. Dlatego wg mnie najlepszym okresleniem by bylo programowanie kooperacyjne, ktore symbolizuje wspolprace wszystkich zaangazowanych w projekt.
    To skrotowo, a w pelni "programowanie kooperacyjne z etapami".
    Opcja druga, mniej fajna: programowanie ewolucyjne cykliczne

  • Swobodny Rozwój Oprogramowania

  • tomeklach

    Korzystamy w firmie z dobrodziejstw Agile i mam świetne spolszczenie terminu "Agile Software Development" – "Jakoś to będzie" 😉

  • Krzysiek

    Agile Software Development => Sprawne usuwanie kłód spod nóg

  • oj tłumaczeń może być wiele od 
    "Gibki rozwój oprogramowania", przez wcześniej wymienione "Jakoś to będzie" lub "Specyfikacje doślemy później (czytaj nigdy)" do całkiem poważnych i mądrych jak przedmówcy, których i tak nie będziemy używać bo spolszczona angielszczyzna pewnie zastąpi nam tłumaczenie
    A z samym Agile to jak z wszystkimi schematami. W teorii wygląda super a praktyka weryfikuje boleśnie. W sumie przydała by się książka "Praktyczne wdrożenia Agile na przykładach (w projektach/Firmach)" opisująca krok po kroku jak wdrażano, jakie odchylenia od teorii itp.

  • Zręczne Wytwarzanie Softu

  • Staropolskie "alleluja i do przodu"! tfu.. tfu.. "do kodu" znaczy się 🙂 Alleluja i do kodu!

  • Jeśli mogę zaproponować "dynamiczno-sprytne wytwarzanie oprogramowania"