Meetup v Banskej Bystrici

BB

Agile v Banskej Bystrici? Dúfame, že áno!

Pozývame Vás na ďalšie stretnutie Agile@Slovakia.

Prídťe:

  • počuť o iných prístupoch, ktoré sa stávajú štandardom riadenia projektov nielen v IT,
  • zistiť ako začať s Agile,
  • spoznať ľudí z Vášho okolia, ktorí Vám môžu pomôcť
  • porozprávať sa o Vašich prístupoch a problémoch pri používaní Agile
  • prezentovať Vaše myšlienky a skúsenosti

Kedy: 28.5.2012, 18:00

Miesto: Upresníme

Meno a priezvisko(required)

Email (required)

Twitter

Téma pre Open Space, ktorú by ste radi prediskutovali

Kontrakty – 2. Fixed Price

Fixed Price kontrakt je najjednoduchší typ kontraktu. Fixná je cena, obsah a aj čas dodávky softvéru. Zákazník platí dodávateľovi určitú čiastku z celkovej dohodnutej sumy zvyčajne na konci každej iterácie.

Tento typ kontraktu môže fungovať ak funguje dôvera medzi zákazníkom a dodávateľom a ak zákazník vidí na konci každej iterácie požadovaný softvér. Dodávateľ môže akceptovať zmeny v pôvodne dohodnutých požiadavkách, pokiaľ je zachovaná komplexita a zložitosť. Potom sa zákazník nemusí sústrediť na kontrakt, ale kooperuje s dodávateľom a ak táto spolupráca naozaj funguje – všetko je v najlepšom poriadku.

Fixed Price kontrakt však často vedie k situácii kedy zákazník nedostane čo pôvodne chcel a dodávateľ je v strate. Dodávateľ, v snahe dodať čo sľúbil v rámci fixnej ceny, znižuje kvalitu dodávky – chybový kód, chýba dohodnutá funkcionalita alebo testy. To vedie k ešte vačším celkovým nákladom vzhľadom na opravu a následnú údržbu.

Najväčšie riziko pri Fixed Price kontraktoch je na strane dodávateľa. Dodávateľ si môže toto riziko premietnúť do svojích odhadov nákladov a akceptovať trebárs menej user stories pre dannú iteráciu. Toto však bude viesť k strate transparentnosti, dôvery a ku snahe dodávateľa hrať na väčší zisk.

Kontrakty – 1. Úvod

Nasledujúca séria článkov je venovaná obchodníkom, šéfom firiem, právnikom a business developerom – ľudom ktorí tvoria a sú zodpovední za kontrakty pre agilné softvérové tímy.

Kontrakt pre agilný projekt by mal riešiť podobné témy a problémy ako kontrakt pre tradičný model vývoja softvéru: cena, termíny, rozsah dodávky, záruka, odstraňovanie chýb a pod. Kľúčový rozdiel je pochopenie ako prebieha dodanie výsledného produktu v agilnom projekte. Ľudia, ktorí uzatvárajú kontrakt, musia rozumieť agilným a lean princípom. Dodávky produktu v iteráciách a skorá kolaborácia medzi zákazníkom a dodávateľom pomáha znižovať riziká projektu. Kontrakt pre agilné projekty by mal byť založený na transparentnosti a dôvere. A tak ako sa vyvýja vzťah medzi zákazníkom a dodávateľom, tak sa musí vyvíjať aj kontrakt – presne v zmysle princípu:  “Customer collaboration over contract negotiation”, http://agilemanifesto.org.

Je to zmena myslenia? Áno – prioritou pre všetkých je úspešná realizácia projektu, nie “úspešný” kontrakt.

Ako vyzerá tradičný kontrakt? Kopíruje tradičný model vývoja softvéru:

  • zmluva obsahuje detailnú špecifikácia požiadaviek
  • termín dodania produktu je veľmi vzdialený, nezriedka rok a viac
  • feedback od zákazníka je poskytnutý neskoro, niekedy až po finálnej dodávke produktu
  • platba dodávateľovi je za finálnu dodávku produktu
  • problémy ak projekt je nie je dokončený do konca s kompletnou funkcionalitou
  • rozsiahla klauzula o rizikách, testovaní, záruke, náhrade škody a odstraňovaní chýb
  • je použitá právnická terminológia, samotné koncipovanie a odsúhlasenie zmluvy trvá dlhý čas

Kontrakt pre agilné a lean softvérové tímy je akýmsi protipólom predchádzajúcich bodov, definuje framework pre agilný štýl vedenia projektu. Vďaka fungujúcemu produktu, ktorý máme k dispozícii na konci každej iterácie a skorému feedbacku od zákazníka, môžeme zmeniť  pohľad na kontrakt a riziká súvisiace s projektom.

