Rozdělení úloh v týmu: vývoj, testování, CI/CD

mmcc

Rozdělení úloh v týmu: vývoj, testování, CI/CD
« kdy: 19. 10. 2022, 21:39:50 »
Mozno trochu zaciatocnicka otazka. Na korporatny team (v tom teame som par mesiacov), ktory sa zaobera hlavne operations a SRE, prisla poziadavka spravit mensiu, jednoduchsiu app s rest api, v pythone, beziacu na AWS services. Na tento task sme dvaja, mame to viacmenej "na kolene" funkcne. Ale okrem toho je v tom aj komunikacia so zakaznikom (s inym teamom), analyza, navrh infrastruktury na AWS, cely CI/CD pipeline (unit testing, gitlab-ci, terraform pre automaticky deployment, dokumentacia).

Vedenie sa uz zacina ozyvat, ze nam to dlho trva. Obom nam to prerasta cez hlavu, v teame nieje nikto, kto by nas zorganizoval, "orchestroval", obidvaja mame viacmenej programatorske skusenosti. S devops, automatizaciou a trochu aj s aws sa trapime.
Na jednej strane je to dobra prilezitost rozsirit si znalosti, ale momentalne mam pocit, ze je to nad ludske sily zvladat toto vsetko v jednej osobe.

Ako mate podelene ulohy v teamoch? Unit testy pisete sami na svoj kod, alebo ich pise kolega, iny team? tak isto aj gitlab-ci, terraform a vsetko vyssie spomenute.
« Poslední změna: 19. 10. 2022, 22:46:25 od Petr Krčmář »


a6b

  • ***
  • 119
    • Zobrazit profil
    • E-mail
Re:team workflow dev, testing, cicd
« Odpověď #1 kdy: 19. 10. 2022, 22:31:43 »
tay jsem v 3 clenem tymu, 2 prgaci a jeden tester. s takovym poctem lidi zakaznik nemuze cekat zadne rychle zazraky.

nemuzete z vedeni vymamit aspon nejakeho manazera/scrum majstra/komunikatora co pomuze se zakaznikem? je uloha vedeni mit plan zajistit dohled nad projektem obecne prgac neni manazer.

prgaci zvladnou prgani i devops, ale prace se zakaznikem, to uz by me nebavilo.
« Poslední změna: 19. 10. 2022, 22:35:40 od a6b »

Re:team workflow dev, testing, cicd
« Odpověď #2 kdy: 19. 10. 2022, 22:42:50 »
Jsme větší korporace a v týmu máme 6 lidí:

1 product owner
1 vývojář
1 sre
1 data guru
1 software analytik
1 tester

Bez sre to vázlo, protože devops dělal vývojář a jelikož infrastruktura byla dost poruchová, tak na skutečný vývoj nezbývalo dost kapacity.

IMHO pokud nemáte kapacity a kompetence na všechny oblasti, tak byste měli poptávat expertýzy od zkušenějších skupin v korporaci. Částečná komunikace vývojáře se zákazníkem IMHO nevadí, ale jen tam kde si mají co říct (vývojář by neměl dělat management).

a6b

  • ***
  • 119
    • Zobrazit profil
    • E-mail
Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #3 kdy: 19. 10. 2022, 22:54:50 »
a jako prgaci to hrotte k vedeni, aby videli, ze je to pruser a aby samo vedeni bylo nuceno neco delat. treba kdo zajisti ucty na cloudu, kdo urci jake instance se objednaji, jaky vykon muzeme zadat, co je pro zakaznika priorita, to vubec neni starost prgacu a musite vedeni v tom vymachat pysk.

Re:team workflow dev, testing, cicd
« Odpověď #4 kdy: 19. 10. 2022, 22:58:22 »
Jsme větší korporace a v týmu máme 6 lidí:

1 product owner
1 vývojář
1 sre
1 data guru
1 software analytik
1 tester
A mate to v tomto pomeru? Moje zkusenost je jina, spis blize k necemu
0,25 PO
0,15 scrum master
4,00 DEV
1,00 tester
....
Děkuji za možnost editace příspěvku.


a6b

  • ***
  • 119
    • Zobrazit profil
    • E-mail
Re:team workflow dev, testing, cicd
« Odpověď #5 kdy: 19. 10. 2022, 23:02:05 »
Jsme větší korporace a v týmu máme 6 lidí:

1 product owner
1 vývojář
1 sre
1 data guru
1 software analytik
1 tester
A mate to v tomto pomeru? Moje zkusenost je jina, spis blize k necemu
0,25 PO
0,15 scrum master
4,00 DEV
1,00 tester
....

vyvojar, data guru, analytik v tak malem tymu proste musi prgat.

mmcc

Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #6 kdy: 20. 10. 2022, 01:44:02 »
a jako prgaci to hrotte k vedeni, aby videli, ze je to pruser a aby samo vedeni bylo nuceno neco delat. treba kdo zajisti ucty na cloudu, kdo urci jake instance se objednaji, jaky vykon muzeme zadat, co je pro zakaznika priorita, to vubec neni starost prgacu a musite vedeni v tom vymachat pysk.
Predplatenych systemovych zdrojov na AWS je viac nez dost. Na tak malom projekte su naklady zanedbatelne, tato tema odpada.
Z ostatnej debaty som usudil, ze unit testing, pripadne gitlab-ci je v kompetencii dev prog. Terraform(S3,Lambda,Glue,Athena,API GW, IAM,..) nechce sa mi este aj do toho.

