<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[infinite grapes]]></title><description><![CDATA[harness information flow]]></description><link>https://infinitegrapes.sk/</link><image><url>http://infinitegrapes.sk/favicon.png</url><title>infinite grapes</title><link>https://infinitegrapes.sk/</link></image><generator>Ghost 3.37</generator><lastBuildDate>Fri, 03 Apr 2026 22:43:08 GMT</lastBuildDate><atom:link href="https://infinitegrapes.sk/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Plánovanie]]></title><description><![CDATA[Sú situácie, kedy (snaha o) detailné plánovanie v rámci softvérového vývoja má zmysel. 
Myslieť si, že v úvodnej fáze (v rámci PRINCE2 iniciačná fáza) projektu superhrdina projektový manažér spolu s tímom zorchestrujú dokonalú WBS-ku je z mojich skúseností nemožné.]]></description><link>https://infinitegrapes.sk/planovanie/</link><guid isPermaLink="false">5fe1cd644232b85f7e95c07e</guid><category><![CDATA[project]]></category><category><![CDATA[management]]></category><category><![CDATA[planning]]></category><category><![CDATA[agile]]></category><category><![CDATA[roadmap]]></category><category><![CDATA[estimation]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Mon, 04 Jan 2021 10:16:53 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2021/01/infinite-roadmap.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2021/01/infinite-roadmap.jpg" alt="Plánovanie"><p>Sú situácie, kedy (snaha o) detailné plánovanie v rámci softvérového vývoja má zmysel. Nenaplánovať si napríklad kroky pre <em>migráciu,</em> ich logickú nadväznosť, teda nemať plán pre takúto činnosť, nie je vôbec dobrý nápad. </p><p>Úlohy, v rámci softvérových projektov možno rozdeliť do dvoch skupín:</p><ul><li>tie ktoré si viem predstaviť (že bude treba urobiť) - <em><strong>imagined tasks</strong> </em> - čím viac skúsenosti máš, tým lepšie si vieš "predstavovať"</li><li>tie ktoré objavím počas realizácie - <em><strong>discovered tasks</strong> - </em>v komplikovaných alebo komplexných systémoch si môžeš predstavovať koľko chceš, nedáš to na 100%. Hlavne, vždy Ťa tlačí čas. Nemôžeš sa pripravovať, plánovať, donekonečna.</li></ul><p>Je omnoho menej stresujúce, ak viem, že migrácia, ktorá má prebehnúť v stanovenom časovom rámci, postupuje podľa plánu, a keď aj objavím (discover) počas jazdy novú úlohu, tak sa mi sa lepšie dáva do kontrastu s niečím fixovaným (mojím migračným plánom).</p><p>Myslieť si však, že v úvodnej fáze projektu (v rámci PRINCE2 iniciačná fáza) superhrdina projektový manažér spolu s tímom zorchestrujú dokonalú WBS-ku je z mojich skúseností nemožné. Takáto WBS-ka automaticky trpí tým, že do nej je pridaná vata, keby sa náhodou niečo nestíhalo, alebo sme na nejaké úlohy zabudli (cost of delay v priamom prenose).</p><h2 id="identifik-cia-kl-ov-ch-loh">Identifikácia klúčových úloh</h2><p>Ako večný optimistia, si samozrejme na začiatku projektu myslím, že sa všetko podarí. Ale CEO nezabudne položiť obľúbenú otázku: <em>A kedy to bude?</em></p><p>Používam tieto aktivity, aby som sa dostal k roadmape, ktorá reprezentuje špecifický druh plánu:<br>1) identifikovať základné okruhy funkcionalít (epics) <br>2) identifikovať role (aj robotov), ktoré s budúcim softvérovým riešením budú interagovať<br>3) rozbiť na základné okruhy funkcionality do user stories <br>4) identifikovať integračné závislosti<br><br>Postup v týchto aktivitách nie je výsostne chronologický. Človek preskakuje z jednej aktivity na inú, dopĺňa a modifikuje jednotlivé <em>artefakty</em> (epics, user stories, roles, integrations).</p><p>Eposy sú niekedy výsledkom syntézy. Reflektujúc cieľ projektu, už realizačnému tímu začnú preblikovať možné spôsoby riešenia. <em>Potrebujeme manažment objednávok, potrebujeme vystavené faktúry automaticky zaúčtovať, ...</em>  Eposy majú za úlohu dať do spoločných mantinelov konkrétne funkcionality definované pomocou user stories. Niekedy dostaneme epos rovno na stôl. Zadávateľ (zvyčajne CEO) príbehne rovno s návrhom na riešenie (<em>potrebujem aplikáciu na manažovanie dodávateľov</em>), čo je samo o sebe epos. Netreba však hneď skočiť na analýzu a rozbitie na user stories, kým sa kriticky nepozriem na to, prečo. Ono, väčšina CEO má samozrejme pádne a zmysluplné dôvody, ktoré nechcem principiálne spochybňovať. Ale CEO v snahe byť super efektívny, nechcú zdržovať detailami, a dôvodmi. Tie sú však perfektným referenčným bodom počas celého snaženia identifikácie spôsobu riešenia. <em>Približuje nás to, čo sme navrhli, k odstráneniu problému, ktorý má CEO?</em><br><br>Takmer žiaden systém (aplikácia) neexistuje vo vákuu, je závislý na informáciach (dátach) z iných systémov, alebo má informácie iným systémom poskytovať, takže treba jednoduchým spôsobom (diagram s krabičkami a šípkami) zdokumentovať očakávané dátové toky. Obdĺžnik - predstavuje izolovanú aplikáciu, a šípky - predstavujú dátový tok/výmenu.</p><h2 id="prioritiz-cia">Prioritizácia</h2><p><br>Ak už som v štádiu, že môj zoznam user stories, identifikovaných rolí a predpokladaných integrácii, je ako tak stabilizovaný, môžem pristúpiť k dvom aktivitám:<br><strong>1) identifikácia kľúčových funkcionalít (čo)</strong><br>úprimne si odpovedať, či je fakt nevyhnutné tú ktorú user story implementovať, aby celé riešenie zafungovalo. Ja zvyknem používať prioritizovanie pomocou číslovania (1 - musí byť, 5 - nice to have), v praxi sa často používa aj MoSCoW - Must, Should, Could, Would. Ak sa prichytíš, že nejaká funkcionalita je mixom Must/*, tak sa nebráň rozbiť user story tak, že obsahuje iba nevyhnutne minimum (Must) a ostatné (Should/Could/Would) sa dostane do samostatnej story s nižšou prioritou.<br><strong>2) časové zarámcovanie (kedy)</strong><br>Ak zoberiem všetky Must funkcionality, tak viem, čo nevyhnutne musím urobiť, aby riešenie začalo prinášať hodnotu. Ak si počul skratku MVP, minimum viable product, tak sumár Must funkcionalít je práve jeho stelesnením.</p><h2 id="odhadovanie">Odhadovanie</h2><p>O odhadovaní (čo je predispozícia pre plánovanie) softvérových projektov bol napísaný nespočet <a href="https://en.wikipedia.org/wiki/The_Mythical_Man-Month">kníh</a>, blogov a alchymistických príručiek. Ja sa držím dvoch prístupov, ich kombinácie:</p><ul><li> "expertný" odhad</li><li> time box</li></ul><p>Nechcem byť úplne vo vzduchoprázdne, a ani nahrubo nemať šajn, koľko niečo môže trvať. Je lepšie mať aspoň niečo ako nič, a tak si môžem expertný odhad stanoviť: <em>jedna user story bude trvať programátorovi dva dni</em> (prvý deň kým ju pochopí, premyslí, druhý kým ju dotiahne). Ak si chceš preštudovať ako k odhadovaniu pristupuje agilný svet, tak neváhaj a daj do google výrazy ako: story points, t-shirt size, velocity, planning poker...</p><p>Moja rada vyššie je v rámci prvých nesmelých pokusov o odhad "len" hypotéza. Psst, odhad je vždy len hypotéza. Ak si v informačnej nevýhode, respektívne nemáš chuť robiť rozborku toho, ako dlho by sa mal implementovať jednoduchý formulár v REACTe, je vo všeobecnosti lepšie použiť timebox.</p><p>"Expertný" odhad urobí vývojar (dodávateľ), ty definuješ mantinel: čo mi viete realizovať za timebox (napríklad prvú iteráciu, či už bude 2 týždňová, alebo dlhšia)?</p><p>Ak niekomu nastavíš mantinel, začne aplikovať prioritizáciu, a zároveň táto dynamika podporuje hľadanie alternatív (áno, aj workaroundov), resp. človek získava spätnú väzbu v zmysle, že " toto nie je možné urobiť" (v danom čase).</p><p>Ak idem do Tesca kúpiť rožok, tak viem, čo za tých 10 centov dostanem.<br>Jasné, že softvérové riešenia, nie sú rohlíky, ale ak sa softvérová firma špecializuje (robí napríklad výhradne PrestaShop eshopy), tak sa ich proces výroby eshopového riešenia a manažment potrieb zákazníka začína približovať výrobe rohlíka. Preto generické softvérové domy majú v mojej optike nevýhodu voči tým, ktoré sa špecializujú. <strong>Špecialisti sa vedia zaviazať k tomu, že očakávaný výsledok dodajú aj v kratšom čase, keďže je to ich denný chleba</strong>. Ja potom ako zákazník zase nemôžem slepo žiadať od nich cenu referovať na time&amp;material. Oni mi nepredávajú len svoj čas, oni mi predávajú aj skúsenosti, ktoré rokmi nadobudli.</p><p>Ako platiaci zákazník, ktorý obstaráva riešenie dodávateľsky, je mi v princípe jedno ako si dodávateľ vypočíta náklady (na scope). Mňa zaujíma viac hodnota, prínos, ktorá mi bude dodaná. Ak si začnem hovoriť, že peniaze, ktoré som nalial do riešenia sa mi prestali zhodnocovať, je to začiatok konca vzťahu s dodávateľom, ak nepríde k zmene. To je memento k tomu, že riešenia (dodávky) majú slúžiť, nie byť slepo realizované.</p><h2 id="roadmapa">Roadmapa</h2><p><br>To k čomu sa ja snažím dopracovať teda nie je dokonalý plán na dni. Snažím sa dopracovať k roadmape, ktorej časová granularita je maximálne v týždňoch, zvyčajne v mesiacoch, na ktorej sú zachytené eposy (s logickou následnosťou).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://infinitegrapes.sk/content/images/2021/01/infinite-roadmap-1.jpg" class="kg-image" alt="Plánovanie" srcset="http://infinitegrapes.sk/content/images/size/w600/2021/01/infinite-roadmap-1.jpg 600w, http://infinitegrapes.sk/content/images/size/w1000/2021/01/infinite-roadmap-1.jpg 1000w, http://infinitegrapes.sk/content/images/size/w1600/2021/01/infinite-roadmap-1.jpg 1600w, http://infinitegrapes.sk/content/images/2021/01/infinite-roadmap-1.jpg 1920w" sizes="(min-width: 720px) 720px"><figcaption>Roadmapa (štvrťroky)</figcaption></figure><p>Roadmapa nie je vytesaná do kameňa, práveže ju potrebujem aktualizovať reflektujúc to, čo sa už udialo. Agilný prístup je práve o tom, že reflektujem, to čo sa udialo a na základe toho mením smerovanie, priority.</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[5 ideálov - zameranie na zákazníka (5/5)]]></title><description><![CDATA[Nepočúvajme slepo a poslušne, čo máme urobiť. Už nie sme v škole.😄 Zisťujme, prečo to máme urobiť, čo je ten dôvod (problém, výzva, cieľ), ktorú sa snažíme adresovať pomocou softvérového riešenia.]]></description><link>https://infinitegrapes.sk/5-idealov-zameranie-na-zakaznika/</link><guid isPermaLink="false">5f94a7b9ec65161b83a9a99c</guid><category><![CDATA[agile]]></category><category><![CDATA[project]]></category><category><![CDATA[management]]></category><category><![CDATA[software]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Mon, 21 Dec 2020 08:31:42 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/12/PXL_20201221_074714932.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/12/PXL_20201221_074714932.jpg" alt="5 ideálov - zameranie na zákazníka (5/5)"><p><em><em><em><em><em><em><em><em>Z blogchainu: 5 ideálov, ako ich pomenoval a definoval Gene Kim v knihe The Unicorn Project</em></em></em></em></em></em></em></em></p><p>Keď počujem z úst projektového manažéra "<em>však si povedzte, ako to chcete" </em>otvára sa mi nožík vo vrecku.</p><p><strong>Nepočúvajme slepo a poslušne, čo máme urobiť. </strong>Už nie sme v škole.😄 Zisťujme, prečo to máme urobiť, čo je ten dôvod (problém, výzva, cieľ), ktorú sa snažíme adresovať pomocou softvérového riešenia. Pochopenie potreby, dizajn produktu (služby), produktový manažment je nadmnožinou projektového manažmentu. Ak nemá nikto z tímu formálne rolu produktového manažéra (vlastníka), mal by si ju zobrať neformálne. Stať sa adoptívnym oteckom/mamičkou budúceho softvérového riešenia.</p><p>Treba byť k tomu, čo si zadávateľ myslí, že je vhodné riešenie, kritický. Samozrejme, nielen kritický, ale aj konštruktívny. Nemôžem len zhadzovať nápady, požiadavky, potrebujem aj ponúkať alternatívy.</p><p>Zákazníci radi používajú tvrdenie "<em>keď to uvidím, poviem, či to je ono"</em>. Ok, dajme k dispozícii zákazníkom túto možnosť, iteratívny prístup vývoja ju dokáže adresovať. V neistom prostredí je možné si pomôct ešte pred samotným vývojom namockovaním dizajnu, alebo wireframes, ak miera neistoty, čo sa má stať riešením je vysoká.</p><blockquote>It seems more important to please the boss, go to meetings and keep the numbers on track than it is to fix what might not feel broken.</blockquote><p>Zdroj: <a href="https://seths.blog/2020/12/insulation-from-the-user-experience/">https://seths.blog/2020/12/insulation-from-the-user-experience/</a></p><p>Verím, že vyššie uvedené nie je tvoj prípad. </p><h2 id="kto-je-to-ten-z-kazn-k">Kto je to ten zákazník?</h2><ul><li>je to <strong>stakeholder</strong>, ktorý rozhoduje o tom, koľko peňazí do riešenia nalejeme, s tým, že očakáva, že  sa v konečnom dôsledku realizáciou riešenia začne šetriť, alebo zárábať viac?</li><li>je to <strong>používateľ</strong>, ktorý bude s daným riešením priamo interagovať?</li><li>je to konečný <strong>platiaci zákazník</strong>, ktorý platí za produkt, alebo službu, ktorá je mu poskytnutá a softvér, ktorý práve vyvíjame je nejakou časťou do skladačky, aby sme službu koncovému zakazníkovi poskytovali efektívnejšie, lepšie?</li></ul><p>V rámci zákazkového vývoja softvéru sú to všetky 3 skupiny. Tímy, ktoré vyvíjajú svoj vlastný softvérový produkt priamo pre koncových platiacich zákazníkov, môžu inšpiráciu ako (samo)riadiť vývoj hľadať v metóde <a href="https://basecamp.com/shapeup">Shape up</a>.</p><h2 id="ako-zladi-vz-jomn-o-ak-vania">Ako zladiť vzájomné očakávania?</h2><p>Moja zásada znie, že <strong>user stories má vedieť napísať každý</strong>. Nielen analytik, alebo product owner (PO), alebo vývojár. Je to taká spoločná reč, forma pre spoločnú diskusiu. Nechcem, aby sa produktový vlastník (product owner) stal superhrdinom, ktorý je jediný zodpovedný za napísanie každej user story.</p><p><a href="https://infinitegrapes.sk/user-story"><strong>User stories</strong></a><strong> sú zápisom návrhu riešenia</strong>. Pred tým, než sa pustím do vývoja riešenia, potrebujem pochopiť, čo je motiváciu, pre jeho hľadanie. <a href="https://infinitegrapes.sk/job-story"><strong>Job stories</strong></a> sú zápisom pre zachytenie situácie, v ktorej sa zákazník (používateľ) nachádza, a odkrývajú jeho motivácie, kauzalitu. <strong>Vďaka popisu štruktúrovaným spôsobom, viem informácie </strong>prenieť na zvyšok riešiteľského tímu pre hľadanie, pomenovanie riešenia.</p><p>Vedúci pracovníci by nemali byť tí, ktorí rozhodnú a odovzdajú dielčie úlohy. Mali by odovzdavať víziu, a umožniť každému, kto sa na riešení podiela, pridať ruku k dielu, v rámci jeho skúseností ho splnomocniť, a v prípade problémov, pomôcť odstraňovať prekážky, aby sa samotné tímy, mohli realizovať.</p><h2 id="rem-za-ako-vyberieme-to-najlep-ie-rie-enie">Remíza. Ako vyberieme to najlepšie riešenie?</h2><p>Jake Knapp napísal knihu <a href="https://www.martinus.sk/?uItem=263001">Design sprint</a>, v ktorej je popísaný kompletný návod, ako vygenerovať nápady na riešenia problémov a výziev, a s jedným konkrétnym aj začať a skúsiť ho zvalidovať. A to všetko v rámci jedného pracovného týždňa. A práve so zameraním na zákazníka.</p><p>Pointa Jake-ovej knihy v jednej vete: potrebuje jedného facilitátora, ktorý riešiteľský tím daným procesom prevedie. Jonathan-ovi Courtney-ovi zmenila táto kniha život, fakt, nekecám😄.  Tiež napísal šikovnú malú príručku, ako sa stať tzv. workshopperom - <a href="https://www.workshopperplaybook.com/book-choice">Workshopper playbook</a>. Majstrom facilitátorom v riadení workshoppov, ktoré neskončia bez hmatateľných výsledkov.</p><p>Apropos, ak ako riešiteľská skupina vygenerujeme viac nápadov, ako si potom vyberieme ten najlepší? Jednoducho: budeme hlasovať. Nie sú to nejaké komplikované techniky. Každý z riešiteľského tímu dostane rovnaký počet bodov, a proste sa návrhy obodujú.  Ak by náhodou bola <em>remíza</em>, je potrebné zavolať pre rozhodnutie HIPPO (highest paid person in organisation), a ten by mal urobiť finálne rozhodnutie.</p><p>Ak si projektový manažér, týmto reklamným blokom sa Ti snažím povedať len toľko, že nebuď v roli príjmača objednávky, postav sa do role facilitátora, ktorý pomáha (tímu) hľadať riešenie, dáva priestor na vyjadrenie každému, a keď to vypadá, že sa nie je možné pohnúť, použije zdravý sedliacky rozum (facilitačnú techniku), aby situáciu odblokoval.</p><h2 id="nerobme-so-z-kazn-ka-rukojemn-ka">Nerobme so zákazníka rukojemníka</h2><p>Hnevá ma, ak dodávatelia softvérových riešení slepo naimplementujú pre zákazníka blbosť, a potom z neho ešte vyťahujú peniaze zmenovými konaniami.</p><p><strong>Potrebujeme odkryť, pochopiť, akú hodnotu sa snaží zákazník dopytovaním riešenia adresovať.</strong> Ak napríklad pochopím, zistím, že reálna projektovaná úspora, ktorú zákazník získa automatizáciou je 10 000 eur/mesačne, tak na základe toho dokážem, lepšie operovať s možnými alternatívami, ako keď to bude 1000eur/mesačne. Snažme sa odkryť na akej škále zákazník operuje, aby sme mu neponúkali vesmírne technológie, keď potrebuje len upratať svoj vlastný proces. </p><p>Ak ste  partner pre svojich zákazníkov (pre ktorých dodávate SW riešenia), akékoľvek obvinovanie 3tích strán (iných dodávateľov), treba pustiť z hlavy. Neni som naivný, že sa nestanú situácie, ktorým by sme sa radšej vyhli. Treba dať hlavy dokopy a pozrieť ako sa takýmto situáciam do budúcna vyhnúť.</p>]]></content:encoded></item><item><title><![CDATA[Agile vs. waterfall]]></title><description><![CDATA[<p>Pár dní späť som so záznamu počúval <em>battle</em> medzi Dušanom Kocúrekom a Róbertom Kormaňákom <a href="https://www.youtube.com/watch?v=jg48sevTPRA">Agile vs Watterfal</a>. </p><p>Nemám nič proti tvrdeniu, že dľa projektu, uvážime metodiku. Ale takéto vyjadrenie, nemá šancu rozprúdiť diskusiu. 😎 </p><p>Ja sa častejšie ako menej často pohybujem okolo SW projektov/produktov v neistom (darmo si CEO bude</p>]]></description><link>https://infinitegrapes.sk/agile-vs-waterfall/</link><guid isPermaLink="false">5fdb15889201553e09d5296b</guid><category><![CDATA[agile]]></category><category><![CDATA[waterfall]]></category><category><![CDATA[software]]></category><category><![CDATA[development]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Thu, 17 Dec 2020 08:26:47 GMT</pubDate><content:encoded><![CDATA[<p>Pár dní späť som so záznamu počúval <em>battle</em> medzi Dušanom Kocúrekom a Róbertom Kormaňákom <a href="https://www.youtube.com/watch?v=jg48sevTPRA">Agile vs Watterfal</a>. </p><p>Nemám nič proti tvrdeniu, že dľa projektu, uvážime metodiku. Ale takéto vyjadrenie, nemá šancu rozprúdiť diskusiu. 😎 </p><p>Ja sa častejšie ako menej často pohybujem okolo SW projektov/produktov v neistom (darmo si CEO bude do excelu projektovať plánované výnosy), alebo v komplexnom prostredí (komplexnosť IT architektúry, v ktorej SW je, alebo bude do nej integrovaný).</p><h2 id="postrehy-k-agile-a-waterfall-svetom">Postrehy k agile a waterfall svetom</h2><p>Agile (lean) prístup vo všeobecnosti podnecuje <strong>transparentnosť</strong> (zápisy vo forme user stories), <strong>zastupiteľnosť</strong> (tímová práca) a <strong>lepšie sa pasuje s neistotou</strong> (priebežná exploration, PDCA, hypotézy). </p><p>Bojím sa, či <strong>projektový manažér </strong>(PM) nemá byť super hrdina, čo všetko dokáže (zorchestruje takmer dokonalú WBS), a vďaka PRINCE2 má všetko pod kontrolou, čím sa zároveň sám <strong>stáva jedným z rizík projektu</strong>. </p><p>Kto nedáva <strong>vatu do WBS</strong>? Pridaním <em>vaty</em> sa automaticky oddaluje interakcia skutočného softvéru so zákazníkom, používateľom. </p><p>Áno, idylku, v ktorej dokáže  fungovať <strong>samoriadený agilný tím, nie je jednoduché dosiahnuť,</strong> a skôr sa takéto nastavenie podarí zrealizovať s viac seniorskejšími ľudmi. Ale ja by som sa skôr o takéto snažil.</p><p>Agilný spôsob riadenia je nachýlný viac k tomu, že sa môže <strong>začať iterovať bez vízie</strong>, t.z. že sa neurobí fáza iniciácie. A potom sa to nehospodárne pláta. Sú však aj na toto opatrenia (mockupy, wireframes).</p><p>Agilný prístup viac operuje v okruhu produktového manažmentu, v hľadaní efektívnej aplikácie snaženia tímu ľudí na vylepšenie hodnoty (pre koncového zakazníka). Je lepšie mať <strong>stabilný tím, ktorému sa dohadzuje práca</strong>, ako skladať vždy nový tím per projekt.</p><p>Z môjho (mála) skúsenosti si<strong> projektový svet často ide v režime order takera</strong>, ktorý dodá to, čo je mu rozkázané, dopytované, a často sa zabudne kriticky pozrieť na to, čo zákazník žiada. V čom je vlastne hodnota v očiach zákazníka. Táto informácia pomáha zosúladiť vzájomné očakávania a organizovať priority.</p>]]></content:encoded></item><item><title><![CDATA[5 ideálov - psychologická bezpečnosť (4/5)]]></title><description><![CDATA[Ak sa stane chyba, nehrajte blame game „Karol je na vine!“. Buďme ako tímoví hráči. Zistime, čo môžeme v budúcnosti urobiť lepšie, aby sa takáto situácia už nezopakovala (nikomu v tíme). Ako môžeme túto chybu v budúcnosti systémovo eliminovať.]]></description><link>https://infinitegrapes.sk/5-idealov-psychologicka-bezpecnost/</link><guid isPermaLink="false">5f3e3ae7ec65161b83a9a66d</guid><category><![CDATA[happiness]]></category><category><![CDATA[personal]]></category><category><![CDATA[work]]></category><category><![CDATA[innovation]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Sat, 24 Oct 2020 22:12:51 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/10/inifnite---psychological-safety.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/10/inifnite---psychological-safety.jpg" alt="5 ideálov - psychologická bezpečnosť (4/5)"><p><em><em><em><em>Z blogchainu: 5 ideálov, ako ich pomenoval a definoval Gene Kim v knihe The Unicorn Project</em></em></em></em></p><h3 id="naform-tovan-na-obavy">Naformátovaní na obavy</h3><p>Škola nás (bude nás asi stále dosť) "naformátovala", že robenie chýb sa trestá. Strach z urobenia chyby nás následne rôznymi spôsobmi paralyzuje. Škola nás nastavila, aby sme vyhoveli požiadavkám autorít (zvládnuť test), nie aby sme sa zameriavali na riešenie problémov (v ktorých riešení vidíme sami zmysel, potrebu). Táto istá dynamika prenesená do pracovného prostredia znamená, že dosť veľa energie venujeme tomu, aby sme  v rámci politických manévrov v kancelárii (office politics) niekomu nestúpili na otlak alebo sa mu snažili zapáčiť.</p><p>Túto energiu by bolo vhodnejšie presmerovať do spoločného riešenia problémov, a nastaviť sa tak, že si vzájomne dôverujeme. A ak sa aj nejaký výkuk v tíme nájde, tak ho v rámci spoločných retrospektív - pravidelná reflexia dobrého i zlého z posledného obdobia za účelom identifikácie udržiavacích/nápravných opatrení - postavíme na svetlo sveta.</p><p>Nechcem Ťa tu motivovať, aby si sa bezhlavo vrhal na akýkoľvek problém bez rozmyslu, bez váhania veril svojim inštinktom. Ale ak sa prichytíš pri obavách, skús si dať odstup a racionalizovať, aký je možný najhorší scenár. </p><p>Počet takých, čo dosahujú dobré výsledky pod stresom, alebo v strachu, sa limitne blíži k nule. Potrebuješ byť v pohode. Ak máš šéfa, čo Ťa "straší" (teraz tým nemyslím až mobbing), tak ho buď pošli do hája (odíď), alebo prečítať si tento článok.</p><h3 id="blameless-postmortem">Blameless postmortem</h3><p>Ak sa stane chyba, tak ako tímoví hráči, nehrajme <em>blame game</em> "za to môže Karol!". Ako tímoví hráči sa pýtajme, čo môžeme urobiť do budúcna, aby sa taká situácia neopakovala. Čo sme mohli urobiť inak, ešte skôr ako sa táto chyba stala. Ako môžeme túto chybu do budúcna eliminovať systémovo.</p><blockquote>You are in an organization where everyone is making decisions, solving important problems every day, and teaching others whay they’ve learned… Your victory is inevitable.<br>Zdroj: The Unicorn project</blockquote><p>Bezpečné prostredie je charakterizované tým, že:</p><ul><li>nemáš problém povedať, že máme (niekde) problém. Že sa neobávaš toho, že budeš za Ťa za to šéf pokefuje, alebo sa kolega bude cítiť dotknutý.</li><li>nemáš problém povedať "ja neviem". Aj keď si šéf.</li><li>máš priestor sám robiť rozhodnutia, a ak by aj boli zlé, tak neskončíš hneď "na koberčeku".</li></ul><h3 id="h-adanie-zmyslu-ivota-">Hľadanie zmyslu (života)</h3><p>V knihe Hľadanie zmyslu života Viktor Frankl popisuje svoje osobné skúsenosti z koncentračného tábora. Jeho "zážitky" sa stali základom pre logoterapiu (doslovne povedané liečenie cez zmysel). Všetci jeho spoluvezni, ktorí v nejakom okamihu svojho pobytu v koncentračnom tábore stratili zmysel svojho života (aj keď v danej situácii vypadal ako veľmi ťažko dosažiteľná méta), sa zakrátko stali obeťami (zomreli).</p><p>Cez tento veľmi zvláštny záver Ti chcem len pripomenúť: čo je tým zmyslom v tvojej práci? Je to riešenie konkrétnych výziev (problémov) v bezpečnom priestore, samozrejme nie však úplne bez rizík, alebo manévrovanie na hranici strachu a psychologického vypätia v nevyspytateľnom vesmíre kancelárskej politiky?</p>]]></content:encoded></item><item><title><![CDATA[5 ideálov - vylepšovanie (procesu) práce (3/5)]]></title><description><![CDATA[Nech si akokoľvek budeš myslieť, že dokážeš pri svojej práci efektívne multitaskovať, musím ťa vyviesť z omylu. Prehnaným prepínaním kontextu strácaš pozornosť, ktorú musíš znova nadobudnúť, oberáš sa o možnosť vstúpiť do stavu pohltenia (flow), a z dlhodobého pohľadu si koleduješ o vyhorenie.]]></description><link>https://infinitegrapes.sk/5-idealov-vylepsovanie-prace/</link><guid isPermaLink="false">5f3e262eec65161b83a9a654</guid><category><![CDATA[agile]]></category><category><![CDATA[flow]]></category><category><![CDATA[happiness]]></category><category><![CDATA[minimalism]]></category><category><![CDATA[kanban]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Fri, 25 Sep 2020 21:08:18 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/09/infinite-kanban-board-blog.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/09/infinite-kanban-board-blog.jpg" alt="5 ideálov - vylepšovanie (procesu) práce (3/5)"><p><em><em>Z blogchainu: 5 ideálov, ako ich pomenoval a definoval Gene Kim v knihe The Unicorn Project.</em></em></p><p>Lean sa zameriava na to, aby sa veci riešili tak neskoro ako to je možné, tok hodnoty nebol prerušovaný, a eliminovali sa všetky kroky navyše - odstraňovalo plýtvanie. Mne aplikácia lean princípov aj do procesu tvorby hodnoty za pomoci softvérových riešení dáva zmysel.  Nemožno ju však okopírovať 1:1.</p><blockquote>Daily work is less important as daily work improvement.</blockquote><p>Opäť sa odkážem na lean výrobu (aj keď teda tvorba softvéru nie je fabrika), a pripomeniem, že bežná denná práca je menej dôležitá, ako investícia do vylepšovania mojej dennej práce.</p><h2 id="andon">Andon</h2><p>V rámci systému kvality <a href="https://en.wikipedia.org/wiki/Andon_(manufacturing)">Andon</a> má každý operátor na linke možnosť “zastaviť výrobu”, a jeho supervisor má práve čas taktu (často menej ako 1 minúta), na to, aby problém vyriešil, inak sa zastaví celá výrobná linka.<br>To len malá pripomienka toho, že je dôležité sa venovať “maličkostiam”, ktoré ovplyvňujú moju každodennú prácu. A všetko, čo znehodnocuje tok hodnoty (vykazuje známky plýtvania) sa snažiť odstraňovať.</p><p>V knihe <a href="https://www.amazon.com/dp/B076BYZ6VN">Making Work Visible</a> Dominica DeGrandis identifikovala 5 neduhov, ktoré ovplyvňujú nielen našu (pracovnú) efektivitu, ale aj emočnú alebo psychologickú bezpečnosť:<br>a) veľa rozpracovaných veci - Work in progress (WIP)<br>b) neznáme závislosti - Unknown dependencies<br>c) protichodné priority - Conflicting priorities<br>d) zanedbávana práca - Neglected work<br>e) neplánovana práca - Unplanned work</p><p>Nech si akokoľvek budeš myslieť, že dokážeš pri svojej práci efektívne multitaskovať, musím ťa vyviesť z omylu. Prehnaným prepínaním kontextu strácaš pozornosť, ktorú musíš znova nadobudnúť, oberáš sa o možnosť vstúpiť do stavu pohltenia (<a href="https://infinitegrapes.sk/5-idealov-sustredenie-pohltenie-a-radost/">flow</a>), a z dlhodobého pohľadu si koleduješ o vyhorenie.</p><p>To, že funguješ ako Yes-man, ktorý na každú požiadavku povie áno, čo mu vygeneruje zásobu úloh na najbližších pár rokov, nie je nikoho iného problém, len tvoj vlastný. Treba sa <a href="https://ddegrandis.com/saying-no-doesnt-make-you-an-arse/">naučiť hovoriť nie.</a></p><p>Každá závislosť Ťa chceš, či nechceš, limituje. Tá, o ktorej najprv nevieš, a dozvieš sa o nej neskoro, je tým najlepším nepriateľom tvojho plánovaného postupu pri riešení úlohy. Tu si samozrejme nedávam na nos ružové okuliare ako bežný waterfallový projekták, ktorý ťahá gantt charty, ako keby všetku prácu bolo možné naplánovať (<em>imagined tasks</em>), a žiadnu sme počas projektu neobjavili (<em>discovered tasks</em>). Áno, áno, ten skúsenejší, si tam dá vatu. Ale, že tou umelou vatou je pôvodný plán z 3 mesiacov umelo nafúknutý na 6, má tiež svoje potencionálne náklady (cost of delay). Ach, odbáčam.</p><p>Každopádne, keď sa do koktailu <strong>veľa rozpracovaných veci</strong> s <strong>nejasnými závislosťami</strong> pridajú <strong>protichodné priority</strong>, človek má chuť sa na to všetko vybodnúť a ísť sa pozrieť na profesiu. Klincom do rakvy je (v prípade vývojarov) už len neustále <em>hasenie požiarov</em> (<strong>neplánovaná práca</strong>) prevažne spôsobené nedostatočným adresovaním technologického dlhu (<strong>zanedbávaná práca</strong>).</p><p>Čo je však riešením vyššie uvedených problémov? Ako prezrádza titul samotnej knihy. Urobiť prácu viac viditeľnou. Ale ako? </p><h2 id="kanban">Kanban</h2><p>Jedným z konkrétnych nástrojov je <strong>kanban tabuľa</strong>, v rámci ktorej sú <strong>aplikované limity pre WIP</strong> a má <strong>minimalistické horizontálne a vertikálne členenie</strong>. Neexistuje univerzálne odporúčanie ako urobiť/nastaviť kanban tabuľu na prvú dobrú. Proste treba začať, a postupným upravovaním (vylepšovanim) ju vylaďovať. Tabuľa môže reflektovať prácu mňa ako jednotlivca, kde pravdepodobne použijem pre horizontálne členenie iné kategórie, ako na súhrnnej tabuli sumarizujúcej úlohy celého tímu.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://infinitegrapes.sk/content/images/2020/09/infinite-kanban-board-blog-1.jpg" class="kg-image" alt="5 ideálov - vylepšovanie (procesu) práce (3/5)"><figcaption>Jednoduchá Kanban tabuľa</figcaption></figure><p>Kanban tabuľa nemá nekončený rozmer (najmä fyzická, digitálna už sa dá viac zbastardiť). Ak toho dáš na kanban tabuľu veľa - či už štruktúrou alebo obsahom, začne tam byť neporiadok, čo je mimochodom dobrý vizuálny signál, že je treba upratať (odobrať niečo). </p><p>Nebudem si klamať, že napriek nastaveným limitom, a riadeniu prietoku toho, čo sa na tabuľu dostane, sa nikdy nestane výnimka, nepríde HiPPO (highest paid person in the office), ktorý bude chcieť riešiť svoj problém bezodkladne. Na to zvyknem vždy do tabuľe rovno dávať <em>priority line</em>.</p><p>Snáď nemusím páliť čas na popísaní základných príncípov fungovania kanban boardu, je toho <a href="https://en.wikipedia.org/wiki/Kanban_board">plný internet.</a> Ale, ak máš akekoľvek otázky, kľudne ma <a href="https://infinitegrapes.sk/contact">kontaktuj.</a></p><p></p><blockquote>The Way We’ve Always Done It</blockquote><p>Len toľko som chcel dnes. Nedržme sa hesla: však takto to tu robíme odjakživa.</p>]]></content:encoded></item><item><title><![CDATA[5 ideálov - sústredenie, pohltenie a radosť (2/5)]]></title><description><![CDATA[Chcem krvopotne (za každú cenu) riešiť efektivitu, alebo byť radšej štastný človek?Poznáš ten pocit, ked veci neodsýpajú? A poznáš ten pocit, keď odsýpajú?
Myslím, že tvoja preferencia bude vždy tá neskôr menovaná (byť štastný, byť v stave, keď veci odsýpajú).]]></description><link>https://infinitegrapes.sk/5-idealov-sustredenie-pohltenie-a-radost/</link><guid isPermaLink="false">5f3e2144ec65161b83a9a5f5</guid><category><![CDATA[pmft]]></category><category><![CDATA[flow]]></category><category><![CDATA[management]]></category><category><![CDATA[happiness]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Tue, 08 Sep 2020 19:02:00 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/09/infinite-flow-channel.png" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/09/infinite-flow-channel.png" alt="5 ideálov - sústredenie, pohltenie a radosť (2/5)"><p><em>Z blogchainu: 5 ideálov, ako ich pomenoval a definoval Gene Kim v knihe The Unicorn Project.</em></p><p>Chcem krvopotne (za každú cenu) riešiť efektivitu, alebo byť radšej štastný človek?<br>Poznáš ten pocit, ked veci neodsýpajú? A poznáš ten pocit, keď odsýpajú?</p><p>Myslím, že tvoja preferencia bude vždy tá neskôr menovaná (byť štastný, byť v stave, keď veci odsýpajú).</p><p><em>Ak si bol niekedy v automobilke na exkurzii, alebo si pozeral </em><a href="https://www.youtube.com/watch?v=Rifzkz3CB4Y"><em>dokument</em></a><em> o tom, ako celý megakolos na vyrobenie auta, ktoré je bežne z 30000 komponentov, a ktoré apropos nesedia v sklade a čakajú kým z nich niekto sfúkne prach, funguje, tak si bol svedkom dokonale vyladeného komplexného systému. </em></p><p>Tvorba softvérových riešení v <em>Dobe softvérovej</em> nefunguje na štýl fabriky na výrobu áut, ktorá dotiahla svoj lean proces výroby do nepríčetna a urobila z ľudí robotov, ozubené kolieska veľkého systému, ktorých je možné ľahko nahradiť kus za kus.</p><h1 id="m-j-flow">Môj flow</h1><p>Tak ako je dobré vyhodnocovať kvalitu toku hodnoty (flow) na úrovni firmy je dobré sa pozerať na ňu aj na mikro úrovni (u seba). Profesor <a href="https://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi">Mihaly Csikszentmihalyi</a> o <em>flow</em> píše vo svojej knihe, ako o stave, v ktorom keď sa nachádzame, sa cítíme štastní. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://infinitegrapes.sk/content/images/2020/07/image.png" class="kg-image" alt="5 ideálov - sústredenie, pohltenie a radosť (2/5)"><figcaption>Flow channel</figcaption></figure><p>Preto si je dobré položiť otázku: <strong>Čo konkrétne ma od toho štastia (v práci) oddeľuje? </strong>Aké vyrušovače a nepotrebné kroky mi degradujú flow? Ako môžem do svojich návykov zaradiť malé (zdanlivo nepatrné) kroky, ktoré však kumulovane vytvoria zdravý návyk (správanie mňa samého, alebo môjho okolia)?</p><p>Úlohou šéfov, lídrov, manažérov je dbať o pocit naplnenia a šťastia svojich kolegov. Veľa sa hovorí o work/life balance. Ono sa to u vedomostých pracovníkov (knowledge worker) ako napríklad projektový manažér, programátor, analytik, nedá veľmi ten pracovný a súkromný život oddeliť. Oni sa tie dva životy vzájomne ovplyvňujú, a treba k prípadným nenaplneným očakávaniam zo strany profesného života, brať do úvahy aj súkromný život. </p><h1 id="od-projektu-k-produktu">Od projektu k produktu</h1><p>Koľko plýtvania vzniká, keď prepínaš kontext? Ako plynulý je tok (flow), ak musíš bootovať vždy do novej témy? Cítiš sa kompetentný k niečomu sa vyjadrovať, keď to poznáš povrchne?</p><p>Nedávno (máj 2020) som na jednom webinári  o nástrojoch na projektové riadenie od Microsoftu započul otázku jedného z účastnikov webinára na to, či dané (prezentované) nástroje budú schopné pokryť 2 ročný projekt s 50 programátormi (otázka smerovala voči avizovanému, ale neupresnenému limitu nástroja na počet konkuretných používateľov, členov projektových tímov).</p><p>Meniť enterprise architektúru formou veľkých transformačných projektov je možné. Ale pravdepodobnosť úspechu týchto projektov je podstatne menšia, riziko, že doručia hodnotu a stávka podstatne väčšia.</p><p>Ja by som vylepšoval enterprise architektúru nie formou (veľkých) IT projektov, ale po menších častiach. Od veľkých projektov prejsť k mikro-projektom, až samotnú starostlivosť o staranie sa o enterprise architektúru a jej schopnosti (capabilities) zveriť do rúk tímom, ktoré sa špecializujú na danú časť/oblasť tvorby hodnoty, tímy ktoré danej problematike rozumejú (po biznisovej stránke). Koncept, že skladám vždy ad-hoc projektové tímy pre doručenie hodnoty,  prináša viac frustrácie, ako prístup, ak mám existujúce tímy okolo produktov (tvorby hodnoty).</p><blockquote>..utilizing persistent teams who support a product or service, a change that might best be shortened from “building teams around work” to “bringing work to existing teams.”</blockquote><p>Hering, Mirco. <a href="https://www.amazon.com/DevOps-Modern-Enterprise-Practices-Organizations-ebook/dp/B079MLJN1F">DevOps for the Modern Enterprise</a> (p. 143). IT Revolution Press. Kindle Edition.</p><p>Asi sa nájde pár jedincov, ktorí preferujú neustálu zmenu, chcú sa stále zúčastňovať nových projektov. Efektivitu, ale aj spokojnosť (teda stav flow), <strong>majstrovstvo</strong>, <strong>autonómnosť</strong> zabezpečím tým, že ľudia sa venujú konkrétnym hodnotovým tokom, ktoré firma má. Nie že preskakujú z jedného na druhý. Keď majú príležitosť pochopiť hlbšie súvislosti, a <strong>prečo</strong> to robíme.</p><p>Inak povedane to znamená, že sa<strong> zameriavajú na riešenie a podporu konkrétnej aplikácie (alebo skupiny aplikácii, systémov)</strong>, ktoré sú súčasťou enterprise architektúry. A tieto v rámci celofiremných iniciatív následne modifikujú, aby bolo možné celofiremné iniciatívy doručiť.</p>]]></content:encoded></item><item><title><![CDATA[5 ideálov - lokálnosť a jednoduchosť (1/5)]]></title><description><![CDATA[<p><em>Z blogchainu: 5 ideálov, ako ich pomenoval a definoval Gene Kim v knihe The Unicorn Project.</em></p><p>Jeden môj kamoš zvykol používať svojho času takúto hlášku:</p><blockquote>To je nadlho a komplikované.</blockquote><p>To bola univerzálna odpoveď, keď on sám nevidel východisko zo situácie, v ktorej sa nachádzal, alebo práve naopak, z jednoduchej</p>]]></description><link>https://infinitegrapes.sk/5-idealov-lokalnost-jednoduchost/</link><guid isPermaLink="false">5f3d3dd9ec65161b83a9a518</guid><category><![CDATA[simplicity]]></category><category><![CDATA[software]]></category><category><![CDATA[development]]></category><category><![CDATA[project]]></category><category><![CDATA[management]]></category><category><![CDATA[aglie]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Thu, 20 Aug 2020 14:23:45 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/08/infinite---simplicity--5ideals.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/08/infinite---simplicity--5ideals.jpg" alt="5 ideálov - lokálnosť a jednoduchosť (1/5)"><p><em>Z blogchainu: 5 ideálov, ako ich pomenoval a definoval Gene Kim v knihe The Unicorn Project.</em></p><p>Jeden môj kamoš zvykol používať svojho času takúto hlášku:</p><blockquote>To je nadlho a komplikované.</blockquote><p>To bola univerzálna odpoveď, keď on sám nevidel východisko zo situácie, v ktorej sa nachádzal, alebo práve naopak, z jednoduchej situácie (problému) urobil z komára somára.</p><p><strong>Vieš aký je rozdiel medzi komplikovanýcm a komplexným?</strong> Komplexné je porozumiteľné, i keď je zložené z viacerých úrovni (vrstiev). Komplikované je už horšie porozumiteľné, lebo vzájomné pôsobenie prvkov systému nie je možné jednoducho alebo v rozumnom čase rozlíšiť.</p><p>❓Koľko ľudí je potrebných zapojiť do procesu realizácie zmeny softvérového riešenia? <br>❓Máš pocit úzkosti, keď má byť nasadená zmena v softvérovom riešení?</p><p><strong>Ideál jednoduchosti</strong> ma za cieľ pripomínať, že sme si niektoré pracovné postupy prekomplikovali (<strong>organizačná komplikovanosť</strong>). Že naše technické riešenia majú vysoký technický dlh, a keď v nich chceme spraviť zmenu, tak to bolí, alebo to vlastne už ani nie je možné (<strong>technická komplikovanosť</strong>).</p><p>Ak riešenia navrhujeme jednoducho, táto jednoduchosť podporuje lokálnosť.<br>Lokálnosť?! <strong>Lokálnosť</strong> znamená, že nepotrebuješ pre vykonanie rozhodnutia n povolení, alebo pripojiť tu telekonferencii 5 achitektov a analytikov, aby sa v konečnom dôsledku vyjadrili, ako sa to nedá, alebo len s veľkými obtiažami.</p><blockquote>if a team couldn’t be fed with two pizzas, it was too big.<br>Jeff Bezos</blockquote><p>Aplikácia jednoduchosti a lokálnosti po organizačnej stránke je napríklad pravidlo tzv. <a href="https://buffer.com/resources/small-teams-why-startups-often-win-against-google-and-facebook-the-science-behind-why-smaller-teams-get-more-done/#:~:text=Bigger%20doesn't%20mean%20better,with%20the%202%20Pizza%20rule%3A&amp;text=According%20to%20Bezos%2C%20the%20ideal,pizzas%2C%20it%20was%20too%20big."><strong>2 pizza tím</strong></a> - stačia ti dve pizze, aby si nasýtil tím ľudí, ktorý by mal vedieť problémy a výzvy samostatne riešiť? Ak nie, tak tvoj tím je pravdepodobne príliš veľký, aby fungoval efektívne.</p><p>Aplikáciou jednoduchosti po technickej stránke je napríklad <a href="https://en.wikipedia.org/wiki/Single-responsibility_principle">princíp jednej zodpovednosti</a> a <a href="https://en.wikipedia.org/wiki/Loose_coupling">voľných väzieb</a>.  <a href="https://m.signalvnoise.com/the-majestic-monolith/">Majestátny monolit</a> má svoje miesto v sieni slávy vývoja softvérových riešení. O tom inokedy. Je však potrebné si<br>na pomyselnej škále od monolitu až po microservices architektúru na každú malú IT capabilitu, klásť opakovane otázky: </p><ul><li>nepreháňam to už s prípravou na potencionálne škálovanie?<br>alebo opačne</li><li>netlačím kopec funkcionality do jednej megaaplikácie (monolitu), ktorá by si už zaslúžili, aby bola vytiahnuté do samostatnej služby?</li></ul><p>Koľko dní, týždňov, mesiacov ubehne od iniciálnej myšlienky na zmenu až po jej nasadenie do prevádzky? (<a href="https://www.tasktop.com/blog/flow-time/"><strong>flow time</strong></a>) Ak je tento čas neprimerane dlhý, tak výsledkom je <strong>strata</strong> príležitosti šetriť, alebo zarábať (<em>cost of delay</em>), alebo sa jednoducho rýchlo niečo naučiť (objaviť, dozvedieť), <strong>frustrácia</strong> z nevyhnutnej potreby prepínať kontext (tu čakám, tak idem zatiaľ na iné zadanie).</p><p>Treba si neustále pripomínať, či si <strong>organizačne</strong> nehádžeme polená pod nohy (treba chodiť cez 5 úrovní, aby bolo možné zmenu/vylepšenie nasadiť, uvedomenie si hodnoty pre zákazníka). Či sa po <strong>technickej</strong> stránke neprichytíme v stave úzkosti, že plánovanou zmenou sa rozbije nejaká neznáma vnútorná závislosť (ktorá z tej spleti kódu nie je jasná).</p><hr><p>Inak povedané, môžeš aplikovať dve základné pravidla:</p><ul><li>snažiť sa potreby pokrývať jednoduchšími riešeniami. Skôr sa snažiť uberať/prerobiť to čo už mám, ako pridávať nové a ligotavé (ktoré sa po nasadení do života okamžite stáva novým "bohatým" dedičstvom - legacy)</li><li>snažiť sa zachovať môžnosť rozhodnúť sa lokálne (mať zodpovednosť a rozhodovaciu právomoc od nadriadeného, pýtať sa, čo na kom som závislý a prečo, vedome tvoriť menšie tímy)</li></ul>]]></content:encoded></item><item><title><![CDATA[WD-40 pre softvérove projekty: job story]]></title><description><![CDATA[Používať job story pomáha tomu, aby som kontext, motivácie a kauzalitu efektívne zdokumentoval pre seba, aj ostatný tím pre hľadanie riešenia. Vďaka tomu sa pri hľadaní riešenia zodpovie veľa otázok, riešenie sa nasmeruje na adresovanie tých najviac vypuklých trápení. ]]></description><link>https://infinitegrapes.sk/job-story/</link><guid isPermaLink="false">5f23dbe8ec65161b83a9a44a</guid><category><![CDATA[pmft]]></category><category><![CDATA[jtbd]]></category><category><![CDATA[innovation]]></category><category><![CDATA[software]]></category><category><![CDATA[project]]></category><category><![CDATA[agile]]></category><category><![CDATA[digitalisation]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Fri, 31 Jul 2020 09:17:30 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/07/infinite-jtbd-progress.png" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/07/infinite-jtbd-progress.png" alt="WD-40 pre softvérove projekty: job story"><p>Myslím, že ste sa už stretli s tvrdením, že vlastne zákazníci nevedia, čo potrebujú. Respektíve ich návrh na riešenie je krátkozraký.</p><blockquote>If I had asked people what they wanted, they would have said faster horses.(Vraj) výrok Henry-ho Forda.</blockquote><p>Inak povedané. Nechcem sa zákazníkov (používateľov) pýtať,  čo by potrebovali - aké riešenie navrhujú, ale pochopiť podstatu ich problému - situáciu v ktorej sa nachádzajú.</p><p><a href="http://www.infinitegrapes.sk/dizajn-rieseni-zakopovou-metodou/">Dnes opäť</a> o <a href="https://jtbd.info/">teórii Jobs-to-be-done (JTBD)</a>, ktorá pomáha lepšie odhaliť motivácie, kontext a kauzalitu, vďaka čomu dokážem lepšie adresovať riešenie (inovovať).</p><h1 id="all-i-want-for-xmas-is-progress">All I want for xmas is progress</h1><p>Každý človek má potrebu napredovať. Stať sa lepšou verziou samého seba. Samozrejme naše životné hodnoty a skúsenosti definujú, čo si pod týmto napredovaním (progress) každý predstavíme.</p><p>Teória JTBD sa snaží empiricky odhaliť "práce" (jobs), pre ktoré ako zákazníci "zamestnávame" (hire) konkrétne riešenia.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://infinitegrapes.sk/content/images/2020/07/infinite-jtbd-progress-1.png" class="kg-image" alt="WD-40 pre softvérove projekty: job story"><figcaption>Napredovanie (progress)</figcaption></figure><p>Aby sme príčiny (ne)záujmu o naše produkty (služby) neodhalovali náhodne (gut feeling, pokus/omyl), ale skôr k tomu pristúpili ako inžinieri, môžeme aplikovať túto teóriu.</p><h1 id="typy-customer-jobov">Typy customer jobov</h1><p>Práce (jobs) je možné rozdeliť do 3 základných kategórií:</p><ul><li><strong>funkčné</strong> (functional) - chcem niečo konkrétne dosiahnuť</li><li><strong>emocionálne</strong> (emotional) - chcem sa nejako cítiť</li><li><strong>sociálne</strong> (social) - chcem byť nejako vnímaný ostatnými</li></ul><h1 id="-o-br-ni-napredovaniu">Čo bráni napredovaniu?</h1><p>Pri zamestnaní nového riešenia na môj job som vystavený 4 rôznym silám, ktoré ovplyvňujú, či chcem zamestnať nové riešenie. Sily možno rozdeliť do dvoch kategorií:</p><p>I. Motivujúce:</p><ul><li><strong>push</strong> - aktuálna situácia, problém, ma tlačí do hľadania nového riešenia (narodenie dieťaťa)</li><li><strong>pull</strong> - samotné riešenie ma magnetizmus, atribúty, ktoré ma priťahujú (napríklad chcem nové auto, aj keď to staré stále slúži)</li></ul><p>II. Demotivujúce:</p><ul><li><strong>obavy</strong> (anxieties) - pre zmenu riešenia si často kladiem otázky, čo sa stane ak, zmením</li><li><strong>zvyky</strong> (habits) - moje návyky ma udržujú v status quo</li></ul><p>Narodenie dieťaťa je spúšťačom, ktorý ma tlačí hladať nové riešenia pre moju situáciu. Napríklad začnem sa pozerať po väčších autách, keďže mám problém poskladať kočík do svojho kabrioletu.<br>Pri narodení dieťaťa sa zvyčajne rýchlo zbavujeme svojich pôvodných zvykov, lebo situácia je taká intenzívna, že aj naše pôvodné obavy sa teraz presmerujú úplne na inú úroveň.</p><blockquote>It’s really an engineer’s way of looking at the market.<br><a href="http://jobstobedone.org/radio/unpacking-the-progress-making-forces-diagram/">http://jobstobedone.org/radio/unpacking-the-progress-making-forces-diagram/</a></blockquote><p>Všetko, čo mi bráni adaptovať nové riešenie na môj job sa prejavuje demotivujúcimi silami (obavami a zvykmi). Pre to, aby som zákazníkovi, nove riešenie "predal", potrebujem adresovať aj tieto sily. </p><p>Ak som napríklad projektový manažér, ktorý rieši migráciu nejakého systému na iné riešenie, môžem sa obávať o to, ako prebehne migrácia. Svedomitý riešiteľ sa preto bude proaktívne pýtať, alebo ponúkať riešenie na to, z ktorých nástrojov dokáže migráciu zabezpečiť už dnes, alebo ak je aktuálny systém neznámy, proaktívne bude túto obavu adresovať.</p><h1 id="job-story">Job story</h1><p>Job story zápis vymyslel Alan Klement spolu s ľudmi so spoločnosti Intercom. Predpis je nasledovný:</p><blockquote>(role/context) When (in situation) I want to (motivation) so I can (outcome)</blockquote><p>Konrétne príklady:</p><blockquote>(som matka) Keď sa mi narodí dieťa chcem maximum podpory od štátu, a aby to bolo bez okolkov, a ja som sa mohla venovať dieťaťu.</blockquote><blockquote>(som dispečer)  Keď vznikne nová objednávka na vyzdvihnutie zásielky na odoslanie chcem vedieť o tých, ktoré je problém zrealizovať, aby som mohol proaktívne kontaktovať odosielateľa.</blockquote><p>💡Persóny ako point in time snapshoty nie sú veľmi osožné. Rozhodovanie o "zamestnaní" riešenia nie je definované primárne mojimi atribútmi (muž, do 40 rokov, VŠ vzdelanie, zapadné Slovensko). Je definované situáciami, v ktorých sa nachádzam, je postupne formované na časovej osi (timeline).<br>Job story služia ako efektívny spôsob zachytenia potreby, ktorú majú (budúci) používatelia nášho riešenia. Pre dizajn riešenia zachytávajú kontext, kauzalitu a motivácie.</p><h1 id="h-adanie-jobu">Hľadanie jobu</h1><p>Nie nevyhnutne platí, že pre adresovanie jobov (hľadanie riešenia) musíme začať "na začiatku".</p><p>Môžeme mať aj super nápad na riešenie, ktorý vybublal na svetlo sveta vďaka našim doterajším skúsenostiam a vedomostiam.<br>Dodatočné zarámcovanie voči jobu nám však pomôže často neskôr v rozhodovaní, čo do súboru funkcionalít (riešenia) pridať, alebo nie. Na čo sa máme sústrediť, aby sme adresovaný job ešte lepšie obslúžili.</p><p>Toto je jedno z riešení, ktoré odporúčam aplikovať pre udržanie <a href="http://www.infinitegrapes.sk/monitorovanie-projektu-zakopovou-metodou/">projektu v dobrej kondícii</a>.</p><blockquote>Na aktualizácie ohľadom víťazstiev, alebo zásadnejších prekážok odporúčam udržiavať pulz projektu pomocou tlkotov (heartbeats). Tlkoty sú krátke písomne aktualizácie, ktoré sa týkajú projektu. Ak sa nič nedeje, tak tlkot napíše na pravidelnej báze (týždennej, obtýždennej) projektový manažér, ale nič nebráni aj inému členovi tímu prispieť. Je to ekvivalent steny facebookovej stránky venovanej výhradne projektu a vecí s ním súvisiacich.</blockquote><p>Aký sú joby, ktore riešenie "tlkot" adresuje? Tu sú dva konkretné príklady, ktoré je možné s riešenia vyčítať:</p><blockquote>Keď som členom projektového tímu, chcem mať k dispozícii všetky aktualizácie pre kľúčové informácie, aby som vedel robiť správne rozhodnutia podľa aktuálneho kurzu projektu.</blockquote><blockquote>Keď mám novú kľúčovú informáciu hodnú zdieľania, mám skúsenosť, že email je čierna diera, v ktorej to zapadne, chcem ju oznámiť tímu, aby ju zobrali na vedomie.</blockquote><p>Situáciu je možné ešte <strong>okoreniť</strong> takto:</p><blockquote><strong>Keď skončím meeting s klientom, šoférujem v aute, neviem písať,</strong> iba rozprávať, a mám novú kľúčovú informáciu hodnú zdieľania, chcem ju oznámiť   tímu, aby ju zobrali na vedomie.</blockquote><p>A ako je (už len pre refenciu) možné zapísať už konkrétny návrh riešenia formou user story - predpis: As a (user) I want (result) so that (benefit)?<br>Kde tu osolené akceptačnými kritériami (viď odrážky).</p><blockquote>As project manager I want to share information with my team so that they stay informed<br><br>As project manager I can set priority of information to ensure that cricital one are acknowledged<br><br>As project's team member I want to be aware with all critical information about project<br>- email notification is not expected solution<br>- stream of all critical information in chronological (DESC) order<br><br>As project't team member I'm able to confirm "message received" for  critical information distribution<br><br>As project manager I'm aware of all team members which not yet confirmed "message received"</blockquote><p>Používať job story pomáha tomu, aby som kontext, motivácie a kauzalitu efektívne zdokumentoval pre seba, aj ostatný tím pre hľadanie riešenia. Vďaka tomu sa pri hľadaní riešenia zodpovie veľa otázok, riešenie sa nasmeruje na adresovanie tých najviac vypuklých trápení. A odpovie aj na obľúbenú na otázku: prečo sme to takto urobili? 😄</p>]]></content:encoded></item><item><title><![CDATA[WD-40 pre softvérové projekty: user story]]></title><description><![CDATA[<p>Ak Ti sú známe <a href="https://agilemanifesto.org/">4 piliere agilného manifesta</a>, potom pochopíš, prečo (z)brojím proti siahlodlhým dokumentáciam, plánom... keďže sa vo väčšine softvérových projektov nachádzame v prostredí neistoty, nie je efektívne tráviť veľa času teoretizovaním - písaním 30 stranového wordu, ktorý pôjde ešte na 3 schvaľovacie kolečká, a potom sa vráti</p>]]></description><link>https://infinitegrapes.sk/user-story/</link><guid isPermaLink="false">5f156153ec65161b83a9a2e9</guid><category><![CDATA[agile]]></category><category><![CDATA[project]]></category><category><![CDATA[software]]></category><category><![CDATA[pmft]]></category><category><![CDATA[development]]></category><category><![CDATA[documentation]]></category><category><![CDATA[flow]]></category><category><![CDATA[lean]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Mon, 20 Jul 2020 09:50:41 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/07/infinite---wd-40.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/07/infinite---wd-40.jpg" alt="WD-40 pre softvérové projekty: user story"><p>Ak Ti sú známe <a href="https://agilemanifesto.org/">4 piliere agilného manifesta</a>, potom pochopíš, prečo (z)brojím proti siahlodlhým dokumentáciam, plánom... keďže sa vo väčšine softvérových projektov nachádzame v prostredí neistoty, nie je efektívne tráviť veľa času teoretizovaním - písaním 30 stranového wordu, ktorý pôjde ešte na 3 schvaľovacie kolečká, a potom sa vráti ako 60 stranová funkčná špecifikácia. </p><p>Je lepšie konať. Ja viem, že sa to môže javiť ako prílišné zjednodušovanie. Ok. Ale fakt si treba opakovane pokladať otázku ako štíhly je proces, ktorý zabezpečuje riešenie od vzniku potreby. Ako dlho trvá, kým sa (dobrá) idea stane skutočnosťou?</p><h1 id="-o-je-wd-40-pre-softv-rov-projekty">Čo je WD-40 pre softvérové projekty?</h1><p>Kto netuší, čo je WD-40, tak šup, pozrieť stránku <a href="https://www.wd40.com/">výrobcu</a>. </p><blockquote>WD-40 Multi-Use Product protects metal from rust and corrosion, penetrates stuck parts, displaces moisture and <strong>lubricates almost anything</strong>.<br>Zdroj: <a href="https://www.wd40.com/">https://www.wd40.com/</a></blockquote><p>Tak ako je WD-40  schopné rozhýbať niečo zahrdzavené (zaseknuté), ako je schopné zároveň hrdzaveniu (zaseknutiu) zabrániť, tak je kontexte softvérového projektu možné nájsť artefakty, postupy a odporúčania, ktoré pomáhajú efektívnejšie zabezpečovať tvorbu hodnoty  - funkčný softvér (viď hodnota č. 2 agilného manifesta), eliminovať plýtvanie. </p><p>Dnes sa pozrieme bližšie na detail artefaktu: <strong>user story. </strong>Internety sú plné vystvetlení, čo je user story. Ja som sa tomu tiež <a href="https://infinitegrapes.sk/dokumentacia-poziadaviek-zakopovou-metodou/">venoval</a>, a rovnako som písal ako o tom, ako napísať <a href="https://infinitegrapes.sk/ako-pisat-user-story/">dobrú user story</a>).</p><p>User story je z môjho pohľadu neukecaná dokumentácia toho, čo biznis potrebuje z pohľadu rolí (aktérov), ktorí s aplikáciou (systémom) interagujú. Plus, okrem toho, že to je efektívný spôsob popísania <em>to be </em>stavu, a rovnako po doručení sa stáva zoznam user stories aj efektívnym prehľadom stavu <em>as is</em> (toho čo máme, aké už funkcionality už naše softvérové riešenia majú).</p><h1 id="kde-pou-i-user-story">Kde použiť user story?</h1><p>IMO, všade tam, kde sa popisuje interakcia bežných ľudí so strojom. V ľudskej reči pisujem, čo očakávam, že bude na vstupe a čo dostanem vo finále na výstupe. Zároveň nič nebráni tomu, aby sa aj zo stroja stal "človek", a jeho úlohy boli zaznamenané v tejto forme.</p><blockquote>As robot I sent automatic email reminders about not paid invoices to ensure better cashflow.</blockquote><h1 id="dom-na-doma">Doména doma</h1><p>Ak Ti softvérové riešenie dodáva externý partner, ak user stories tvoríš, vieš vytvoriť, (s)poznáš lepšie svoje problémy, aj (potencionálne) softvérové riešenia. <strong>S user story preberáš viac porozumenia vlastnej doméne na seba</strong>. Ako biznisový problém alebo výzva sú <em>dopytom</em> po po riešení, je práve riešenia zadokumentovávané vo forme user stories <em>ponukou</em> na tento dopyt. Ty nepotrebuješ vedieť softvér vytvárať (byť prográmatorom). Áno, je dobré ak poznáš diely, z ktorých programátori riešenia vytvárajú, ale nie je to nevyhnutné predispozícia.</p><p><strong>User story nie je vytesaná do kameňa. </strong>Je spôsobom, ako odovzdáš tvoju myšlienku, ako myslíš, že by riešenie na problém mohlo vypadať. Ak sa tvojim prográmotorom nezdá, je práve vítané, aby sa žiadna strana nezaľúbila do svojho nápadu, a bola pripravená diskutovať (dávať spatnú väzbu). Preto aj oni by mali byť uvedený do kontextu a mal by im byť známy problém/cieľ.</p><p>Aj keď veľa krát finálna učesaná user story vypada jednoducho a elegantne, tak cesta k nej nie je až taká jednoduchá, a zvyčajne ju človek nenapíše na prvú dobrú.</p><h1 id="ale-">Ale, ...</h1><p>Je mi jasné, že nemôžeš formou user story zapísať všetko. Jasné, že nie, ale na popis riešenia sa snaž nestratiť zreteľ z toho, že user stories sú efektívny a zároveň štruktúrovaný (a) As ..., b) I want ... , c) so That ...) spôsob, ako dokumentovať.</p><p>Čo iné sa ponúka pre doplnenie user stories:</p><ul><li><strong>Épos</strong> (epic) - lepidlo, ktoré na jednom mieste dokumentuje kontext k identifikovaným problémom/výzvam. User stories naň referujú.</li><li><strong>Iniciatíva</strong> (initiative) - združenie éposov, ktoré sa viaže na konkrétny cieľ biznisu. Stratégiu biznisu rozložíme do jednotlivých iniciatív. Tieto iniciativy následne reflektújú nase "stávky", hypotézy - old-schoolisti používajú slovo projekty :) - ktoré sa pokúšame overiť v praxi.<br>Platíme (dobre, veľa) programátorov preto, aby sa realizovali. A tí dobrí programátori potrebujú vedieť aj kontext, nielen len slepo sledovať príkaz, čo majú urobiť.</li><li><strong>Job story</strong> - to je práve spôsob, ktorým situáciu tvojho zákazníka (či už interného alebo externého) efektívne zachytíš pre zvyšok tímu. Formalizácia informácií, ktoré zistíš pri rozhovore so zákazníkom. </li><li><strong>Chyba</strong> (bug) - jasné, ak narazíš na chybu v existujúcom riešení, nebudeš sa ju snažiť napasovať do formátu user story.</li><li><strong>Problem story</strong> - niektoré atribúty enterprise architektúry nie je možné priamo prepojiť na funkčné očakávania biznisových používateľov. Stav architektúry softvérových riešení podlieha entropii (neporiadku). Ak EA necháme hniť, dobehne nás to. Popísanie (často technického) problému a k nemu riešenie, sa rovnako nebudem snažiť našiť do formátu user story. Tak ako sú chyba, alebo user story viditeľné, odstraňovanie (mitigácia) rizík, alebo technologického dlhu, je neviditeľná ale za to kľúčová pre našu agilitu do budúcna.</li></ul><p>Život je tak komplikovaný, aký si ho urobíme. Skúsme si ho zjednodušiť. Už píšeš prvé user stories? Ak máš problém, otázku, kľudne ma <a href="https://infinitegrapes.sk/contact">kontaktuj</a>.</p>]]></content:encoded></item><item><title><![CDATA[Technologický dlh]]></title><description><![CDATA[Softvér nie sú len funkcionality a neželané nedostatky. 
Nezabúdajme na eliminovanie technologického dlhu.
Technologický dlh nie je len ako náklad, jeho eliminácia je príležitosť urobiť našu enterprise architektúru viac agilnou.]]></description><link>https://infinitegrapes.sk/technologicky-dlh/</link><guid isPermaLink="false">5f0c5a76ec65161b83a9a27b</guid><category><![CDATA[pmft]]></category><category><![CDATA[agile]]></category><category><![CDATA[lean]]></category><category><![CDATA[design]]></category><category><![CDATA[development]]></category><category><![CDATA[project]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Mon, 13 Jul 2020 13:14:12 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/07/infinite---debt-rise-fall.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/07/infinite---debt-rise-fall.jpg" alt="Technologický dlh"><p>Pri riešení biznisových problémov alebo príležitostí pomocou softvéru sa veľa dôrazu venuje funkcionalitám (features) a prípadnému následnému odstraňovaniu nedostatkov (defect, bug). Je to pochopiteľné, sú to pre ľudí mimo IT dve jasne uchopiteľné kategórie. </p><p>Ak dlhodobo sústredím všetku kapacitu výhradne na vývoj funkcionalít, tak sa mi ľahko môže stať, že sa dostanem do začarovaného kruhu, začne ma prenasledovať stále väčší počet chýb.  Skúsenému CIO sa zježia chlpy ak zistí, že sa v rámci vývoja priebežne neadresuje technologický dlh, alebo sa neodstraňujú potencionálne riziká (security, data protection). Tento krát sa nechcem sústrediť na situáciu, keď ma prekvapí záškodník, a budem čeliť bezpečnostném incidentu.</p><p>Ak sa stakeholderi prichytia pri tom, že považujú investície do odstraňovania technologického dlhu softvérových riešení ako neplánované náklady, bude vhodné si teraz naliať čistého vína.</p><h1 id="entropia">Entropia<br></h1><p>Väčšina softvérových riešení (systémov) podlieha zmenám. A ak sa tie zmeny nedejú v nich, tak sa dejú vedľa nich (v iných systémoch s ktorými komunikujú - horizontála, alebo na ktorých základoch stoja - vertikála). Tým, že do systémov realizujeme úpravy, systémy sa zozložiťujú (stávajú sa viac komplexnými).</p><p>Modifikáciou systému sa zvyšuje úroveň entropie (neporiadku), kým vedome nezasiahnem proti jeho tvorbe. Pomenovanie pre tento nahromadený a neuprataný neporiadok sa nazýva technologický dlh.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://infinitegrapes.sk/content/images/2020/07/infinite---debt-rise-fall-1.jpg" class="kg-image" alt="Technologický dlh"><figcaption>Rast technologického dlhu v čase</figcaption></figure><p>Proces odstraňovania entropie (v softvérovom systéme) sa nazýva <strong>refaktoring</strong>. </p><p>Ak pri navrhovaní softvérového riešenia rešpektujem odporúčania (slabé väzby medzi systémami, návrhové vzory) je menšia pravdepodobnosť, že celá moja <em>chlpatá guľa</em> (enterprise architektúra) bude trpieť príliš skoro na technologický dlh. Ale, príde okamih, a bude.</p><h1 id="-as">Čas</h1><p>Chceme to hneď. ASAP. Prečo softvéristi navrhujú systémy, ktoré podliehajú entropii?!</p><p>Základnym dôvodom je čas. Treba hľadať rozumný kompromis medzi tým ako dlho uvažuješ (čas), kým sa do niečoho pustíš. Pomalosť má svoju cenu - <a href="https://en.wikipedia.org/wiki/Cost_of_delay">Cost of delay</a>. Ako dlho trvá kým sa od nápadu dopracuješ k realizácii? </p><p>Na jednej strane Ťa môže postihnúť paralýza analýzy, na opačnej strane zase strmhlavé hodenie sa do riešenia problému bez akéhokoľvek uvažovania v širších súvislostiach (architektúra riešenia, reflektovanie aktuálnych best practices a možností riešenia).</p><p>Vo všeobecnosti v neistom prostredí platí, že je lepšie hypotézu overiť v praxi, ako dlho teoreticky laborovať. Ideálne je overovať svoje hypotézy, v čo najmenších krokoch.</p><p>Je potrebné hľadať vyvážený pomer medzi tým, ako veľmi pripravujem riešenie na možnú budúcnosť, a ako rýchlo sa mi darí adresovať súčasný problém/požiadavku. Napríklad sa často softvérové riešenie hneď od začiatku <em>komplikuje</em> s očakávaním pre potrebu vysokého škálovania, ktorá nikdy nenastane. </p><p>(Kreatívnych) spôsobov ako riešiť ten istý problém pomocou softvérových riešení, je vždy viac ako jeden. IMHO, toto je dôvod - možnosť hračíčkovania - ktorý láka ľudí venovať sa softvérovému inžinierstvu (nerob to pre peniaze).<br></p><h1 id="refaktoring-nie-je-n-klad">Refaktoring nie je náklad<br></h1><p>Aby to nevyznelo ako čierny scenár, že sa je lepšie vecí nechytať, máme nástroje a techniky, ktoré pomáhajú s tým, aby zmeny aplikované do systému boli čo najmenšie (user story splitting), a transakčné náklady spojené s aplikáciou zmien minimálne (continuous deployment, canary release, feature flag, automated testing).  </p><p><strong>Nepozerajme na elimináciu technologického dlhu len ako na náklad, pozerajme na neho ako príležitosť urobiť našu enterprise architektúru viac agilnou.</strong> Rovnako sa pýtajme našich dodávateľov, alebo zhotoviteľov softvéru, ako napĺňajú očakávania v tejto “neviditeľnej” rovine, prípadne či sa nám neboja povedať správy, že by sme sa mali refaktoringu tej ktorej aplikácie povenovať.</p>]]></content:encoded></item><item><title><![CDATA[Black box IT]]></title><description><![CDATA[IT svet firmy nemôže byť tajomný black box, v ktorom netuším, čo sa deje. Moji non IT kolegovia potrebuju o tom, čo sa deje v IT, trasnparetne vedieť.]]></description><link>https://infinitegrapes.sk/black-box-it/</link><guid isPermaLink="false">5f058099ec65161b83a9a182</guid><category><![CDATA[flow]]></category><category><![CDATA[lean]]></category><category><![CDATA[transparency]]></category><category><![CDATA[development]]></category><category><![CDATA[software]]></category><category><![CDATA[pmft]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Wed, 08 Jul 2020 08:26:28 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/07/infinite---black-box-it.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/07/infinite---black-box-it.jpg" alt="Black box IT"><p>IT svet firmy nemôže byť tajomný black box, v ktorom netuším, čo sa deje. Rovnako ako predáci, alebo manažér fabriky vie, ako mu tečú materiály, kde sú potenciálne úzke hrdlá, tak potrebujem vedieť ja, aj moji non IT kolegovia o tom, čo sa deje v IT, ktoré je neoddeliteľnou súčasťou mnohých biznisov dneška.</p><p>Prirovnávať vytváranie a údržbu softvéru k výrobnej fabrike nie je dobrý nápad. Inšpirovať sa však vo výrobe, ktorá aplikuje LEAN princípy, dobrý nápad je.</p><p>Technológie do biznisu neimplementujeme preto, aby sme ich implementovali (že, štátna správa, lebo v tvojom prípade to tak vypadá?!). Technológie majú prinášať hodnotu. Ideálne je pochopiť ako (v akých hodnotových tokoch - value streams) je hodnota vytváraná. Aby pre “ostatný” biznis bola “IT hodnota” zrejmá, je možné (dľa <a href="https://flowframework.org/">Flow framework</a>) zakategorizovať položky vytvárajúce hodnotu do 4 kategórii:</p><ol><li>Funkcionalita (feature)</li><li>Chyba (defect)</li><li>Dlh (debt)</li><li>Riziko (risk)</li></ol><figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://infinitegrapes.sk/content/images/2020/07/infinite---black-box-it-1.jpg" class="kg-image" alt="Black box IT"><figcaption>4 flow items</figcaption></figure><p><strong>Funkcionalita</strong> mení, dopĺňa enterprise architektúru (pod ktorou si ja predstavujem technológiu -  hadvér, softvér - procesy, dáta, ľudí) o atribúty, ktoré očakávam, že prinesú hodnotu. Prečo píšem, že očakávam? Totiž, tvorba softvéru nie je stavanie mostu, alebo rodinného domu. Je to pohyb v neistom prostredí, a spôsobov, ako biznis požiadavku vyriešiť pomocou softvéru, nebýva len jeden. Preto je veľmi na zváženie, či je projektový prístup vhodný pred aplikáciu produktového (točiaceho sa okolo hodnotového toku pomyselných softvérových produktov).</p><p><strong>Chyba</strong> je nám všetkým dôverne známe správanie softvéru, ktoré by sme najradšej nevideli.</p><p>(Technologický) <strong>dlh</strong>, je niečo, čo je bežnému človeku neviditeľné. Dlh nám znemožňuje byť agilným do budúcnosti. Preto na jeho odstraňovaní je potrebné pracovať priebežne. Je dôležité transparentne komunikovať, že dlh máme. A že pracujeme na tom odlžovaní naších softvérových riešení.</p><p><strong>Riziko</strong> predstavujú hlavne očakávania, ktoré vyplývajú zo správania okolitého sveta. Bezpečnosť aplikácie (riziko, že sa mi do aplikácie dostane neoprávnený používateľ), ochrana osobných údajov (GDPR).</p><hr><p>Tieto 4 kategórie sú jednoduchým, ale efektívnym základom pre monitorovanie a komunikáciu (toku) hodnoty, ktorú vytvárajú softvérové riešenia. Keď sa nabudúce budeš (so stakeholderom) baviť o tom, čomu je sa potrebné venovať v tvojom softvérovom projekte (inak lepšie produkte), tak skús kategorizovať danú tému do niektorej z týchto kategórií. A dohodnúť sa, v akom pomere sa budeme vzhľadom na aktuálnu situáciu jednotlivým kategóriám venovať.</p>]]></content:encoded></item><item><title><![CDATA[Houston we have problem]]></title><description><![CDATA[Neexistuje univerzálny nástroj, framework, postup, na každý tvoj problém. Ale uvedomenie si toho, že máš problém, je začiatok cesty.]]></description><link>https://infinitegrapes.sk/houston-we-have-problem/</link><guid isPermaLink="false">5efb4546ec65161b83a9a0e4</guid><category><![CDATA[pmft]]></category><category><![CDATA[lean]]></category><category><![CDATA[software]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Tue, 30 Jun 2020 14:14:19 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/06/View_of_Mission_Control_Center_during_the_Apollo_13_oxygen_cell_failure.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/06/View_of_Mission_Control_Center_during_the_Apollo_13_oxygen_cell_failure.jpg" alt="Houston we have problem"><p>Neexistuje univerzálny nástroj, framework, postup, na každý tvoj problém. Ale uvedomenie si toho, že máš problém, je začiatok cesty.</p><p>Nechcem malovať čerta na stenu, ale prepadol ma pocit, že snáď tie problémy, ktoré generuje priepasť medzi IT a biznisom, vidím len ja sám.  Minimálne v mojich chabých sociálnych kruhoch. 😄</p><p>Výchádzajme z toho, že stále platí, že veľa IT projektov, končí neúspechom, tak som si dovolil napísať sedmoro (7) odporúčaní na aktivity/atribúty, ktorými je dobré byť vyzbrojený pri riešení biznis problémov a príležitostí pomocou softvéru. </p><p>Ľudia majú radi zoznamy, checklisty, tak toto je môj príspevok:</p><ul><li><strong>odstraňuješ plýtvanie</strong> - t.z. implementuješ len to nevyhnutné a zmysluplné, a overuješ, či to čo si implementoval aj plní účel. To druhé (plnenie účelu, používanie softvéru) je často opomínaná aktivita.</li><li><strong>podporuješ učenie (skorú exploráciu)</strong> - nerobíš návrh len od zeleného stola, ale vyrábaš mockupy (wireframy), bárs aj v powerpointe (i keď máme aj lepšie nástroje ako figma, indesign, marvel) a na tých sa učíš od užívateľov/zákazníkov, či je navrhované riešenie OK, zmysluplne.</li><li><strong>rozhoduješ sa tak neskoro ako sa dá</strong> - t.z. nepíšeš 2 mesiace 30 stranový dokument s detailnými požiadavkami, na ktorý potom dostaneš 60 stranovú funkčnú špecifikáciu, ale softvér detailizuješ tak neskoro, ako je to možné. </li><li><strong>doručuješ rýchlo a zbesilo (a kvalitne)</strong> - koľko trvá kým niečo príde ako požiadavka/nápad, až do okamihu kým to začne slúžiť? Hodiny, dni, alebo týždne? Alebo si obeťou zdĺhavého schvaľovania, budgetov, opakovaných odovzdávaní, testovacích kolečiek (UAT), obáv pri nasadení zmien do produkcie.</li><li><strong>máš dostatok dôvery rozhodovať</strong> - dostávaš okrem úloh aj širší kontext, dôvod prečo to robíme, a oprávnenie rozhodnúť (a aj urobiť chybu)? Dostávaš príležitosť, aby si navrhol, ako môžeme problém vyriešiť?</li><li><strong>máš pocit integrity</strong> - vieš a rozumieš tomu, na čom sa pracuje? Ako jednotlivé časti zo sebou súvisia? Nerobíš súčasne na 20 frontoch? Nezahadzuješ (to dobré) čo si sa naučil, a nejdeš robiť úplne niečo nové.</li><li><strong>pozeráš sa na veci aj z nadhľadu</strong> - vieš, čo sa deje u kolegov na iných projektoch, produktoch? Máš priestor uvažovať nad tým, ako tieto orgány (softvér, ľudia) vo veľkom organizme (firme) fungujú (alebo nefunguju)?</li></ul><p>Ak ti teraz cinklo, že predsa len budú v niektorých vyššie uvedených aktivitách u Teba nedostatky, netráp sa, nie si v tom sám. </p><p></p>]]></content:encoded></item><item><title><![CDATA[Keď plán narazí na realitu]]></title><description><![CDATA[<p>Vieš aký je rozdiel medzi tým čo si predstavujeme, a tým čo si zažijeme? Už sa ti asi stalo, že bol priepastne veľký.</p><p>V kontexte plánovania úloh pre softvérové projekty, sú úlohy, ktoré si predstavíš (imagined tasks), že bude treba urobiť, a potom sú úlohy, ktoré objavíš (discovered tasks). Hovorím</p>]]></description><link>https://infinitegrapes.sk/ked-plan-narazi-na-realitu/</link><guid isPermaLink="false">5ec7781fec65161b83a99f28</guid><category><![CDATA[pmft]]></category><category><![CDATA[planning]]></category><category><![CDATA[agile]]></category><category><![CDATA[scrum]]></category><category><![CDATA[project]]></category><category><![CDATA[management]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Fri, 22 May 2020 07:07:35 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/05/infinite---imagined-vs-discovered.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/05/infinite---imagined-vs-discovered.jpg" alt="Keď plán narazí na realitu"><p>Vieš aký je rozdiel medzi tým čo si predstavujeme, a tým čo si zažijeme? Už sa ti asi stalo, že bol priepastne veľký.</p><p>V kontexte plánovania úloh pre softvérové projekty, sú úlohy, ktoré si predstavíš (imagined tasks), že bude treba urobiť, a potom sú úlohy, ktoré objavíš (discovered tasks). Hovorím nielen za teba, aj za členov tvojho tímu.</p><p>Treba si naliať čistého vína, a povedať si, či sme vo fáze istoty, kde už vieme, čo treba urobiť krok za krokom, alebo stále neistoty, kde je vysoko pravdepodobné, že nové úlohy budú objavené.</p><p>Prvý príncíp  agilného manifesta poukazuje, že treba priebežne a často dodávať fungujúci softvér, ktorý prináša hodnotu zákazníkovi. <br></p><blockquote><em>Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.</em></blockquote><p><a href="https://agilemanifesto.org/principles.html"><em>https://agilemanifesto.org/principles.html</em></a><br><br>Oficiálna príručka k SCRUM hovorí, že zodpovednosť za maximalizáciu hodnoty (softvérového) produktu má rola <strong>produktového vlastníka</strong> (PO - product owner)</p><blockquote><em>The Product Owner is responsible for maximizing the value of the product resulting from work of the Development Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.</em></blockquote><p><a href="https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf"><em>https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf</em></a></p><p>Ako však hodnotu identifikovať už záleží od kontextu (to je tá druhá veta v citácii vyššie).</p><p>Nie je hodnota, ako hodnota. Hodnota pre zákazníka (customer), hodnota pre používateľa (user), alebo hodnota pre biznis (stakeholderov) sú iné kontexty.</p><p>Urobím zmenu v internej aplikácii pre tímlídra, pričom riaditeľ plánuje reinžiniering procesov, a tím už nebude treba (resp. bude sa venovať úplne iným činnostiam).</p><p>Koho by mal PO počúvať, komu by mal hodnotu prinášať? Nie je to jednochá rola. </p><p>Aj keď stakeholderi tvrdia, že tieto funkcionality X a Y musia mať, všetky majú prioritu no. 1, a na dôvažok aj podložili svoje žiadosti očakávaným prínosom hodnoty, stále sa aj oni pohybujú v rovine teoretickej, hodnotu si iba predstavili (naplánovali).</p><p>Realita však už môže dopadnúť úplne inak. Hodnota (napríklad meraná ROI) sa často krát krásne plánuje, ale sedliacky rozum hovorí, že je potrebné často skôr odhaľovať (discovery), ako naplánovať (imagine). Samy organizácie sú zložité organizmy. Často nedokážeš dopad akejkoľvek zmeny ovplyvniť. Len zmenu vykonať a pozorovať a adaptovať sa.</p><p>Ak si <em>v údolí neistoty</em>, never slepo plánom o ROI, a pokús sa čo najmenšími experimentami overiť, objaviť, čo hodnotu bude prinášať. A určite sa nestaň slepým prijímateľom objednávky od stakeholderov. Vlastni produkt.</p>]]></content:encoded></item><item><title><![CDATA[Koniec projektového manažmentu v riadení SW projektov?]]></title><description><![CDATA[V striktnom ponímaní lean a agile všetko ostatné okrem kódovania (t.z. aktivity, ktoré netvoria softvérový produkt) sa považuje za odpad (waste, overhead). V tejto optike niekto (projekťák) kto pripomína prioritu úloh, prestavuje dátum splnenia, sa javi ako veľmi nepotrebný člen tímu. ]]></description><link>https://infinitegrapes.sk/koniec-projektoveho-manazmentu-v-riadeni-sw-projektov/</link><guid isPermaLink="false">5eb2cda7ec65161b83a99ec5</guid><category><![CDATA[pmft]]></category><category><![CDATA[project]]></category><category><![CDATA[management]]></category><category><![CDATA[agile]]></category><category><![CDATA[waterfall]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Thu, 07 May 2020 06:25:42 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/05/infinite---end-of-project-management---202005.png" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/05/infinite---end-of-project-management---202005.png" alt="Koniec projektového manažmentu v riadení SW projektov?"><p>Že user story vie (na)písať každý je lajtmotív mojej misie.</p><p>Do mojej schránky dorazila otázka:</p><blockquote>“Keď bude <em>biznis</em> vedieť sám písať user story, a komunikovať de facto priamo s výrobcom softvéru, potom nebude treba projektových manažérov?”<br></blockquote><p>V striktnom ponímaní lean a agile všetko ostatné okrem kódovania (t.z. aktivity, ktoré netvoria softvérový produkt) sa považuje za odpad (waste, overhead). V tejto optike niekto (projekťák) kto pripomína prioritu úloh, prestavuje dátum splnenia, sa javi ako veľmi nepotrebný člen tímu. </p><p>Čo?! Ok, neni to take čiernobiele, tak čítaj ďalej. Všetci hardcore agilisti, hlavne extrémni programátori (xP), nemusia pokračovať v čítaní ďalej. Pre nich však mám posolostvo, že  ja vidím zmysel v tom, aby sme sa hrali najprv so slovami (písali user stories, dizajnovali procesy) a kreslili procesné diagramy, mockovali hrubé prototypy (<a href="https://basecamp.com/shapeup/1.3-chapter-04#breadboarding">breadboarding</a>), až potom išli kódiť.</p><p>Osobne si myslím, že niektorí súčasní projekt manažéri softvérových projektov budú konvertovať k produktovým vlastníkom (PO - product owner). Hlavne tí, ktorí inklinujú viac k tomu, <strong>čo</strong> riešime, nie <strong>ako</strong> zabezpečíme zdroje (na riešenie).<br></p><p>PO je špecifická rola v metodike SCRUM. Častovať niektorých PO produktovými manažérmi môže byť overkill alebo urážka produktových manažérov. Každopádne produktový manažér je strategická rola, PO je taktická rola. Stále platí, že to môže byť tá istá osoba. PO je zvyčajne osoba ktorá robí prepojenie medzi biznisom a IT, a varí user stories.<br></p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>Projektový manažér</th>
<th>Produktový manažér</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ako?</td>
<td>Čo?</td>
</tr>
<tr>
<td>Ako zabezpečím zdroje?</td>
<td>Čo ideme vytvoriť?</td>
</tr>
<tr>
<td>Kto má aké úlohy?</td>
<td>Aký problém riešime?</td>
</tr>
<tr>
<td>Do kedy úlohy urobí?</td>
<td>Aký to má benefit?</td>
</tr>
<tr>
<td>Rozsah, rozpočet, plán, riziká a dodávky</td>
<td>Zákazník, hodnota, vnútorná motivácia, zodpovednosť tímu</td>
</tr>
<tr>
<td>Kedy sa dosiahnu míľniky?</td>
<td>Čo?</td>
</tr>
<tr>
<td>Ako?</td>
<td>Metriky, výsledky, UX, dopad (impact) a hodnota</td>
</tr>
<tr>
<td>Waterfall</td>
<td>Agile</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><h2 id="od-projektu-k-produktu">Od projektu k produktu<br></h2><p>Rola projekťáka sa transformuje do role odstraňovača prekážok. Úspešných self managed tímov nebude (zatiaľ) až tak veľa, a keď príde na to, že: <br>a) treba pritlačiť a niečo presadiť u C-level, <br>b) treba sa zbaviť nejakého neproduktívneho člena tímu, <br>všetci tieto “manažérske” úlohy, radi odovzdajú na vyriešenie niekomu inému.</p><p>Riešiteľský tím si žije v tak kvalitnej bublinke, akú im dokáže manažér zabezpečiť.</p><h2 id="ako-sa-pribl-i-k-agiln-mu-a-lean-pr-stupu">Ako sa priblížiť k agilnému a lean prístupu?<br></h2><p>Pre firmu, ktorej hlavným produktom/službou nie je IT produkt/služba, vieš aplikovať metodiku SCRUM (presne podľa príručky) len v prípade in-house vývojárskeho tímu. Ak <em>IT službu</em> obstarávaš od dodávateľa, je treba sa prispôsobiť. Ideálne je sa tomuto scenáru (mať inhouse tím vývojárov) približovať, ale to nie vždy je možné. </p><p>Agilné metodiky nepoznajú rámcovanie projekt. Organizácie práce sa točí okolo priebežného došpecifikovávania eposov (epic) do detailnejších user stories, požiadavka na to, aby user stories po doručení v rámci šprintu (časové ohraničenie pre vývoj) mali aj biznis hodnotu (rešpektovali tzv. definition of done).</p><p>Odporúčam každému projektovému manažérovi, aby dĺžku projektov vedome skracoval, čo má potom vplyv na to, že zásadné otázky, ktoré riešim ako projektový manažér (viď tabuľka), majú menšiu váhu, preto môžu napáchať menej škody. </p><p>Aby som však neriešil diskonektnuté mini projekty, potrebujem <strong>víziu</strong> produktového vlastníka, ako tieto (mini) projekty na seba nadväzujú (ako sa dopĺňajú) - <strong>roadmapu</strong>. V SCRUme produktový vlastník túto víziu preberá od C-level manažérov. Alebo sami C-level manažéri sú produktovými vlastníkmi.</p><p>Projekt v kontexte vývoja digitálneho produktu je vlastne vedomé rámcovanie toho, ako plánované vylepšenie (inkrement, deliverable) na produkte dosiahnem. Medzi hlavné atribúty projektu patri čas (zostáva kvalita a peniaze). Planovať na dlhé obdobie a myslieť si, že ten plán splním je naivné. A ešte horšie je, keď potom všetko prispôsobujem tomu, aby som ten plán (čas naplnil).</p><h2 id="-m-chce-by-">Čím chceš byť?</h2><p>Ak som ti dnes pomohol odpovedať na otázku, čím chceš byť, keď budeš veľký, tak som trafil týmto článkom klinec po hlavičke. Uvedomenie si zodpovedností a kompetencií spomínaných rolí a zameranie sa na jednu z nich prinesie lepšie konečné výsledky. Never tomu, že generalistov ako MacGyver čaká svetlá budúcnosť. Tá čaká T-shaped špecialistov. 😄<br><br></p>]]></content:encoded></item><item><title><![CDATA[Esej vs esej]]></title><description><![CDATA[Ak si niekedy čítal, alebo písal, obsiahlejší dokument s definíciou biznis požiadavky na softvérové riešenie, zbystri pozornosť, táto informácia ti môže zmeniť život 😄]]></description><link>https://infinitegrapes.sk/esej-vs-esej/</link><guid isPermaLink="false">5ea2d706ec65161b83a99e88</guid><category><![CDATA[pmft]]></category><category><![CDATA[product]]></category><category><![CDATA[project]]></category><category><![CDATA[management]]></category><category><![CDATA[agile]]></category><category><![CDATA[backlog]]></category><dc:creator><![CDATA[Ivan Krištof]]></dc:creator><pubDate>Fri, 24 Apr 2020 12:18:10 GMT</pubDate><media:content url="http://infinitegrapes.sk/content/images/2020/04/infinite-esej-vs-esej-unsplash.jpg" medium="image"/><content:encoded><![CDATA[<img src="http://infinitegrapes.sk/content/images/2020/04/infinite-esej-vs-esej-unsplash.jpg" alt="Esej vs esej"><p>V tejto situácii sa najčastejšie môžeš vyskytnúť, ak ti softvérové riešenie dodáva externý partner (software house, integrátor). Ak funguješ s internými vývojovým tímom, agilne, scrum, atď. tak snáď týmto neduhom, ktorý budem opisovať, netrpíš.</p><h1 id="ment-lne-cvi-enie">Mentálne cvičenie</h1><p><strong>Prácne spíšeš biznis požiadavky vo forme eseje (dlhý wordovský dokument). </strong>“Finálnej” verzii dokumentu predchádzalo niekoľko výmien, v rámci ktorých si požiadavku klarifikoval so stakeholderom (zadávateľom), a v niektorých prípadoch aj s vývojárom (dodávateľom), aby si neprestrelil (technické požiadavky, rozumné možnosti).</p><p>A potom, ako si požiadal o návrh riešenia od vývojára (zvyčajne po pár dňoch)<strong> dostaneš</strong> <strong>novú esej</strong>. A túto esej musíš (niekto v tíme) skontrolovať, či si s ňou spokojný, či niečo nevypadlo z toho, čo si pôvodne napísal do tvojho zadania požiadaviek, či to bolo správne pochopené.</p><p>Čím väčší rozsah požiadavky, tým väčšia mentálna energia potrebná na vykonanie tejto kontroly, porovnania.</p><p>❓Je toto efektívna cesta? Nie. Čo je alternatíva? Použi user stories. UTFUS - use the friendly user stories. </p><h1 id="-o-m-m-spravi-">Čo mám spraviť?!</h1><ol><li>Nepíš esej, použi štruktúru (tabuľku), zoznam user stories s akceptačnými kritériami</li><li>Snaž sa rozsah jednotlivých user stories držať na bare minimimum (postupy: user story splitting, INVEST)</li><li>Vývojár (programátor) má za úlohu naplniť hlavné očakávanie popisané samotnou user story notáciou (As &lt;role&gt; I want &lt;something&gt; to have &lt;benefit&gt;), a skontrolovať naplnenie všetkých akceptačných kritérii. Voči akceptačným kritériam, ich kombinácii, je možné napísať testovacie scenáre.</li><li>Na (do)ladení požiadavky spolupracujú všetky zúčastnené strany (zákazník aj dodávateľ) a pracujú nad rovnakým zoznamom (zdieľaným v oblaku, ideálne s version control  - keby náhodou). Na písanie dokonalého zadania nie je priestor, dokonalé zadanie je mýtus. Lepšie je začať good enough, ktoré sa doladí.<br></li></ol><h1 id="m-e-te-esej-miesto-na-ivot">Má ešte esej miesto na život?</h1><p>Áno, tým miestom je epos (Epic). Tam máš odomňa zelenú, aby tam sumarizoval:</p><ul><li>braindump (čo povedal koncový zákazník, že chce, alebo čo treba spraviť),</li><li>status quo (kde sa nachádzame, aký máme problém, alebo príležitosť),</li><li>vízia budúcnosti, ciele (kam sa chceme dopracovať).<br></li></ul><p>Prosím, ak ide o definíciu toho, čo má robiť softvér, použi na to user stories. Má to aj ďalšie benefity:</p><ul><li>dobre čitateľná dokumentácia pre BFU,</li><li>prehľadná štruktúrovaná dokumentácia,</li><li>identifikácia must-have a nice-to-have funkcionalít.<br></li></ul><p>💡Ak si zatiaľ na napísanie požiadaviek vo forme user stories netrúfaš, žiaden problém. Kým sa to naučíš, požiadaj o to svojho dodávateľa, aby tvoje zadanie spracoval týmto spôsobom.</p>]]></content:encoded></item></channel></rss>