Ako bolo na Open Space Meetup v Bratislave

V utorok 2.4. sa v Bratislave stretli ľudia aplikujúci alebo zaujímajúci sa o Agile. Tentokrát sme sa rozhodli venovať iba diskusii a rozhovorom s cieľom spoznať prístupy iných tímov.

Tu je zoznam diskutovaných tém a postrehy z diskusie. Ďakujeme za toto neuveriteľné množstvo postrehov v priebehu pár hodín.

Fixná cena projektu a Scrum

  • Chceme sa zbaviť fixnej ceny
  • Fixná cena veľkých projektov (2 roky)
  • Použitie MoSCoW prioritizácie ako možnosti pre identifikáciu vlastností, ktoré zákazní ľahko oželie, resp. termínovo posunie
  • Zmluvy niektorých spoločností obsahujú aspoň % možného oneskorenia termínov
  • Fixná cena spôsobuje dlhú prípravu a podrobnosť zmluvy
  • Diskusia o nových systémoch  (presná cena, dátum, rozsah) alebo údržbu (možný scrum)
  • Stanovenie ceny na konci analýzy, niektoré spoločnosti robia analýzu v samostatnom sprinte, na konci ktorého sa stanový rozsha a následne cena
  • Fixná cena spôsobuje často drastické zmeny v internej implementácii produktu, čo vedie k zhoršeniu kvality produktu
  • Modul v extra platbe
  • Ako aplikovať Agile na subdodávateľov?
    • Zahrnúť ich do agilného tímmu na dennodennej báze ako regulárnych členov tímu
    • denné scrumy
    • spoločné plánovanie, retrospektíva a demo
    • Dávate pokuty? Ako sa vyvíjajú vzťahy?
  • Odporúčané postupy z Ganthead.com: počet iterácií, výkonnostné ukazovatele, cieľové náklady, rozsah a stanovenie min-max ceny, pevný počet iterácií, lean

Nové požiadavky – prijať alebo neprijať?

  • Rozdiel či požiadavky prichádzajú do produktového alebo sprint backlogu
  • Rozdiel či ide o funknčnú požiadavku, zmenovú alebo chyby
  • Väčšina preferuje neprijať požiadavku do sprint backlogu
  • V sprinte robíme barter, ak je niečo pridané, niečo iné musí zmiznúť
  • Reprioritizácia ako výhoda pre klienta
  • Sprint chceme mať pevný, zamknutý

Dĺžka sprintov

  • Podľa čoho nastaviť dĺžku sprintov?
  • Zvyčajne sa používajú 1,2,3 týždne
  • 1 mesiac sa ukázal ako málo agilný
  • Problém s posledným týždňom, ak je v sprinte menej práce
  • Plánovanie robíme celý deň
  • Dlhší sprint je lepší pre retrospektívu

Snáď sme Agile

  • Estimácia iba časti produktového backlogu
  • Hotová časť produktu vedie k spokojnosti tímu a zákazníka
  • Nezaujímajú nás hodiny, ale výsledok
  • Ako plánovať a prezentovať prácu na backend-e?
  • Práca na backende musí byť prepojená s frontendom, vytváranie požiadaviek pokrývajúcich celú vertikálu
  • Ako robiť demo ak klient je v zahraničí?
  • 100% priradenie ľudí v tíme na prácu na jednom projekte
  • Je Scrum of Scrum riešením problémov viacerých tímov?
  • Aký je dobrý pomer vývojárov a testerov v agilnom tíme?
  • Multidisciplínny tím je jednoznačne výhodou
  • Zdieľanie ľudských zdrojov medzi viacerými scrum tímami ak ide o špecialistov
  • Robíme FREE  FRIDAY, potom je retrospektíva ľahšia a hodnotnejšia

Scrum mimo softvérového vývoja

  • Digitálna produkcia
  • Automotive
  • Operation
  • ZOH Vancouver
  • Organizovanie eventov, koncertov

Párové programovanie

  • Robí iba jedna spoločnosť
  • Rozhodnutie kto robí párové programovanie s kým
  • Zostavnie dvojíc dobrovoľne
  • Zohľadnenie kapacity
  • Podpora Scrum mastra

Support vs. vývojový tím

  • Kedy odovzdať funkčnosť?
  • Chyby a dĺžka sprintu
  • Investícia do testovania zmenšuje nutnosť supportu
  • Plánovanie opráv chýb v sprinte
  • Kapacita a skúsenosti ľudí
  • % kapacity chyby vs. funkčnosť
  • Tímy hasičov

