Blog - Code Sprinters - Agile Experts

O dekompozycji wymagań 

Dekompozycja wymagań. Jak dekomponować wymagania w Scrumie

Wyobraźmy sobie, że trwa spotkanie, na którym Product Owner wraz z zespołem dyskutuje o wymaganiach w backlogu produktu. Niektóre z nich są tak duże, że żadną miarą nie mieszczą się w sprincie i konieczna jest ich dekompozycja na kilka mniejszych. Uczestnicy dyskusji naprężają neurony z całych sił, ale brak pomysłu na to jak sensownie owe […]

Jaka powinna być długość sprintu? 

długość sprintu - Scrum

W definicji Scruma maksymalna długość sprintu określona jest na jeden miesiąc – pojawia się tam nawet stwierdzenie, że to miesiąc „kalendarzowy” (są jakieś inne?). Minimum nie jest określone, co oznacza, że całkowicie poprawnymi będą sprinty dziewięciodniowe, trzydniowe lub… kilkugodzinne. Tak długo, jak przekroczony nie zostanie limit miesiąca, działamy zgodnie z definicją metody. Obalamy mity dotyczące […]

Definition of Done a kryteria akceptacyjne 

Definition of Done w Scrumie

Jednym z kluczowych konceptów w Scrumie jest Definition of Done, czyli po polsku Definicja Ukończenia lub Kryterium Ukończenia. W założeniu koncept trywialny, a jednak bardzo często źle rozumiany i mylony z kryteriami akceptacyjnymi wymagań. Po ludzku: co to jest Definition of Done? Jeśli wytwarzamy samochody, to Definition of Done będzie określało warunki jakie spełnić ma […]

Osiem niepożądanych postaw Scrum Mastera, część 2 

Scrum Master postawy

W poprzedniej części opisałem kilka dysfunkcyjnych postaw Scrum Mastera, począwszy od kierownika, poprzez sekretarza, obrońcę zespołu, do super-bohatera. Dziś kontynuujemy wyliczankę. Dla niektórych niedoświadczonych osób właściwym wyborem dla Scrum Mastera wydaje się działanie jako… Pocieszyciel zgnębionych Bycie pluszową maskotką, takim bratem-łatą dla zespołu, który pogłaszcze, przytuli i pocieszy, dla części osób jest podstawowym obowiązkiem Scrum […]

Osiem niepożądanych postaw Scrum Mastera, część 1 

niepożądane postawy Scrum Mastera

Dużo się mówi na temat zachowania i postaw Scrum Mastera, które pozytywnie wpływają na zespół, Product Ownera i organizację dokoła. Zaczynając pracę w tym zawodzie, czy to na kursach i szkoleniach, czy od bardziej doświadczonych kolegów, uczymy się o byciu coachem, nauczycielem, doradcą czy mentorem dla współpracowników. Po czym wcielamy te rady i zalecenia w […]

Czy „zwinna organizacja” oznacza Scrum w każdym dziale? 

Scrum w całej organizacji

Transformacja Agile Powszechne zainteresowanie metodami z rodziny Agile 17 lat po publikacji Manifestu Agile i po ponad 20 latach wyraźnej obecności tych praktyk (Scruma, Kanbana, XP i in.) w naszej branży, nikogo nie powinno dziwić. Jednak wiele organizacji, które spotykam na swojej zawodowej ścieżce, dopiero rozpoczyna „zwinną transformację” – czyli próbuje agile’owe podejście uczynić standardem […]

Czy w Agile faza UAT ma sens? 

UAT testy

