> Je společnost GitHub skutečně tak cool, jak se prezentuje? Podle bývalé zaměstnankyně, která své zkušenosti popisuje na blogu, nikoliv.
K tomuhle byla relevantní diskuze na lobsterech, speciálně tenhle komentář:
https://lobste.rs/s/js3pbv/antisocial_coding_my_year_at_github#c_h8znxo
No já jsem měl čas a sílu přečíst jenom půlku toho jejího textu o GitHubu. Ale osobně mám pocit, že slečna ještě nezajela do reality.
Každá firma funguje z principu jinak. Jiný obor zájmu, jiný know-how, jiný procesy, jiný cesty ke zisku. Že byla na něco zvyklá neznamená, že je to nejelpší a že to tak funguje všude.
- Pair programming, OK, asi jí to vyhovuje. Ale musí vidět i druhou stranu. Pokud to není na omezenou dobu na zaškolení nováčka do problematiky a není požadavek na 99% neprůstřelný kód, tak se prostě nevyplatí, aby nad odesíláním notifikačních mailů zákazníkovi seděli na full time dva lidi. Levnější je, když nad tím jeden stráví třeba 10 hodin a druhý věnuje hodinu code review. Pokud chce vždycky pair programming, ať jde do NASA nebo Boeingu.
- Řešení architektury na standup meetingu je blbost. Architektura se řeší většinou v konceptuální fázi projektu, ne v produkční, protože tam je každá změna drahá. Jistě, vždycky jde něco napsat líp, ale přepsat a přetestovat 20 modulů jenom proto, že je to sice good enough, ale neodpovídá to poslední módě? Kdo to zaplatí? Nezíská tak konkurence náskok?
Ani v konceptuální fázi to ale není sranda, to nejsou standup meetingy na 10 minut denně, ale třeba tři, čtyři hodiny diskusí nad UML diagramama.
- Procesy na standup meetingu - fail. Procesy řídí firmu, vnější vztahy se zákazníkem, jsou auditovaný v rámci ISO 9xxx a ISO 14xxx,... Pokud jde o nemanažera, tak toho se týkají ve dvou věcech - musí se s nima seznámit a musí je dodržovat. Vždycky, když se proces probíral na projektovým, stand-up nebo podobným meertingu, tak šlo jenom o jedno - jak něco odrbat.
Když se jí na procesu něco nelíbí, ať to udělá oficiální cestou, kaizen.
- Cenzura externí komunikace. Firma si buduje PR, má oficiální kanály a oficiální procesy. Pokud si z change logu udělá osobní blog s tím, jak pomocí commitu vyřešila svůj osobní problém se svým zaměstnavatelem, jasně, že dostane kartáč. Bylo a je to tak všude, dokonce si napamatuju, že bych měl někdy smlouvu bez odstavce, že vyjádření za firmu můžu dělat jenom po schválení nadřízeným. Chce snad diskutovat o procesech proto, aby je nemusela natvrdo obcházet, ale jenom si je ohnula? Asi ji zklamu, tohle nefunguje. Takový stav jsem zažil a po čase se musely utáhnout šrouby, protože efektivita firmy šla dolů.
- No a poslední, co jsem četl, je její připomínka k dotazníku. Zase si to bere moc osobně a zase musí mít jedinou univerzální pravdu. Nestačí říct, že vhodnější by bylo "male-female-unspecified/other" s odkazem na to, že existuje hodně variant, kdy se někdo neztotožňuje se svým pohlavím, nebo je nechce uvádět a bylo by indiskrétní se víc vrtat v tak soukromé věci.
Ale tohle je častá nemoc nezralých vývojářů - naučí se teorii, jediný správný postup a pak koukají jak žaba z křa, že je realita jiná. Snaží se zdržovat tým na desetiminutovým meetingu filozofickou debatou půlhodinovým tlacháním o "blbě navrženým" standardem daným API, hodinu tlachat o tom, že posílat commitovaný věci napřed tesťákům je zbytečný, když testy projdou,... místo toho, aby se rychle rozdala práce a probraly akutní problémy. "Jsem ruby guru" a "umím programovat ve dvojici" je hezký v životopise, ale k přežití v reálným světě vývoje je to zoufale málo. Tam musí pochopit i takový věci, jako cenu času a práce, firemní kulturu,... A pokud to odmítá/nedokáže, tak i guru je pro projet spíš zátěž než přínos.
Nejde o korporátní kulturu. Jde o fungování obecné firmy.
S vývojem jsem začínal ve firmě s pár lidma. Dalo se to jenom do osmi lidí. Pak už nebylo v silách majitele toho víc uhlídat a docházelo k situacím, kdy si zákazník objednal vícepráce po telefonu, pak je popřel a neměli jsme doklad, že se dělalo něco navíc atd. Tak se prostě zavedl proces - pokud chce zákazník vícepráce, zákazník pošle požadavek písemně, my mu dáme písemně odhad času a práce, zákazník odsouhlasí a pak se pracuje. Přibyla nám administrativa, ale projekty byly rychlej hotový a nedělali jsme vykukům šašky zadarmo. Ve výsledku na tom, že lidi míň pracovali a víc papírovali, firma vydělal a byly vyšší prémie.
Jiný proces je třeba vyřízení reklamace, postup nákupu na e-shopu, agilní metodika, integrace v GITu (commit do branche featury, po vlastním otesování a unit testech merge do devel, tam důkladný testy, po otestování merge do masteru), pravidla pro přebírání kódu od externího dodavatele (zodpovědný pracovník, review, integrační test), ...
Bez procesů (pravidel) neuděláš nic a pravidla prostě platí, dokud někdo nevymyslí lepší. Diskutuje se o nich, když se postup zavádí/upravuje, pak už ne. Nevím, co chce na procesech každý den okecávat, pokud to není ve stylu "vys... jsem se na odevzdání výkazu práce do osmýho, ten proces je úplně mimo, potřebuju to v procesu zpracování výplat protáhnout do dvanáctýho" nebo "potřebuju z procesu vyhodit code review, protože mýmu genitálnímu stylu práce nikdo nerozumí a musím dvě hodiny vysvětlovat, co těch 20 řádků dělá"...
@ded.kenedy
Ach ty manifesty. Už jenom ona sama agilní metodika je jakýsi proces a nástroj k řízení, který se musí nějak dodržovat.
Agil jsem zažil, sami si ho i občas přizpůsobili a vylepšili nebo operativně změnili podle potřeb, ale nepamatuji si, že by šéf už nebyl šéf, majitel nebyl majitel, zákazník nebyl zákazník nebo smlouva nebyla smlouva a ani se nepamatuju že by bylo jakkoliv žádoucí např. obejít schválení šéfem (processes) nebo ignorovat seznamy požadavků/úkolů/výsledků a repozitářů (tools) přestože s individualita a interakce byly na denním pořádku . . .
Ani nevim, z ktereho konce zacit opravovat vsechna nepochopeni.
Agilni metodika neni nejaka jedna konkretni metodika, ale cela rodina metodik softwaroveho vyvoje sdilejici podobne hodnoty, viz manifest agilniho vyvoje. Proto fakt, ze jsi zazil nejaky "agil" bez uvedeni dalsich podrobnosti ma nulovou vypovidajici hodnotu.
obejít schválení šéfem (processes) nebo ignorovat seznamy požadavků/úkolů/výsledků a repozitářů
Agilni softwarovy vyvoj neznamena, ze se jedna o jeden velky bordel, kde si kazdy dela, co chce. Pravidla jsou nastavena, ale muzou se menit podle aktualnich potreb a situace. Neni to ten pristup, ktery tady propaguje Petr M. "jednou se schvali pravidla/procesy a pak uz jen drz hubu a poslouchej".
To same se tyka pouziti nastroju. Agilni softwarovy vyvoj neni v rozporu s pouzivanim nastroju jako jsou repozitare. Ale je proti tomu, aby konkretni reseni problemu explicitne vyplyvalo z pouzivanych nastroju. Napriklad, potrebuje-li zakaznik hotfix nejakeho konkretniho problemu, neni mozne ho nutit udelat upgrade celeho informacniho systemu jenom proto, ze vsechen produkcni kod jde pres jednu hlavni vetev v cenralni CVS/SVN a zadne pomocne vetve nejsou povoleny, protoze procesy a nastroje.
To je právě ta Agilní metodika. Vybereš si co potřebuješ a co ti nepasuje, tak přizpůsobíš. A jak tam píši, tak jsme si to mnohokrát ohnuli "za chodu" protože to bylo potřeba. Jediné co dělá nakonec bordel je "Individuals and interactions over processes and tools", protože když už si něco agilně nastavíš a pak to i agilně občas poupravíš jak potřebuješ je ti k ničemu, když ti ty procesy v interakcích mezi inidividuály nikdo nedodržuje a každý pružně pruží jak se mu zachce.
Ano, nástroje by ti neměly určovat metody jak pracovat, na druhou stranu ale všichni kdo máme nějaké praktické zkušenosti a dobře víme, že každý nástroj má nějaké své výhody a nevýhody a jelikož nemůžeš předpokládat co bude chtít klient za 3 roky, tak se ti prostě může stát že tě použitá technologie prostě nepustí některé věci udělat a nebudeš např. kvůli 2 hotfixům za rok, které potřebuješ ideálně nasadit o 2 dny dřív migrovat půl firmy a přeškoloval 20 lidí. Protože to by často trvalo dýl než ty 2 dny. Ale tak bys mohl argumentovat stejně tak, že GIT je naprd agilní, protože nesmíš upravit věci přímo např. na serveru, ale musíš to prohnat commity, mergy a pull/push, testy, schválením a pod . . . . . To je prostě realita. A zažil jsem i přímo požadavky/zadání klienta, které prostě některé věci přímo použití agilních metod u některých věcí vyloučily a nebo hódně zkomplikovaly. A vyhodíš kvůli tomu velkého a stálého klienata? Určitě ano :-) Ale co, to je život a jak jsem psal, manifest je manisfest, papír snese všechno. Je hezké mít náročný cíl, ale IMO to co popsal Petr M je prostě pohled čelem k realitě. Tak to vidím já.
To je právě ta Agilní metodika.
Ne, neni. Prosim, precti si k tomu aspon heslo na wikipedii. Usetri nam to obema spoustu vysvetlovani.
když ti ty procesy v interakcích mezi inidividuály nikdo nedodržuje a každý pružně pruží jak se mu zachce
Ale toto neni agilni softwarovy vyvoj. To je jen bordel, ktery jste si zavedli, a zacali tomu rikat: "Agilni metodika"
To je prostě realita. A zažil jsem i přímo požadavky/zadání klienta, které prostě některé věci přímo použití agilních metod u některých věcí vyloučily a nebo hódně zkomplikovaly.
Ano, jsou projekty, kde je potreba mit zavedene procesy, protoze to zakaznik vyzaduje. Tak se proste agilni metodiky nepouziji. Tento argument nechapu.
to co popsal Petr M je prostě pohled čelem k realitě.
Spis je to pohled vyvojove software v jednom urcitem segmentu trhu.
Nevím jestli by sis ty spíš neměl uvědomit, že Agilní metodika je akorát jiný způsob řízení procesů, abychom si tady ten čas skutečně ušetřili.
Pominu ten "bordel" který jsi samozřejmě ani neviděl, tudíž víš kulové k čemu ses právě vyjádřil a uznávám že nechápeš ( viz. "Tento argument nechapu."), jak je možné vést projekt agilně a přesto udělat několik nutných, vyžádaných vyjímek, protože i tak si tím agilem třeba pomůžeš a nebudeš na jeden projekt nasazovat kvůli 2 věcem úplně jiné prostředí než na zbylých 10. Ale můžeš, to ti samozřejmě neberu.
No, pohled @Petr M je evidentně pohled vyvojáře, když je asi vývojář, ale ono se to v podstatě pro ty vývojáře zas tolik nemění - požadavek, plán, termín, odpovědnost, šéf/majitel, testy, výkazy/evidence . . . . . to je pořád stejné, v podstatě jde jenom o ten přístup a ty procesy - v reálu. Manifest je manifest.
Neni to ten pristup, ktery tady propaguje Petr M. "jednou se schvali pravidla/procesy a pak uz jen drz hubu a poslouchej".
Jakákoliv, i agilní, metodika je kuchařka, podle které se jede. Já osobně jsem metodik zažil několik a při certifikaci na SAFE to školitel vystihl dobře - vyberte si, co se hodí, škrtněte, co se nehodí, ostatní si přizpůsobte, a pak během projektu na ty pravidla nesahejte. Ono by tam bylo riziko, že se rozbijí teamy, změní se administrativní zátěž,... a najednou se změní bodování náročnosti.
Když se na začátku nastaví parametry projektu, je stabilní team atd. dají se plánovat sprinty a dá se s tím pracovat. Pokud si pod "agile" zažil to, co v korporátu, že si agilně manažeři půjčovali lidi z jednoho teamu do jinýho a agilně se přizpůsobovaly plány na víc lidí, než bylo zaměstnanců, byly v loji všechny projekty.
A madam, kterou drbeme právě protestovala proti tomu, že se nemění agilně pravidla ze dne na den. Což je špatně, pak by nešlo řídit a plánovat projekt.
Napriklad, potrebuje-li zakaznik hotfix nejakeho konkretniho problemu, neni mozne ho nutit udelat upgrade celeho informacniho systemu jenom proto, ze vsechen produkcni kod jde pres jednu hlavni vetev v cenralni CVS/SVN a zadne pomocne vetve nejsou povoleny, protože procesy a nastroje.
Agilní vývoj znamená, že jeden sprint = (standardně) jedna verze, která se změní. Pokud je sprint 10 dní, je systém upgradován jednou za dva týdny, takže se s přeinstalací počítá. S tím, že pokud je chyba, je opravena v nejbližším sprintu a zbytek po opravě chyb s nejvyšší prioritou je věnován novějším featurám.
Pro 0-day musí existovat (pod)proces, který definuje, jak postupovat, kdo je zodpovědný za release atd. Ad hoc změna jednoho řádku a vypuštění ven je sebevražda. Vždycky je potřeba vědět, kdo připraví patch, že jsou třeba tři lidi z projektu na review, že musí projít unit testy, musí navazovat na systém release (např. tím, že číslo verze a instalačku vytvoří systém CI)... Je s tím potřeba počítat dopředu (už jenom proto, že smlouva o dílo by měla definovat postup v případě problémů).
A je třeba, aby na sebe sedly tři věci - nástroje, procesy a projekt. Jinak je to vždycky na pytel. Pokudproces definuje pracovat s kódem agilně, automaticky to znamená zbavit se CSV/SVN a mít něco pořádnýho - už jenom proto, že větší featura, co se nestihne za jeden sprint, nesmí být integrována před dokončením.
a pak během projektu na ty pravidla nesahejte.
Cimz se ti z toho naprosto vytrati ta agilnost a dostanes v podstate tradicni pristup s kratkymi iteracemi. Coz se v korporatu, kde se jedna aplikace vyviji roky ztrati. V pripade internetovych firem, kde doba vyvoje je kratka (jednotky mesicu) a projekt prochazi dynamickym vyvojem (prototyp, MVP, stabilni produkt s platicimi zakazniky) je to vrazedne.
Jen dodam jeden z dvanacti principu agilniho vyvoje: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Agilní vývoj znamená, že jeden sprint = (standardně) jedna verze, která se změní.
Ne, neznamena. http://agilemanifesto.org/
A je třeba, aby na sebe sedly tři věci - nástroje, procesy a projekt.
To je tak jedine, s cim mohu souhlasit.
@ded.kenedy
Takže v podstatě třeba Scrum, kde jsou nějaká obecná pravidla a podle nich se jede a nemění se, podle tebe není agilní způsob vývoje ale klasický korporátní moloch :-)
"At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly."
Ano, ale tím "how to become more effective" bývá délka sprintu, počty chyb, špatné/dobré odhady, odhady zbývajícího času do termínu a pod., ne že najednou v půlce přejdeš třeba na Kanban, zrušíš pravidelné porady a odstraníš "roli" product ownera (pokud to tam máš) . . .
Cimz se ti z toho naprosto vytrati ta agilnost a dostanes v podstate tradicni pristup s kratkymi iteracemi.<\em>
Během projektu se agilně reaguje na změny zadání, třeba že chce zákazník najednou změnit komunikační protokol nebo překopat pár obrazovek. Udělá se sprint (jo, je to krátký waterfall, který se opakuje v cyklu - nikdo nic lepšího, než analyzovat, nakódit, otestovat a releasnout nevymyslel) a zákazníkovi se dodá demo nebo výsledek (podle toho, co požaduje).
Pevně daný pravidla jsou pro tohle výhodou, protože:
1) Jedno pravidlo určuje délku sprintu. Když je to týden, je to týden, když měsíc, tak měsíc. Je navázaný většinou na smlouvu se zákazníkem, kde je perioda dodávání nových verzí. Měnit to je konina.
2) Velikost teamu je x lidí a team má stabilní složení. Změň to a rozhodí se plánování sprintů, měnit to je konina.
3) Je daný nějaký způsob správy zdrojáků, který všichni znají. Čím projektu pomůže, když v jednom sprintu se budou pracovní branche nazývat #3135 podle čísla tiketu, v dalším _pepa_fix525? Měnit způsob práce s GITem je konina, pak je v tom jenom binec.
4) Release SW je zase spojený se smlouvou se zákazníkem. Požadavky na kvalitu/testování, dohodnutý způsob předání, čísla verzí, provázání interně na fakturaci práce, ... Měnit tohle je konina na kvadrát.
Máš jiný nápad, jaký mantinely chceš vlastně během práce na projektu několikrát flexibilně měnit tak, aby to pomohlo projektu?
Ne, neznamena. http://agilemanifesto.org/
Manifesty v praxi většinou nefungují. Dělat cokoliv bez pravidel můžeš v situaci, kdy jsi nezávislý. A to nejsi nikdy. Podívej se třeba na komunistický manifest, vzletný slova o rovnosti všech a někteří makali jak koně, jiní (KGB, STB, Stasi) se jenom vezli na šikanování a likvidaci "sobě rovných". A to ještě ani nebyl pravý komunismus.
Vlastně jediný manifest, který jsem viděl, že jakž takž funguje, byl TXpManifest v Delphi 7.
je to krátký waterfall, který se opakuje v cyklu
Ale toto neni agilni vyvoj, ale pouze iterativni model vyvoje.
Pevně daný pravidla jsou pro tohle výhodou, protože:
2) Velikost teamu je x lidí a team má stabilní složení. Změň to a rozhodí se plánování sprintů, měnit to je konina.
Pokud mas projekt, ktery ti prochazi postupny vyvojem, nejdriv na nem delaji 2-3 lidi architekturu, zakladni implementaci, pak se pridavaji dalsi + dalsi profese jako grafik, UX, tester (zapojovat je do projektu driv by bylo zbytecne, protoze by se kopali do prdele), pak projekt prechazi do faze maintenance, kde je pocet programatoru, grafiku a dalsich profesi mensi.
Release SW je zase spojený se smlouvou se zákazníkem.
Pokud vyvijis projekt nejdrive jako in-house, pak ma 1-2 prvni zakazniky a pak nejakych 100+, po kazde mas jine naroky. Kdyz si nastavis pravidla pro release management ve fazi vyvoje, tak jako by to byl projekt se 100+ platicimi zakazniky, bude to jen zdrzovat. Opacne to bude problem taktez.
Manifesty v praxi většinou nefungují.
Ja jsem s tim puvodne nechtel zacinat, ale kdyz jsi zacal... To, ze si nekdo vezme nejake myslenky a ohne si je tak, aby odpovidaly jeho "praxi", je symbolem totalitarniho mysleni, jake tu predvadis v nejcistsi forme ty a NULL. Vase pojeti agilniho vyvoje ma s agilitou asi tolik spolecneho jako demokracie v nazvu Korejske lidove demokraticke republiky.
Ale toto neni agilni vyvoj, ale pouze iterativni model vyvoje.
Agilní vývoj probíhá vždycky v iteracích. Říká se jim sprinty.
Pokud mas projekt, ktery ti prochazi postupny vyvojem, nejdriv na nem delaji 2-3 lidi architekturu, zakladni implementaci, pak se pridavaji dalsi + dalsi profese jako grafik, UX, tester (zapojovat je do projektu driv by bylo zbytecne, protoze by se kopali do prdele), pak projekt prechazi do faze maintenance, kde je pocet programatoru, grafiku a dalsich profesi mensi.
Team má být stabilní, 5-6 lidí. Jeden team se specializuje na UX, jiný na DB,... K projektu pak nepřiřazuješ vývojáře, ale teamy. Každý team má zkušenost se svou specializací, zlepšuje statisticky odhady,... Tak to funguje ve velkých firmách.
Ve středních firmách se kompetence teamů sdílí, že jeden team dělá architekturu + UX, druhý DB + backend,...
V malé firmě nebo startupu o 10 lidech dělají všichni všechno a nemáš kde brát specialisty.
Pokud vyvijis projekt nejdrive jako in-house, pak ma 1-2 prvni zakazniky a pak nejakych 100+, po kazde mas jine naroky. Kdyz si nastavis pravidla pro release management ve fazi vyvoje, tak jako by to byl projekt se 100+ platicimi zakazniky, bude to jen zdrzovat. Opacne to bude problem taktez.
Proč? To je problém obchodníků a technické podpory, ne tvůj. Tvůj úkol je "vyrobit binárku" a opravit chyby z bug trace.
Standardně release začíná tím, že hodíš push do GITu do vývojové větve. Jenkins zkusí CI, když projde, vybleje testovací biínárky. Když tesťáci dovolí, následuje patchování produkční větve, Jenkins vyhodí binárky, scp na distribuční server, rozeslání mailu s notifikací. Kolik lidí si ty binárky stáhne, tě nezajímá. Ty řešíš, jestli Jenkins release zvládl, nebo je to rozbitý.
U bug trace tikety přiřazuje tecnická podpora a tesťáci. Odfiltrovat "bugy mezi židlí a klávesnící u zákazníka" a sloučit duplicitní bugy je práce technické podpory. Přiřazují je na scrum mastera, ten je deleguje dál.
A díky takhle nastavenýmu procesu nezjistíš, že najednou volá 50 zákazníků denně a nemáš čas na práci. Zase, nic se nemění, krom počtu lidí na technické podpoře a obchodníků. Takže parametry procesu, ne proces jako takový.
Ja jsem s tim puvodne nechtel zacinat, ale kdyz jsi zacal... To, ze si nekdo vezme nejake myslenky a ohne si je tak, aby odpovidaly jeho "praxi", je symbolem totalitarniho mysleni, jake tu predvadis v nejcistsi forme ty a NULL. Vase pojeti agilniho vyvoje ma s agilitou asi tolik spolecneho jako demokracie v nazvu Korejske lidove demokraticke republiky.
1) Demokracie je o řízení společnosti, ne lidí.
2) I v demokracii jsou pravidla a instituce, co jejich dodržování kontrolují (třeba policie a trestní právo).
3) Agilní vývoj je agilní tím, že
- rychle dodá aspoň minimální verzi aplikace
- rychle a průběžně reaguje na požadavky zákazníka
- na základě statistik z dosavadního průběhu projektu se dá predikovat další průběh projektu
- není potřeba dopředu půl roku sepisovat, co to má umět
- zjednodušuje čerpání financí od zákazníka/managementu - "vidíte, že se projekt pohnul, před týdnem tam tahle featura nebyla"
4) Agilní vývoj není o tom, že se vývojáři dohadují, jestli je pro 100 zákazníků potřeba věci dělat stejně, jako pro 99 zákazníků a jestli se má od verze 4.0 změnit coding style.
5) Programátor je zaměstnanec podle stejnýho zákona, jako sekretářka, uklízečka nebo frézař. Poslouchat šéfa a respektovat firemní procesy proto musí úplně stejně.
Nejsi náhodou ona slečna po přeoperování genitálií?
Agilní vývoj probíhá vždycky v iteracích.
Ale ne vse, co probiha v iteracich je agilni vyvoj. Doporucuji nastudovat rozdil mezi implikaci a ekvivalenci.
Team má být stabilní, 5-6 lidí. Jeden team se specializuje na UX, jiný na DB,... K projektu pak nepřiřazuješ vývojáře, ale teamy.
Dobre, jde videt, ze opravdu nechapes, o cem je agilni vyvoj. Agilnost plyne z toho, ze mas v tymu lidi, kteri jsou schopni vyresit jeden pozadavek jako celek. Opet upozornuji, ze je tu implikace ne ekvivalence.
Jeden team se specializuje na UX, jiný na DB,...
Takze pokud potrebujes pridat jedno vstupni pole do formulare. Musi to nejdriv vyresit DB tym, tym vyvijejici aplikacni logiku, pak to prevezme tym UX a nakonec si to vezme tym testeru. A request, ktery by sel vyresit za pul dne se vsim vsudy resis mesic. Pouziju-li tva slova Tak to funguje ve velkých firmách.
Standardně release začíná tím, že hodíš push do GITu do vývojové větve...
V teto diskuzi se, ale celou dobu bavime o koncepci a rizeni vyvoje ne o technickych detailech, jak se co nekde dela nebo da delat.
Proč? To je problém obchodníků a technické podpory, ne tvůj.
Osobne jsem si prosel vyvojem nekolik projektu od sameho zacatku az po jejich nasazeni a udrzbovost a potreby projektu se v kazde fazi menily. Dokazes si uvedomit, ze treba prvnich nekolik tydnu neni a ni co testovat nebo dokonce spoustet. K cemu je ti v te fazi jenkins nebo testeri?
Demokracie je o řízení společnosti, ne lidí.
Evidentne si nepochopil. Doporucuji vedle implikace nastudovat i pojem prirovnani.
Nejsi náhodou ona slečna po přeoperování genitálií?
Sorry jako, ale s clovekem, ktery se uchyluje k osobnim urazkam na urovni ctvrte cenove skupiny nehodlam nadale diskutovat.
Každá firma funguje z principu jinak.
Ano, mas pravdu. Jen nevim, proc se pak rozepisujes o tom, jak to chodi a je typicky nastaveno ve firmach, ktere maji 1000+ zamestnancu.
Procesy řídí firmu, vnější vztahy se zákazníkem, jsou auditovaný v rámci ISO 9xxx a ISO 14xxx,...
To je u internetovych firem, kde pul rocni zpozdeni muze znamenat odsunuti do bezvyznamnosti, to nejdulezitejsi.
Pokud jde o nemanažera, tak toho se týkají ve dvou věcech - musí se s nima seznámit a musí je dodržovat
Jinymi slovy, drzet hubu a makat jako spravna opice.
Napriklad, potrebuje-li zakaznik hotfix nejakeho konkretniho problemu, neni mozne ho nutit udelat upgrade celeho informacniho systemu jenom proto, ze vsechen produkcni kod jde pres jednu hlavni vetev v cenralni CVS/SVN a zadne pomocne vetve nejsou povoleny, protoze procesy a nastroje.
Neřeš počet lidí. Nám se "korporátní" řízení stylu "teď mám klobouk tesťáka, Franta klobouk markeťáka" začalo vyplácet od 15 lidí na firmě.
To je u internetovych firem, kde pul rocni zpozdeni muze znamenat odsunuti do bezvyznamnosti, to nejdulezitejsi.
A nepsal jsem, že každá firma je jiná? Já dělám embedded věci, tam to chodí jinak. Velký firmy chtějí mít ISO, na to musí mít všichni jejich dodavatelé stejný ISO. Můžeš mít klidně 500 zaměstnanců a 100M obraty, ale kšeft ti klidně vyfoukne certifikovaná parta pěti lidí, protože mají papír a ty ne. To je realita, nezměníš ji kdyby ses na přirození stavěl.
A když už musíš mít na každou činnost standardní postup (a audituje se jenom to, že je to definováno, ne jak je to definováno), proč to nevyužít ve svůj prospěch? Prostě sepíšeš, jak to děláš normálně a lidi se tím řídí. Když objevíš lepší postup, updatuješ proces a jsi OK :) A sepsání pár "směrnic" zvládne vysokoškolačka na letní brigádě, ty jenom jako šéf strávíš 2x ročně týden s auditorama + zaplatíš audit. Samozřejmě pokud se ti to zaplatí.
Jinymi slovy, drzet hubu a makat jako spravna opice.
Ne, jenom dělat to, co má v pracovní smlouvě a v zákoníku práce. Podpisem pracovní smlouvy podepsal, že bude pracovat v souladu s vnitřními předpisy firmy a dělat, co určí nadřízený. Když se mu to nelíbí, může jít jinam.
A abys neřekl, ukázka procesu:
Montážní zakázaka
1. Montér si vyzvedne zakázkový list, kde je popsáno místo a čas práce, vykonávaná činnost a seznam materiálu.
2. Montér nafasuje ve skladu materiál a podepíše jeho převzetí.
3. Montér se dopraví služebním vozidlem na pracoviště. Vyúčtování cestovních nákladů dle směrnice o užívání firemního vozidla (tankování, kniha jízd)
4. Montér zkontroluje pracoviště, jeho připravenost a zabezpečení dle směrnice o BOZP. Nedostatky dopíše do zakázkového listu.
5. Montér zavolá nadřízeného, informuje ho o zjištěném stavu pracoviště a začátku práce.
6. Je-li to možné, montér provede činnost, popsanou v zakázkovém listě.
7. Nelze-li dokončit práci včetně dopravy z firmy a zpět během standardní směny, zabezpečí montér pracoviště a materiál tak, aby nemohlo dojít ke krádeži materiálu nebo ke zranění jiné osoby.
8. Je-li nutné strávit montáží více než jeden den a vzdálenost na pobočku je větší než 100km, má montér nárok na ubytování dle směrnice o služebních cestách.
9. Ukončení práce hlásí montér nadřízenému telefonicky.
10. Je-li třeba změnit pracovní postup, požaduje-li zákazník změnu nebo vícepráce, je nutná konzultace s nadřízeným, který toto musí schválit a splnit požadavky dle směrnice pro vícepráce.
11. Po dokončení prací si nechá montér podepsat zakázkový list zákazníkem. Zákazník dostane jeho kopii.
12. Montér odevzdá zakázkový list do dvou dní na fakturačním oddělení.
13. Fakturantka na základě objednávky a zakázkového listu vystaví do pěti pracovních dní od dokončení prací fakturu a odešle zákazníkovi.
No a teď si představ, že v 7 ráno na desetiminutové poradě s rozdělováním zakázkových listů budou někteří z nich řešit, že se nebude volat, protože někdo má vybitý telefon, nebo že odevzdání podepsanýho papíru do dvou dní je šikana a že stačí ho odevzdat za dva týdny, protože chce jet soukromým autem a z montáže rovnou na dovolenou... Seřvat, pohrozit dvěma měsícema bez odměn a je klid. Jenom nejmenovaná slečna lejnometka by pak začala na webu řešit, jak jí šéf ubližuje a sepisovat žalobu...
A nepsal jsem, že každá firma je jiná?
Ano, a pak ses tady zacal rozplyvat nad procesama. Kazdy si udela obrazek sam.
A když už musíš mít na každou činnost standardní postup
Coz jde udelat pouze u cinnosti, ktere se rutinne opakuji.
A abys neřekl, ukázka procesu:
Ano, redukujeme cloveka na chodiciho robota. Pokud od lidi ocekavas alespon trochu kreativni praci (jako je vyvoj software) a to, ze nad svou praci budou premyslet, tak je tento pristup nejlepsi zpusob, jak v nich ubit jakekoliv nadseni a produktivitu.
Seřvat, pohrozit dvěma měsícema bez odměn a je klid.
A pripadas si pri tom rvani na lidi dulezitejsi?
Ano, a pak ses tady zacal rozplyvat nad procesama. Kazdy si udela obrazek sam.
Tys nepochopil, že bez procesů to prostě nejde? A že některý jsou daný zákonem?
- BOZP - podepíšeš papír, kde jsou popsaný pravidla, když se ti něco stane, řeší se to na téhle úrovni. Zákon to tak požaduje, mají to tak absolutně všichni.
- Lékařská prohlídka zaměstnance - požadováno zákonem, kdy a jak se objednat k dokktorovi a jak žádat o proplacení už je interní proces
- Zpracování mezd - kdy odevzdat výkaz práce, co v něm má být, kdo schvaluje dovolenou - interní proces, i když v malé firmě často nepsaný
- Fakturace projektu - kdo a kdy dodá podklady, co tam má účetní započítat - interní proces
- RZD - kdy komu dodat podklady a kdy to kde podepsat = proces (často i jednorázově popsaný v mailu jednou ročně)
- ...
Coz jde udelat pouze u cinnosti, ktere se rutinne opakuji.
Ne nutně. Můžeš mít definovaný proces, který není rutinní a ani nechceš, aby se jím stal. Například zpracování reklamace, vyhazov zaměstnance,...
Ano, redukujeme cloveka na chodiciho robota...
Takže proto, že je někdo "tvůrce", nebude akceptovat standardní postup nákupu licencí, nebude dodržovat pravidla pro používání GITu, který se dohodly, výkaz práce za duben odevzdá v červnu a firma fakturu za jeho práci uvaří z vody. A daně odvede, až se mu bude milostivě chtít. Zaměstnanec je prostě zaměstnanec, bez ohledu na to, jestli pracuje hlavou, rukama nebo přirozením.
Ale pravdu máš v tom, že v "lean manufacturingu" je jako jeden ze sedmi druhů plýtvání i tzv. "overporcessing" a to byl jeden z důvodů, proč jsem dal v korporátu výpověď. Korporát se totiž od malé firmy liší tím, že v malé firmě si musí člověk na sebe vydělat, takže jedinec, co se jenom drápe na zadku a jenom prezentuje, co všechno ve firmě vylepšil (formou vymýšlení závazných nesmyslných směrnic) dokáže zabít produktivitu dokonale. Co jsem v korporátu zažil, to by vydalo na knížku.
A pripadas si pri tom rvani na lidi dulezitejsi?
Ne, ale pokud někdo nemá dost inteligence, aby normálně pochopil, že pro dosažení výsledku musí spolupracovat a že není takový eso, aby se kvůli němu přepisovaly zákony a měnil chod firmy, tak první stupeň je vysvětlení, proč to tak je. Když na tom trvá, druhý je kartáč na koberečku.
Dobře, jiný příklad. Do osobního dotazníku máš napsat kontakt na osobu blízkou pro případ úrazu. Je to kvůli procesu, který se běžně nepoužívá, protože smrťáků a těžkých úrazů mezi programátorama moc není (možná infarkt po sto třicátým kafi nebo mrtvice z rozhovoru s tou slečnou), ale firma s touto eventualitou počítá a má připravený nějaký postup, že si ze složky na personálním šéf vyžádá kontakt a informuje rodinu...
@Petr M
V pořádku, jenom mě rozesmálo to s (ne)rutinou a vyhazovem :-D
Já proti procesům nic nemám, aspoň je jasno a ne že pak někdo za týden přileze a začne rozumovat, co se mělo, nemělo a mohlo . . . a pak, místo vymýšlení splnění možného i nemožného s čím by kdo mohl pružně přilézt, má člověk jakýsi klid na práci a zlepšení.
Tys nepochopil, že bez procesů to prostě nejde?
A tys nepochopil, ze nejsem proti procesum en bloc. Ale jsem proti tomu, aby ve firme byl proces na kazdy prd, vcetne toho, kdo posle vdove kvetiny v pripade nehody.
Ne nutně. Můžeš mít definovaný proces, který není rutinní a ani nechceš, aby se jím stal. Například zpracování reklamace, vyhazov zaměstnance,...
Nebo danou vec resit jako clovek podle aktualni situace.
Zaměstnanec je prostě zaměstnanec, bez ohledu na to, jestli pracuje hlavou, rukama nebo přirozením.
Ano. Spisovatel, grafik nebo obrabec kovu, vsichni musi plnit normy a drzet hubu.
Kdyz jsou ty procesy tak bajecne, proc velke korporace vsechny "nove myslenky" resi nakupem malych firem nebo vytvorenim "internich startupu", ktere jsou odstineny od tradicnich zabehlych internich procesu?
Ale jsem proti tomu, aby ve firme byl proces na kazdy prd, vcetne toho, kdo posle vdove kvetiny v pripade nehody.
To já taky, ale proč furt dokola vymýšlet kolo? Ona standardizace procesu může být i nepsaná, když v nějaké situaci zkušenější zaměstnanec ukáže míň zkušenýmu, jak to řešili posledně.
Nebo danou vec resit jako clovek podle aktualni situace.
Jasně, a elektrikář bez znalosti souvislostí bude improvizovat a řešit jako člověk, že mu zavazí trubka v pohodlnějším přístupu, umístěním rozvaděče NN na druhou stranu zdi. A vůbec mu při tom nevadí, že dá bednu v IP20 do EXové zóny, že... Zákazník to neproplatí a dolož tomu, "co to řešil jako člověk", že porušil nařízení, když žádný neexistuje...
Ano. Spisovatel, grafik nebo obrabec kovu, vsichni musi plnit normy a drzet hubu.
Pokud je zaměstnanec, diskutovat může maximálně neformálně u oběda. Pokud jde o kšeft, tak se prosadí názor toho, kdo to platí - managementu, zákazníka, akcionáře, ... Přebít je může jenom legislativa. To je prostě realita. Schválně, zkus zákazníkovi říct, že jste si odhlasovali, že mu dodáte stroj s polovičním výkonem. Nebo říct šéfovi, že jsi se s kolegou shodnul, že 64GB RAM je pro zákazníka škoda, tak jste mu dali jenom 32GB a po 16GB jste si vzali domů...
Kdyz jsou ty procesy tak bajecne, proc velke korporace vsechny "nove myslenky" resi nakupem malych firem nebo vytvorenim "internich startupu", ktere jsou odstineny od tradicnich zabehlych internich procesu?
Příklad z praxe. Měli jsme oddělení o pěti lidech, co mělo řešit průšvihy ohledně bezpečnosti práce, školit BOZP a přijímat bezpečnostní opatření. Ale na školení stačil jeden, pár měsíců se nikdo nezranil. Potřebovali vykázat činnost, tak psali směrnice.
Byli jsme v třípatrovým baráku bez výtahu. Jeden týden vyšla směrnice o nošení břemen, která ukládala držet nesenou věc oběma rukama. Druhý týden vyšla směrnice pro chůzi po schodech, která říkala, že při chůzi po schodech musí být v kontaktu se schodama zaměstnanec v každým okamžiku minimálně třema končetinama, tj. zvedneš nohu, tak druhá noha musí být na schodku a dvě ruce na zábradlí. Zkus tam "legálně" dostat pětikilovou krabici 30x30x30cm o patro výš bez pojebu.
To ja si radsi najmu 3 lidi ... bez certifikaci, protoze tam vim, ze kdyz budu neco resit, tak to budu resit s tim co to programuje, a ne s nejakym marketingoveobchodnim kokotem, kerej vlastne vubec netusi, co po nem chci.
Protoze pak to dopadne tak, ze mu reknu ze ty nohy u ty zidle by zaslouzily pricku aby to neco vydrzelo ... a za 1/2 roku dostanu zebrik.
"Comcast & Verizon want to end net neutrality so they can control what we see & do online."
Parchanti! Ze se nestydi lezt Googlu a Facebooku do zeli. A jeste po nich urcite chteji vypalne za to, ze se pouziti dotanou na jejich servery. Rychle vsichni protestujte proti ohrozeni korporatnich molochu...err... svobode na internetu!
K CERNu, pro představu, jak se na LHC nakládá s daty:
přednáška "DAQ - Filtering Data from 1 PB/s to 600 MB/s"
http://cds.cern.ch/record/2200792
Tým američanom už načisto.. Absolútne nechápem ich postoj ku Kaspersky Labs. Je to jediné antivírusové riešenie - ktorému verím. Keď američania vymysleli STUXNET tak ho odhalili v Rusku. Všetky ostatné antivírusové firmy MALI DOBRE VZTAHY S ADMINISTRATIVOU v USA a MLCALI. Samozrejme chápem americké snahy, aby armáda USA nepoužívala ruský softvér - čo je tá najnormálnejšia vec - asi ani Rusi nebudú používať na svojich "odpalovacích rampách" Symantec :-). Navyše Kaspersky Labs pridal plyn - má vlastný OS a aj vlastný hardvér - to je zrejme to čo je v tŕňom v oku USA - aby sa do sveta nedostalo ruské železo, ktoré NSA nevie hacknúť.
K intelu vs AMD - toto je divadlo pre lamy. Aj Intel aj AMD obsahuje hardvérové backdoory a žiaľ aj ARM - takže je to úplne jedno - toto je len pre verejnosť také divadlo. BTW - samozrejme, že si kúpim AMD lebo je lacnejšie :-)