Klient a Agile tím

  • Aj klienta je treba naučiť agile
  • Funkčný softvér výhoda
  • Ukazujeme funkčnosť
  • Vyššia dôvera
  • Kontrola vs. odovzdanie, akceptácia
  • Učíme ich “pádom” aplikácie

Iné

  • Máme vytvorenú definíciu HOTOVO
  • Metriky pre odhad nasledujúcich sprintov
  • Rátame iba reálne ukončené a akceptované produktovým vlastníkom
  • Ako transformovať spoločnosť na agile spoločnosť?
  • Vzťah agilných a neagilných tímov v spoločnosti
  • Čo je nasaditeľná verzia?

Projektový manažér == Scrum Master?

V posledných dňoch mám čoraz väčší dojem, že niektoré veci musíme ako komunita dôraznejšie ozrejmovať,  vysvetľovať a trvať na správnom použití.

V tomto príspevku sa chcem viac zamerať na význam roly Scrum Master. Prečo? Pretože počas posledného týždňa som našiel päť článkov (jeden dokonca publikovaný na nemenovanej unverzite), ktoré nesprávne vysvetľujú kto je Scrum Master, čo má robiť a ako to má robiť.

Dôvodom je možno slovenčina, do ktorej sa tento pojem Scrum Master veľmi ťažko prekladá. Majster Scrumu? Hmm, v profesionálnom prostredí to znie zvláštne. Ja osobne tento pojem práve preto takto neprekladám. No významovo je tento preklad vynikajúci.

Projektový manažér (v terminológii Scrum-u „ScrumMaster“)

Chcel by som sa venovať asi najväčšiemu nepochopeniu, ktoré som objavil.

Nie, nesprávne. Toto sú dve roly, ktoré majú za úlohu riešiť iné aspekty. Áno, často je to ten istý človek. No tento človek má na vešiaku dva kabáty. Raz môže byt projektovým manažérom, inokedy scrum mastrom. Dokonca z praxe poznám mnohých projektových manažérov, ktorý sa radšej stali Scrum Mastrom.

Prečo? Pretože  Projektový manažer <> Scrum Master.

Pretože projektový manažér sa má zaoberať časom, rozpočtom, zdrojmi a kvalitou. To sú atribúty akéhokoľvek projektu. A projektový manažér ich má držať pokope tak, aby výsledok projektu bol dodaný načas, v rozpočte s danou kvalitou, vyvinutý vybraným tímom.

Projektový manažér je na svete kvôli PROJEKTU.

No Scrum Master sa týmto primárne vôbec nemá zaoberať. Scrum Master sa zaoberá:

  • Vyrovnávaním cesty, po ktorej kráča tím.
  • Snaží sa skoro rozpoznať prekážky, snaží sa ich odstrániť aj za pomoci organizácie.
  • Snaží sa tímu pomôcť, aby bol efektívnym.
  • Robí denne prácu, ktorá by iných blokovala.
  • Prináša a udržuje viditeľnosť stavu projektu tým, že komunikuje s tímom a inými tímami
  • Synchronizuje tím s inými tímami
  • Pripravuje a moderuje (pozor, nevedie!) porady a diskusie.
  • Komunikuje s organizáciou – produktovým aj projektovým manažérom.
  • Zaoberá sa procesom vývoja.
  • Koučuje (vyučuje) agilné techniky v tíme. Také aké práve tímu pomôžu. Musí mať prehľad o tejto problematike a mal by vždy vedieť trochu o tom viac ako členovia tímu.

Scrum Master je na svete kvôli TÍMU.

Máte na tento zoznam ako projektový manažér v dnešnej dobe čas?

Fedexday

124f54gNáklady firiem na vytváranie motivácie u zamestnancov nie sú malé. Obľubené sú teambuildingové akcie, výlety, finančné prémie a pod. To všetko stojí peniaze. A pritom čínnosť ako je vývoj softvéru (a vývoj všeobecne) môže byť sama o sebe natoľko zaujímavá, že sa stáva motiváciou. Ak neveríte, dá sa to jednoducho overiť. Môžete si skúsiť Fedexday.

Pre zamestnancov je Fedexday zážitok, pre zamestnávateľa sa to nedá nazvať inak ako veľa muziky za málo peňazí. Fedexday je súťaž, kedy za 24 hodín (preto ten Fedex v názve) musíte vyvinúť a dodať (t.j. musí to byť funkčné) nejaký výsledok. Pre softvérové firmy to znamená hlavne dodanie softvéru. To, na čom budete pracovať, akú technológiu použijete a s kým na tom budete pracovať, je na vás. Práve táto sloboda venovať sa niečomu, na čo ste si už možno dlho brúsili zuby, je hlavným motorom akcie. Je to síce súťaž a na konci je vyhlásenie víťaza, ale žiadne reálne vecné ceny nečakajte. Tie by len poškodili hlavnú motiváciu a tou je zvedavosť a snaha niečo dokázať. Fedexday neznamená len, že môžete robiť, na čom chcete, ale aj to, že máte na to 24 hodín a nie viac. Za ten čas musíte byť schopný dodať to, čo ste si predsavzali.

