DevOps 101 s Atlassian- stavíme produkty stylem DevOps, feedback a plánování vývoje

05.06.2017 | Souhrn o sběru zpětné vazby, plánování a řízení procesu vývoje

Před pěti lety Marc Andreesen prohlásil, že software sžírá svět.
Koneckonců- jaká společnost se v dnešní době nezabývá software?

DevOps není pouze prací jednotlivce, je o spoluúčasti všech.

Zpětná vazba

 

Předpokládejme, že se váš vývojový tým vydal cestou agilních metodik. Pracují ve sprintech, pracují společně a vytvářejí hodně vylepšení. Ale je zde pouze jeden bod, kde se vše potkává, neustále musíte čekat, až „vlak vyjede ze stanice“ a zákazníci tak nedostávají své produkty dostatečným tempem.

Ukážeme vám naše zkušenosti s vytvářením produktům, tak jak využíváme DevOps. Pojďme začít se zpětnou vazbou- protože na produktu vlastně úplně nezáleží, úspěch je založen výhradně na uživatelích a jejich spokojenosti.

 

Jak dostat zpětnou vazbu- a jak ji využít?

Nejsnadnější cestu k využití zpětné vazby naplno jsme hledali několik let a učili jsme se, jak náš produkt udělat lepším, než ty ostatní- cesta je naslouchat lidem, kteří jej využívají. Tisíce společností využívají HipChat, a tisíce pracovníků Atlassian jej využívají interně.

Zpětnou vazbu můžete sbírat ze všech zdrojů, které si dokážete představit, pro příklad:

  • Přímo v produktu požadovat zpětnou vazbu
  • Sbírat ji od uživatelů přes JIRA service desk
  • Sledovat social media a komunikační kanály jako Facebook a Twitter
  • Využít Apdex skóre a sledovat spokojenost uživatelů
  • Získávat data z externích systémů jako je Datadog anebo New Relic

 

K čemu využíváme zpětnou vazbu?

Berte v potaz, že toto může anebo nemusí fungovat pro váš tým, ale informace mohou být dobrým počátečním můstkem, od kterého se můžete odrazit a dále jej vylepšovat.

Kompletní zpětnou vazbu rozesíláme jako notifikace v HipChat. 

Například dostáváme tuny podobných tweetů jako je ten následující.

Sdružujeme je společně se všemi ostatními zmínkami na sociálních médiích, chybovými hlášeními apod. do vyhrazených místností v HipChat, kde celý tým může diskutovat o každé jednotlivé notifikace a to nám pomáhá utvářet i náš backlog.

Důležitá zpětná vazba, jako bug reporting, se poté transformuje do JIRA issues — které následně uspořádáváme dle priorit v našem backlogu.

Pokud je zde nějaká nová funkce – typicky pro ni zakládáme stránku v Confluence, na které specifikujeme požadavky a předpoklady. V jiných případech se vždy zaměřujeme na zpětnou vazbu, a pokud to jde, bereme jí v potaz a pracujeme s ní i nadále v budoucnu.

Plánování a vývoj

Plánujte společně- ve sprintech

Jak plánujeme naše produkty? Naše vývojové týmy se setkávají každý týden- pouhou hodinu věnujeme následujícímu:

  • Ke krátkým ukázkám a předání informací co se událo během posledního týdne- aby se udržel celý tým v obraze
  • K review cílů z minulého týdne- co a jak se podařilo splnit, a co se naopak nesplnilo
  • K definici nových cílů- teď nemáme na mysli jednotlivé Issues, ale ucelené komponenty a funkce, které se dají předvést anebo samostatně nasadit, ne jednotlivé dílčí kousky nové funkce

Po meetingu následuje přestávka. S novými cíli, vývojáři si mohou projít celý backlog a identifikovat úkoly, které by mohly pomoci ke splnění nových požadavků a cílů, které se definovali na této schůzce.

Konečným výsledkem je tým, kde má každý jasno v cílech další etapy, ale i o cestě, kterou se cíle splní, co je k tomu potřeba a jak bude práce rozdělena.

Špice brzy (a často)

Pravděpodobně již znáte termín „špička“ v agilním vývoji. Špička označuje nedlouhou snahu shromažďovat informace, ověřovat myšlenky, identifikovat časté překážky a odhadovat rozsah iniciativ. Místo toho, aby se vytvářel produkt, který je směřován k předání, soustředíme se na prototyping end-to-end, tím se zbavíme vědomostí, které je nutno znát, aby se práce úspěšně udělala. Jedná se vlastně o určitou úroveň abstrakce.

Na konci každé špičky máme lepší povědomí a technické znalosti o tom, co obnáší řešení dalších konkrétních problémů- dělíme je na extra malé, malé, střední, velké, extra velké anebo tzv. „Godzilla“.

Běžně střídáme mezi běžnými sprinty a špičkami, pravidelně vedeme „týdny inovace“, které vedou ke vskutku úžasným prototypům a poznatkům, které se dají dále do budoucna využít. Většina týmů v Atlassian týdny inovace drží a rádi o nich mluví i píše například na blogu.

Udržujte i ty největší změny malé

Namísto nepravidelných velkých změn dělejte pravidelné změny menších formátů- je velmi snadné vrátit dílčí změnu, když je to potřeba, anebo ještě lépe- opravit a posunout produkt dopředu. Je to snazší při produkci malých změn, místo těch obrovských.

Pro opravdu velké změny- například očekávané nové vylepšení a funkce- budeme mít neustále k dispozici malé celky, budeme schopni lépe definovat cesty „krok za krokem“ a bude snadnější často provádět A/B testy a pokusy, abychom zjistili, co mají uživatele nejraději.

„Namísto nepravidelných velkých změn dělejte pravidelné změny menších formátů“

Pro testování dělíme své uživatele na kohorty (menší jednotky), například jednotka A může vidět stejnou novou funkci v podání „A“, zatímco druhá skupina může vidět stejnou funkci, která vypadá anebo se chová trochu jinak- můžeme tedy porovnávat míru zaujetí jednotlivými vzhledy i funkcemi navíc.

Dále využíváme data o používání, abychom zjistili, která verze nové funkce lépe splňuje požadované cíle a požadavky, které byly definovány předem- tyto pokusy opakujeme až do chvíle, kdy nedostaneme nejvíce a dostatečně přijatelný výsledek.

Držíme se hesla „Vy to sestavíte, vy to doručíte a vy to budete provozovat“- to znamená, že tým je odpovědný za psaní nových funkcí, a také existuje tým, který je zodpovědný za nasazení, stejně tak, jako lidé, kteří poskytují podporu ve fázi, kdy je produkt provozován.


Pro další informace o novinkách Atlassian a JIRA sledujte web www.myJIRA.cz.

Diskutujeme také na LinkedIn ve skupině Atlassian komunita CZ & SK.

V případě dotazů se obraťte na atlassian_zavináč_onlio.com nebo na tel. +420222744766


Pavel Novák,
Java Developer

Zdroje:

https://www.clearvision-cm.com/wp-content/uploads/2017/04/devops-ebook-final.pdf 
(„DevOps, Promote the philosophy across your organization“, Atlassian)

Zpět