Kiedyś wytwarzanie oprogramowania zaczynało się od zebrania „wszystkich wymagań” i ich dokładnej analizy. W oparciu o to powstawała specyfikacja produktu, który należy zbudować. W przekonaniu wielu zawierała ona odpowiedź na każde pytanie, jakie wytwórcy produktu będą w przyszłości zadawać. Następnie biznes krwią podpisywał się pod tymi dokumentami, gwarantując, że zdania nie zmieni (prawda, że nie […]

Kiedy wybrać Scrum, a kiedy Kanban? 

Scrum czy Kanban

Wszystkie metody, praktyki i techniki należące do rodziny Agile opierają się o te same pryncypia: mechanizm empiryczny, Manifest Agile oraz 12 Zasad Zwinnego Tworzenia Oprogramowania. Najważniejszym jest tu istnienie mechanizmu empirycznego – wszystko, co zostało w 2001 roku zawarte w Manifeście i Zasadach wywodzi się właśnie z niego (a wiele metod bazujących na empiryzmie, jak […]

Centrum sterowania wszechświatem 

wytwarzanie oprogramowania

Wytwarzanie oprogramowania jest nieustannym zmaganiem się ze złożonością: zmienia się technologia, potykamy się o dług techniczny pozostawiony we wcześniej wytworzonym kodzie, ludzie mają gorszy lub lepszy dzień, różne umiejętności, zdarza im się niespodziewanie odejść z pracy. O ile z tym można sobie jeszcze jakoś radzić, o tyle nie sposób uniknąć ani przewidzieć ciągłej ewolucji potrzeb, […]

13 powodów nieudanej automatyzacji testów, część 3 

automatyzacja testów

Dwa wcześniejsze artykuły (część pierwsza i część druga) opisywały rafy, na jakie można natrafić, rozpoczynając automatyzację testów, oraz co można zrobić, by tak się nie stało. Na koniec przyjrzyjmy się na ile organizacja, w której działa zespół zajmujący się rozwojem produktu, może wpłynąć (pozytywnie lub negatywnie) na możliwości automatyzacji testów. 11. Nie mamy czasu na […]

13 powodów nieudanej automatyzacji testów, część 2 

testy automatyczne

W poprzedniej części wymienione zostały różne powody, dla których zespoły developerskie nie zajmują się automatyzacją testów i nie biorą za to odpowiedzialności jako team. A przecież takie rozwiązanie jest jedynym sensownym: ludzie, którzy budują produkt, powinni zapewnić, że on działa, czyli przetestować go. Niestety z faktu, że developerzy będą tego świadomi wcale nie wynika, że […]

13 powodów nieudanej automatyzacji testów, część 1 

testowanie

Presja na częste wydawanie nowych wersji produktów powoduje, że wykładniczo rośnie ilość testów niezbędnych do stwierdzenia czy zmiany w najnowszym wydaniu nie psują wcześniej wytworzonych funkcjonalności. Testowanie nie oznacza bowiem jedynie sprawdzenia, że nowe rzeczy działają jak powinny, ale też zweryfikowania, czy produkt jako całość wciąż nadaje się do użytku. W miarę rozwoju produktu przybywa […]

Eksperymenty i porażki 

celebration grid management 3.0

Eksperymenty i porażki W ciągu swojej kariery w latach 1984-2003 koszykarz Michael Jordan przegrał (jak sam twierdzi) 300 spotkań, a 9000 razy oddał niecelny rzut, w tym 26 razy gdy od tego właśnie zależało zwycięstwo. Statystyka robi wrażenie, szczególnie gdy wiadomo, że chodzi o sportowca światowego formatu, legendę parkietu, powszechnie rozpoznawaną i kojarzoną z koszykówką przez […]

10 praktyk hańbiących developera – cz. II 

złe praktyki developerskie

W zeszłym tygodniu pojawiła się pierwsza część wpisu dotyczącego 10 najgorszych praktyk developerskich. Jeśli jeszcze nie czytałaś/eś kliknij tutaj.  Co jeszcze znalazło się na liście? 6. Brak modułowości, czyli wielka micha spaghetti  Jeśli mamy już kod z wcięciami, który się w miarę łatwo czyta, to warto wspiąć się poziom wyżej i zastanowić się, jak całe rozwiązanie jest ustrukturyzowane. Czy mamy do […]

10 praktyk hańbiących developera – cz. I 

kod developera

Aplikacja jaka jest każdy widzi. Ale co jest pod spodem? Jak to jest, że w niektórych projektach pracuje się przyjemnie, a w innych… no cóż, lepiej zmienić pracę na kamieniołom. Jedno trzeba powiedzieć sobie jasno i wprost. To nie Klienci, Product Ownerzy, Product Managerzy, Kierownicy czy Testerzy robią bajzel w kodzie. To my sami – programiści, […]

Jak znaleźć lukę kompetencyjną? 

matryca kompetencji

Kompetencje Kompetencja to wg. Słownika języka polskiego PWN „zakres czyjejś wiedzy, umiejętności i doświadczenia”, rozumiany też jako zdolność do zajmowania się określoną sprawą. Potocznie rozumiemy je jako wykształcenie, ukończone szkolenie lub warsztat, pojęcie o temacie. Oczywiście do zdobycia kompetencji w niektórych dziedzinach wystarczy przeczytać odpowiednią książkę lub zobaczyć instruktażowy film, inne jednak wymagają lat żmudnych […]