Teraz este otazka z pohladu testera (s testovanim sa tiez len zoznamujem). Ako mate nastavene pravidla pre odovzdavanie kodu testerom? Npr kolega mi dal jeho kod na napisanie unit testov, ale bez dokumentacie vstupov, vystupov, ze "to ti vysvetlim". Kod vo velkej miere netestovatelne "spaghetti", vratil som mu to nech to upravi do testovatelnej podoby, rozbije do mensich metod. Nebol z toho nadseny :)
Tester doslova lusti kod a algoritmy aby vedel co ma byt na vstupe, co na vystupe? Ci vsetci pisete tak cisty, jednoduchy kod, ze je to z neho hned jasne? Tiez je vo zvyku, ze tester upravuje/preraba kod po programatorovi, ci len mu ho vrati s reportom z testu?

Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #7 kdy: 20. 10. 2022, 02:47:23 »
Tester doslova lusti kod a algoritmy aby vedel co ma byt na vstupe, co na vystupe? Ci vsetci pisete tak cisty, jednoduchy kod, ze je to z neho hned jasne? Tiez je vo zvyku, ze tester upravuje/preraba kod po programatorovi, ci len mu ho vrati s reportom z testu?

Tak testy by mali vychadzat zo zadania, nie z implementacie, inak su zbytocne. Casto su napisane este pred implementaciou zadania.

Testy by mali prebehnut po merge requeste. Ak nedopadnu dobre, tak to nejde mergnut a autor to musi opravit.

Ale chce to v teame niekoho kto by bol realne schopny robit analytika/architekta a rozumie tomu.
« Poslední změna: 20. 10. 2022, 02:56:06 od Death Walker »

a6b

  • ***
  • 119
    • Zobrazit profil
    • E-mail
Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #8 kdy: 20. 10. 2022, 06:35:41 »
testera by lo zajimat jen api na napsani testu, jak si to zkazili uvnitr je vec code review.

Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #9 kdy: 20. 10. 2022, 07:07:40 »
Unit testy jsou odpovednost programatoru. Tester pise automatizovane integracni / E2E testy.
Děkuji za možnost editace příspěvku.

Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #10 kdy: 20. 10. 2022, 07:09:52 »
Testy by mali prebehnut po merge requeste. Ak nedopadnu dobre, tak to nejde mergnut a autor to musi opravit.
PRED. Testy musi kompletne projit PRED mergem. To co jsi napsal nedava smysl.
Děkuji za možnost editace příspěvku.

L..

  • ****
  • 302
    • Zobrazit profil
    • E-mail
Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #11 kdy: 20. 10. 2022, 08:09:27 »
Programuju komerčně už přes 25 let, ale že by unit testy dělal jiný člověk, než ten kód, s tím jsem se ještě nesetkal. V určitých případech by to smysl dávat mohlo - například když by zadání bylo tak jasné, že by se daly napsat předem. Pak by je třeba mohl napsat zadavatel/senior a následně nechat na juniorovi, ať napíše implementaci. Nicméně aby unit testy dělal někdo jiný ex-post podle kódu, to mi nedává vůbec smysl.

Co se týče původního dotazu: Za mě jsou vývoj a operations (včetně devops) dva obory. Je samozřejmě možné, aby je dělal jeden člověk, ale je to skoro vždy na úkor kvality obou. Podobně, jako když je někdo fullstack programátor.

Re:team workflow dev, testing, cicd
« Odpověď #12 kdy: 20. 10. 2022, 08:35:11 »
Jsme větší korporace a v týmu máme 6 lidí:

1 product owner
1 vývojář
1 sre
1 data guru
1 software analytik
1 tester
A mate to v tomto pomeru? Moje zkusenost je jina, spis blize k necemu
0,25 PO
0,15 scrum master
4,00 DEV
1,00 tester
....

Nemáme to 1:1 Podstatné ale je, že tam jsou ty role vůbec zastoupeny.

Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #13 kdy: 20. 10. 2022, 11:17:21 »
Testy by mali prebehnut po merge requeste. Ak nedopadnu dobre, tak to nejde mergnut a autor to musi opravit.
PRED. Testy musi kompletne projit PRED mergem. To co jsi napsal nedava smysl.

Povedz si to este raz pomaly nahlas - "merge request" - "merge". Ak stale ostane zhasnute, tak opakuj...

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Rozdělení úloh v týmu: vývoj, testování, CI/CD
« Odpověď #14 kdy: 20. 10. 2022, 14:22:27 »
Jsme dva vývojáři, senior a junior. Plus tester. Plus ještě máme nad sebou člověka, který prioritizuje a komunikuje s vedením.
Jako vývojáři děláme všechno od kódu, po architekturu a správu serveru, nasazení, etc. Když vedení něco nutně potřebuje, snažíme se vyhovět. Po nasazení na test a na produkci tester testuje. (Ne unittesty samozřejmě. Ty jsou naše práce.)

Nemáme to nijak striktně rozdělený - maximálně v tom, že junior dělá tu hrubější práci, a senior vymejšlí extrabuřty. Sedlo si to samo.

Vedení chápe, že jde co jde. Bylo jim to vysvětleno. Je soudné.

Přímo k otázce:
Může to mít výhody, kde se specializuje. Ale jde to klidně i v jednom ve dvou. Problém obvykle bývá skill a čas.

Nepřímo k problému:
Dělat na aplikaci měsíc a nemít žádné výsledky je psychologická chyba. Nemůžeš mít vedení za zlé, že je nervózní. Udělejte pre-verzi, a tu nasaďte, ať vidí, že se neflákáte. Každý měsíc nasazujte novinky. Krmte je podrobnostmi, co jste řešili, jaké velké překážky se objevily, a jak jste je řešili, co vás aktuálně čeká. Pokud chtějí krmte je každé pondělí. Pokud nechtějí krmte je měsíčně.