{"id":431,"date":"2025-03-25T18:22:29","date_gmt":"2025-03-25T18:22:29","guid":{"rendered":"https:\/\/www.ladislavnovak.com\/?p=431"},"modified":"2025-03-25T18:52:48","modified_gmt":"2025-03-25T18:52:48","slug":"transparency-how-to-boost-dashboard-adoption","status":"publish","type":"post","link":"https:\/\/www.ladislavnovak.com\/cs\/transparency-how-to-boost-dashboard-adoption\/","title":{"rendered":"Transparentnost: Jak zlep\u0161it adopci dashboardu"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">minuty \u010dten\u00ed<\/span><\/span>\n<p class=\"translation-block\">Za\u010dn\u011bme od konce \u2014 od toho, co opravdu fungovalo.\nTady jsou lekce, kter\u00e9 jsme si odnesli p\u0159i budov\u00e1n\u00ed a zav\u00e1d\u011bn\u00ed na\u0161eho intern\u00edho projektov\u00e9ho dashboardu. Jsou to <strong>mal\u00e9, ale \u00fa\u010dinn\u00e9 kroky<\/strong>, kter\u00e9 n\u00e1m pomohly s adopc\u00ed a ud\u011blaly z dashboardu re\u00e1ln\u011b u\u017eite\u010dn\u00fd n\u00e1stroj.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"translation-block\">A ne\u017e \u0159eknete \u201emy u\u017e n\u011bjak\u00fd task management m\u00e1me\u201c \u2014 ano, samoz\u0159ejm\u011b m\u00e1te. Ka\u017ed\u00fd m\u00e1.\nAle vizualizace dat je \u00fapln\u011b <strong>jin\u00e1 discipl\u00edna<\/strong>.<\/p>\n\n\n\n<p>A taky: pokud si nejd\u0159\u00edv neuklid\u00edte data, \u017e\u00e1dn\u00fd dashboard v\u00e1s nezachr\u00e1n\u00ed. Jak se \u0159\u00edk\u00e1:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote my-quote is-layout-flow wp-container-core-quote-is-layout-8f8dcc2a wp-block-quote-is-layout-flow\" style=\"margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-bottom:0\">\n<p>&#8220;<em><strong>GARBAGE IN, GARBAGE OUT<\/strong><\/em>&#8220;<\/p>\n<\/blockquote>\n\n\n\n<p>Tady je, co fungovalo n\u00e1m:<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">1. Nenahrazujte sv\u016fj task management syst\u00e9m<\/h2>\n\n\n\n<p class=\"translation-block\">Dashboard slou\u017e\u00ed pouze k vizualizaci. To je cel\u00e9.\n<br>Nesna\u017ete se z n\u011bj ud\u011blat Jira, Trello nebo cokoliv jin\u00e9ho.<br>\nDr\u017ete se jednoduchosti. KISS \u2014 Keep it simple and stupid.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">2. Za\u010dn\u011bte hackathonem<\/h2>\n\n\n\n<p class=\"translation-block\">Dashboard jsme rozjeli b\u011bhem hackathonu \u2014 a up\u0159\u00edmn\u011b, byla to nejrychlej\u0161\u00ed cesta k v\u00fdsledku.\n<br>Nebyla to \u017e\u00e1dn\u00e1 \u201emana\u017eersk\u00e1 v\u011bc shora\u201c, ale otev\u0159en\u00fd projekt pro v\u0161echny.<br>\nKa\u017ed\u00fd si mohl vybrat technologii nebo n\u00e1stroj podle sebe, a hlavn\u011b \u2014 byla to sranda.<\/p>\n\n\n\n<p class=\"translation-block\">Takhle nakonec vypadal n\u00e1\u0161 technick\u00fd n\u00e1vrh \u2013 \u201ctech zoo\u201d, kter\u00fd jsme pou\u017eili.\nBylo to rychl\u00e9, jednoduch\u00e9\u2026 a funguje to perfektn\u011b. \ud83d\ude80<\/p>\n\n\n\n<p>Frameworky:\u00a0<a href=\"https:\/\/deno.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Deno<\/a>\u00a0+\u00a0<a href=\"https:\/\/fresh.deno.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fresh<\/a><br>HTML and CSS:\u00a0<a href=\"https:\/\/preactjs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Preact<\/a>\u00a0+\u00a0<a href=\"https:\/\/tailwindcss.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">TailwindCSS<\/a><br>Charts:\u00a0<a href=\"https:\/\/www.chartjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Chart.js<\/a><\/p>\n\n\n\n<p>Data se stahuj\u00ed z Jiry (REST API) ka\u017ed\u00fdch 10 minut pomoc\u00ed fetch funkce Dena a ukl\u00e1daj\u00ed se do PostgreSQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">3. \u010cistota dat je nutnost<\/h2>\n\n\n\n<p>M\u00e1me automatizace, kter\u00e9 n\u00e1m pom\u00e1haj\u00ed udr\u017eet data \u010dist\u00e1 \u2014 nap\u0159\u00edklad:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sledujeme, jestli se na n\u00e1hodou na epic\u00edch v backlogu aktivn\u011b nepracuje (tedy jestli m\u00e1 p\u0159i\u0159azen\u00e9 issues).<\/li>\n\n\n\n<li>Dvakr\u00e1t t\u00fddn\u011b m\u00e1me na Slacku p\u0159ipom\u00ednky vlastn\u00edk\u016fm neudr\u017eovan\u00fdch epik\u016f.<\/li>\n<\/ul>\n\n\n\n<p>Dirty data ruins everything. Clean data saves lives. Okay, maybe not lives. But it certainly saves your efforts.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"526\" height=\"104\" src=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/image.png\" alt=\"\" class=\"wp-image-432\" style=\"width:283px;height:auto\" srcset=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/image.png 526w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/image-300x59.png 300w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/image-18x4.png 18w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" src=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-1024x736.png\" alt=\"\" class=\"wp-image-433\" srcset=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-1024x736.png 1024w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-300x216.png 300w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-768x552.png 768w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-1536x1104.png 1536w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-2048x1472.png 2048w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-18x12.png 18w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/slack-1320x949.png 1320w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">4. Dvorn\u00ed v\u00fdvoj\u00e1\u0159 CTO<\/h2>\n\n\n\n<p>Jako CTO m\u00e1m to \u0161t\u011bst\u00ed, \u017ee m\u00e1m \u201edvorn\u00edho v\u00fdvoj\u00e1\u0159e\u201c \u2014 n\u011bkoho, kdo mi pom\u00e1h\u00e1 s dashboardy, automatizac\u00ed i rychl\u00fdmi experimenty.<br><br>M\u00edt n\u011bkoho takov\u00e9ho je obrovsk\u00fd rozd\u00edl, kdy\u017e pot\u0159ebujete jednat rychle a u\u017e nem\u00e1te \u010das na k\u00f3dov\u00e1n\u00ed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">5. Pokud ho nepou\u017e\u00edv\u00e1te ve\u0159ejn\u011b, lidi si budou myslet, \u017ee je zbyte\u010dn\u00fd<\/h2>\n\n\n\n<p class=\"translation-block\">Tohle si zaslou\u017e\u00ed b\u00fdt dvakr\u00e1t podtr\u017een\u00e9.\n<strong>\u010c\u00edm v\u00edc dashboard pou\u017e\u00edv\u00e1te ve\u0159ejn\u011b, t\u00edm v\u00edc si ostatn\u00ed daj\u00ed z\u00e1le\u017eet na spr\u00e1vnosti dat.<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote my-quote is-layout-flow wp-container-core-quote-is-layout-8f8dcc2a wp-block-quote-is-layout-flow\" style=\"margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-bottom:0\">\n<p><em>\u201eLidi ukl\u00edz\u00ed, kdy\u017e v\u011bd\u00ed, \u017ee se n\u011bkdo d\u00edv\u00e1.\u201c<\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">6. Pravideln\u00e9 (a n\u00e1hodn\u00e9) revize<\/h2>\n\n\n\n<p>Na ka\u017ed\u00e9 synchroniza\u010dn\u00ed sch\u016fzce si nech\u00e1v\u00e1m 15 minut na otev\u0159en\u00ed dashboardu a koment\u00e1\u0159e k tomu, co vid\u00edm:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201eVypad\u00e1 to, \u017ee nespln\u00edme kvart\u00e1ln\u00ed c\u00edle\u2026\u201c<\/li>\n\n\n\n<li>\u201eN\u011bkdo pracuje na epiku, kter\u00fd nen\u00ed ani p\u0159ipraven\u00fd?\u201c<\/li>\n\n\n\n<li>\u201eJeden t\u00fdm m\u00e1 moc rozpracovan\u00fdch epik\u016f \u2014 co se tam d\u011bje?\u201c<\/li>\n<\/ul>\n\n\n\n<p>Nemus\u00edte m\u00edt \u017e\u00e1dn\u00fd velk\u00fd proslov. Sta\u010d\u00ed uk\u00e1zat, \u017ee to sledujete.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">7. Sd\u00edlejte \u00fasp\u011bchy<\/h2>\n\n\n\n<p>Dejte lidem v\u011bd\u011bt, kdy\u017e v\u00e1m dashboard pomohl.<\/p>\n\n\n\n<p class=\"translation-block\">Nap\u0159\u00edklad: <em>\u201eKdy\u017e se m\u011b \u0161\u00e9f zeptal na stav projektu, otev\u0159el jsem n\u00e1\u0161 dashboard a b\u011bhem 5 sekund mu odpov\u011bd\u011bl. Byl p\u0159ekvapen\u00fd \u2014 a cht\u011bl hned vid\u011bt, co to pou\u017e\u00edv\u00e1me.\u201c<\/em><\/p>\n\n\n\n<p>Tak budujeme d\u016fv\u011bru a adopci i mimo v\u00fdvoj.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">8. Netla\u010dte. \u010cekejte.<\/h2>\n\n\n\n<p class=\"translation-block\">Mo\u017en\u00e1 trochu osobn\u00ed \u00fahel pohledu, ale u n\u00e1s to fungovalo:<br><strong>\nNeobch\u00e1zejte firmu s dashboardem jako s nov\u00fdm spor\u0165\u00e1kem.<\/strong><br>\nPo\u010dkejte na spr\u00e1vn\u00fd okam\u017eik \u2014 t\u0159eba kdy\u017e se n\u011bkdo zept\u00e1:<\/p>\n\n\n\n<p class=\"translation-block\">\u201eHele, jak to vypad\u00e1 s Projektem X?\u201c<br>\n<em>A to je v\u00e1\u0161 moment.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>V dal\u0161\u00edch \u010dl\u00e1nc\u00edch v\u00e1s krok za krokem provedu t\u00edm, co jsme p\u0159esn\u011b ud\u011blali \u2014 od prvotn\u00edho n\u00e1padu a\u017e po funk\u010dn\u00ed, d\u016fv\u011bryhodn\u00fd dashboard.<\/p>\n\n\n\n<p>Ka\u017ed\u00fd \u010dl\u00e1nek se bude v\u011bnovat d\u00edl\u010d\u00ed \u010d\u00e1sti, dopln\u011bn\u00fd o screenshoty (proto\u017ee si p\u0159iznejme \u2014 kdo by nemiloval screenshoty?) a vysv\u011btlen\u00edm, pro\u010d to fungovalo (nebo taky ne).<\/p>\n\n\n\n<p>Tady je mal\u00e1 ochutn\u00e1vka v podob\u011b p\u00e1r screen\u016f:<\/p>\n\n\n\n<p>Initiatives view:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"503\" src=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2-1024x503.png\" alt=\"\" class=\"wp-image-437\" srcset=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2-1024x503.png 1024w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2-300x147.png 300w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2-768x377.png 768w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2-1536x754.png 1536w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2-18x9.png 18w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2-1320x648.png 1320w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/initiatives-2.png 1900w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Initiatives view with risk level filter:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"504\" src=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level-1024x504.png\" alt=\"\" class=\"wp-image-436\" srcset=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level-1024x504.png 1024w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level-300x148.png 300w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level-768x378.png 768w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level-1536x757.png 1536w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level-18x9.png 18w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level-1320x650.png 1320w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/risk-level.png 1882w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Overview:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"508\" src=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview-1024x508.png\" alt=\"\" class=\"wp-image-438\" srcset=\"https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview-1024x508.png 1024w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview-300x149.png 300w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview-768x381.png 768w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview-1536x763.png 1536w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview-18x9.png 18w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview-1320x655.png 1320w, https:\/\/www.ladislavnovak.com\/wp-content\/uploads\/2025\/03\/overview.png 1887w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>","protected":false},"excerpt":{"rendered":"<p>A practical example of our Family Point System, including tasks, points, and rewards that serve as a screen time solution while reinforcing our values.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[11,10,9],"class_list":["post-431","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-creativity","tag-family","tag-improvement"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/posts\/431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/comments?post=431"}],"version-history":[{"count":5,"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/posts\/431\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/posts\/431\/revisions\/446"}],"wp:attachment":[{"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/media?parent=431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/categories?post=431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ladislavnovak.com\/cs\/wp-json\/wp\/v2\/tags?post=431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}