Archiwa tagu: scrum

Czego nauczyła mnie praca w Scrumie?

Rybki. Foto: moje, ZOO, 2017

Piszą i mówią o Scrumie wszyscy, od lat wydaje się być nieprzemijającą modą. Zanim zaczęłam pracować w jakiejkolwiek metodologii Agile, byłam wielką entuzjastką;) Po jakimś czasie okazało się, że nie jest jednak tak kolorowo. Nie przepadałam za pracą w systemie Scrum – zwłaszcza w nieco tępym wydaniu korporacyjnym, gdzie sporą część czasu przeznaczonego na pracę zajmuje „proces” – przeciągające się ponad miarę spotkania, z których nic nie wynika; rozproszenie odpowiedzialności; ciągłe kłótnie itd.). Nie mi oceniać, dlaczego system czasem tak bardzo nie działa, że aż zgrzyta. Na szczęście są i jasne strony, a sam Scrum wielu dobrych rzeczy mnie nauczył.

Retrospektywy

Weźmy takie retrospektywy – niby takie spotkanie-zapchajdziura, siądziemy i pogadamy, a potem się rozejdziemy i tyle. Jednak dobrze poprowadzone retro okazuje się być całkiem niezłym narzędziem. Pod warunkiem wprowadzenia pewnej dyscypliny: z każdego, nawet luźnego narzekania sporządzamy notatkę, a następnie wspólnie zastanawiamy się, co można zrobić, aby to ulepszyć? Gdy już wymyślimy rozwiązania i rozejdziemy się do biurek, nadchodzi druga, najważniejsza część – realizacja! Zatem działamy, najlepiej krok po kroku, z rozbiciem na mniejsze fragmenty. Szukamy w zakresie strefy własnego wpływu, a dopiero jeśli działania nie przyniosą skutku, pójdziemy dalej. Na następnych retrospektywach przeglądamy sporządzoną wcześniej listę – czy coś się poprawiło? A może w jakiś kwestiach jest gorzej? Czytaj dalej

Scrum kontra złożoność

Niedawno podawałam garść ciekawych informacji na temat metodologii Scrum. Dziś kontynuacja tego tematu.

Często słyszy się, że ta metodologia pracy nie jest dla każdego zespołu. Pewnie tak. Na jednym ze szkoleń widziałam ciekawy wykres obszarów złożoności pracy:

Scrum in complexity?

  1. Simple – dziedzina dobrze znana – tu sprawdzają się tzw. najlepsze praktyki, zalecenia z poradników itd.
  2. Complicated – dziedzina znana, ale trudna. Sprawdzają się dobre praktyki, ogólne „zalecenia”.
  3. Complex – dziedzina bardzo złożona, nie można powiedzieć, czy dane działania odniosą sukces czy nie. Metodą pracy są głównie eksperymenty – właśnie tutaj najlepiej działa Scrum!
  4. Chaos.

Krzywa uczenia

I dodatkowo: krzywe uczenia się w zależności od złożoności problematyki:

Krzywa uczenia sie w Scrum

  1. Simple – continuous improvement. Wystarczy po prostu działać, powtarzać – uczenie się jest proste, bez większych problemów.
  2. Complicated – continuous improvement – powiedziałabym: wzloty i upadki.
  3. Complex – continuous adaptive – błądzenie jak we mgle 😉 Jeden eksperyment zbliży nas do rozwiązania, inny oddali. Pamiętajmy, że adaptacja leży w głównych założeniach metodyki Scrum 🙂

Podstawy Scruma

Niedawno miałam przyjemność uczestniczyć w bardzo ciekawym szkoleniu na temat metodyki Scrum. Dowiedziałam się m.in. jakie są podstawy Scruma.

Podstawy Scruma

Foto: moje, 2017

Podstawy Scruma

Sam Scrum pewnie znany jest większości osób, które mają styczność z wytwarzaniem oprogramowania. Myślę, że metodyka ta swoją popularność zawdzięcza głównie temu, że narzuca pewną strukturę zarządzania pracą/czasem/zespołem, jednocześnie dając wolność adaptacji do własnych potrzeb. Cechy te podkreślają filary, na których opiera się Scrum, zwłaszcza ostatni:

  • Transparency – przejrzystość
  • Inspect – inspekcja
  • Adapt – adaptacja!