Pred určitým časom som sa takejto akcie zúčastnil a myslím si, že je to niečo, čo je prospešné pre firmu aj zamestnanca naraz. Zamestnanec môže zažiť nevšednú akciu, pri ktorej si otestuje novinku alebo vytvorí niečo, po čom už dávno túžil. Firma zase za malý obnos (poskytnutie priestorov, pizza) u ľudí zvýši motiváciu k práci. Začať pracovať na obed jedného dňa, pracovať 24 hodín bez oddychu a na ďalší deň opäť na obed to prezentovať je zážitok, ktorý možno nie je až taký adrenalinový ako skok s bungee lanom, ale má svoju osobitosť. Jedna z vecí, ktorú vás to naučí je, že ste schopný dodať hotovú vec za kratší čas, ako ste mysleli. Pritom prostredie ani nástroje sa nemenia. Len vaša motivácia.

Fedexday vie byť pre firmu pomerne silným impulzom. Je podľa mňa lepší ako štandardná teambuldingová akcia, pretože ľudia si vyberajú, čomu sa budú venovať, a teda sú do toho viac zapojení ako do nejakých súťaží, ktoré niekto pripravil. Tímy sa formujú sami, myšlienky sa realizujú v krátkom čase a učiaca krivka je prudká. Po 24 hodínach máte dosť. Ste zrelý na sprchu a do postele. Ale kombinácia toho, že ste sa za tak krátky čas prehrýzli problémom a dodali niečo čo funguje, že ste pochopili, ako to máte celé postaviť a potom to postavili … to jednoducho stojí za to.

Simulácia Scrumu s LEGO kockami

Alexej Krivitsky, agile kouč a organizátor známej konferencie Agile Eastern Europe, už dlho učí Scrum pomocou hry LEGO.

Pomocou tejto hry je možné veľmi názorne a prakticky pochopiť ako má agilný tím fungovať, ako plánovať produkt a ako sledovať priebeh pomocou Scrum.

Keďže túto hru hrajem aj ja pri našich agilných tréningoch, Alexej ma poprosil o preklad do slovenčiny. Ďakujem Tiborovi Radačovskému za pripomienky.

ScrumLego

Stiahnite si slovenskú verziu.

Základná smernica retrospektívy

Skúste prečítať túto vetu nahlas všetkými členmi tímu na začiatku vašej retrospektívy…

Bez ohľadu na to, čo zistíme,

chápeme a pevne veríme,
že každý robí tú najlepšiu prácu akú môže,

vzhľadom na to, čo pozná,
podľa svojich schopností a zručností,

podľa  situácie, ľudí a zdrojov,
ktoré sú k dispozícii.

Čaro spolupráce

Agile Open Space Meetup v Bratislave

Na poslednom meetupe minulý rok v Bratislave sa nám podarilo (v podstate) spraviť malú konferenciu aj vďaka piatim prezentujúcim a množstvu Vás, ktorí sa prišli pozrieť.

Keďže nám ostalo iba málo času na rozhovory, radi by sme Vás pozvali na prvý Agile Open Space. Cieľom bude viac poskytnúť priestor diskusii o témach, ktoré Vás zaujímajú. Témy sa dohodnú priamo na mieste.

Kedy: 3. apríla 2012, 18:00

Kde: Kafe Nervosa, Zámocka 30, Bratislava, Mapa

Vstup zdarma

Aké sú pravidlá open space?

  1. Správny človek je ten kto príde.
  2. Čokoľvek  sa stane je správne.
  3. Správny čas je keď sa to začne.
  4. Keď je koniec tak je koniec.
  5. Ak sa ocitnete v situácii, že sa prestanete učiť alebo prispievať, jednoducho všetkých pozdravte, použite svoje dve nohy a choďte robiť niečo užitočné.

Na záver urobíme krátky prehľad o diskutovaných témach, problémoch a  záveroch.

Navrhované témy:

  • Ako agilný prístup premietnuť do zmluvy o dielo? Dá sa to?
  • TDD, scrum, agilne kontrakty
  • Agile requirements

Chcem Vás poprosiť o krátku registráciu, aby sme vedeli prispôsobiť priestor počtu účastníkov.

Email (*)

Téma pre Open Space, ktorú by ste radi prediskutovali