Podstawową wiedzę na temat Scrum warto czerpać z oficjalnego podręcznika. Jest dostępny po polsku tutaj: http://scrumguides.org/docs/scrumguide/v2016/2016-Scrum-Guide-Polish.pdf. Kopia: [2016-Scrum-Guide-Polish]

Framework

Scrum to framework – co to oznacza w praktyce? Podręcznik przedstawia to tak: Scrum to „baza”, ramy, na których zespół buduje swoją własną „implementację”. Na bazę składa się naprawdę niewiele elementów. Są to:

  • Zespół i role: Product Owner, Scrum Master oraz zespół developerski: programiści, testerzy, graficy, analitycy biznesowi itd.,
  • Zdarzenia: Sprint (przebieg), Sprint Planning (planowanie przebiegu), Daily Scrum (jak idzie praca nad celami?), Sprint Review (demonstracja i inspekcja przyrostu pracy), Sprint Retro (czego się nauczyliśmy?),
  • Artefakty: Product Backlog, Sprint Backlog i cel Sprintu,szkolenia scrumowego
  • Reguły: łączące wszystkie elementy tej układanki.

Dodatki

Pozostałe praktyki, jakie często kojarzone są ze Scrumem, są tylko dodatkiem, implementacją, zestawem dobrych praktyk. Nie są składnikiem frameworka. Przykłady:

  • Planowanie Sprinta za pomocą kart do Scrum pokera,
  • Pozycja stojąca podczas Daily Scrum,
  • Spotkania groomingowe – backlog refinement to nie tylko spotkania, ale także praca własna nad backlogiem! Zespół powinien spędzić nad tym tematem 10% czasu, przygotowując się do kolejnego sprintu – ten czas można przeznaczyć np. na szukanie technologii do realizacji przyszłych zadań itd.

Ciekawą rzeczą, jaką wyniosłam ze szkolenia była informacja, że podczas Sprintu zespół powinien dostarczyć całą, lecz uproszczoną funkcjonalność! Niedopuszczalne jest zatem np. wykonanie części prac w bazie danych, ale niezrobienie niczego w interfejsie. Zadania powinny być zatem upraszczane, a nie dzielone. Ciekawa zasada, chyba nie zawsze jednak respektowana.

BDD, TDD, FDD, Agile i inne metodyki

Garść terminów na temat kilku metodyk wytwarzania oprogramowania – metodyk zwinnych („agile„). Pochodzą z moich notatek do egzaminów i rozmów kwalifikacyjnych:)

Czy kanarki sa Agile?

Czy kanarki sa Agile? Foto: moje, luty 2018

Czym jest Agile?

Programowanie zwinne (Agile) – iteracyjno-przyrostowa metoda wytwarzania oprogramowania.Zakłada częsty kontakt z klientem, dostarczanie co jakiś czas kolejnych (działających!) fragmentów systemu.

Proces w Agile:

  1. określenie wymagań, wykonanie ogólnego projektu całości
  2. wybór podzbioru funkcjonalności
  3. szczegółowy projekt podzbioru
  4. implementacja podzbioru
  5. testowanie podzbioru
  6. dostarczenie podzbioru
  7. powrót do punktu 2. aż do zakończenia projektu.

Manifest Agile:
Ludzie i interakcje ponad procesy i narzędzia
Działające oprogramowanie ponad obszerną dokumentację
Współpracę z klientem ponad formalne ustalenia
Reagowanie na zmiany ponad podążanie za planem

Czym jest Scrum?

Czytaj dalej

Prasówka #1 – Jak wygląda praca w zespole Silverlighta?

Dziś krótko bo tylko link do filmu z lubianego przeze mnie serwisu Virtual Study:

http://virtualstudy.pl/component/content/article/274.html

Tytuł to:

Jak Microsoft testuje Silverlight’a? – 53 spotkanie KDG.NET – Sesja 2

Gość (pracujący w Microsofcie) opowiada, jak wygląda u nich praca przy kolejnych wersjach Silverlight a także o testach, jakie wykonują. Warto przesłuchać, choćby wieczorem po pracy:)