{"id":531,"date":"2011-06-12T20:09:03","date_gmt":"2011-06-12T19:09:03","guid":{"rendered":"http:\/\/agile.sk\/?p=531"},"modified":"2011-06-12T20:09:03","modified_gmt":"2011-06-12T19:09:03","slug":"extremne-dobry-v-extremnom-programovani","status":"publish","type":"post","link":"https:\/\/agile.sk\/?p=531","title":{"rendered":"Extr\u00e9mne dobr\u00fd v extr\u00e9mnom programovan\u00ed"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-532\" src=\"http:\/\/agile.sk\/wp-content\/uploads\/2011\/06\/the.agile.development.jpg\" alt=\"the.agile.development\" width=\"200\" height=\"215\" \/>Jedna z\u00a0vec\u00ed, ktor\u00fa som sa nau\u010dil o\u00a0tom, ako sa vysvet\u013euj\u00fa agiln\u00e9 met\u00f3dy (alebo v\u00a0podstate \u010doko\u013evek, \u010do je netradi\u010dn\u00e9) je, \u017ee niet nad dobr\u00fa metaforu. Moja ob\u013e\u00faben\u00e1 hovor\u00ed o\u00a0tom, \u017ee v\u00fdvoj softv\u00e9ru je ako kr\u00e1janie torty. Raz za \u010das (zv\u00e4\u010d\u0161a na konci iter\u00e1cie) chcete da\u0165 z\u00e1kaznikovi ochutna\u0165 to, \u010do pe\u010diete. Tak ako torta je najlep\u0161ia, ke\u010f sa re\u017ee vertik\u00e1lne (preto\u017ee obsahuje v\u0161etky tie r\u00f4zne, chutn\u00e9 vrstvy) tak ten pr\u00edrastok k\u00f3du v\u00a0tejto iter\u00e1cii by mal by\u0165 vo v\u0161etk\u00fdch vrstv\u00e1ch aplik\u00e1cie (od datab\u00e1zy a\u017e po zobrazovaciu vrstvu). Skon\u010di\u0165 iter\u00e1ciu s\u00a0t\u00fdm, \u017ee m\u00e1me hotov\u00fa kompletn\u00fa datab\u00e1zu, ktor\u00fa ale z\u00e1kazn\u00edk nevie oceni\u0165, je ako odreza\u0165 niekomu kruh pi\u0161k\u00f3tov\u00e9ho cesta zospodu torty. Kniha The Art of Agile Development od Jamesa Shora a\u00a0Shane Wardena obsahuje okrem in\u00fdch drahokamov aj mno\u017estvo podobn\u00fdch metaf\u00f3r.<\/p>\n<p>The Art of Agile Development je pr\u00edru\u010dka extr\u00e9mneho programovania.\u00a0 Je dobr\u00e1 pre \u00fapln\u00fdch za\u010diato\u010dn\u00edkov aj pokro\u010dil\u00fdch agilistov. Hne\u010f prv\u00e1 \u010das\u0165 je ur\u010den\u00e1 tej prvej skupine. Vysvet\u013euje z\u00e1kladn\u00e9 my\u0161lienky, ktor\u00e9 sa skr\u00fdvaj\u00fa za praktikami extr\u00e9mn\u00e9ho programovania. Rozober\u00e1 roly, ktor\u00e9 v\u00a0takom t\u00edme s\u00fa a\u00a0nech\u00fdba kapitola s\u00a0inform\u00e1ciami ako to cel\u00e9 za\u010da\u0165. T\u00ed pokro\u010dilej\u0161\u00ed tam m\u00f4\u017eu n\u00e1js\u0165 tabu\u013eku porovnania prakt\u00edk, ktor\u00e9 odpor\u00fa\u010daj\u00fa autori v\u00a0extr\u00e9mnom programovan\u00ed vo\u010di praktik\u00e1m z\u00a0prv\u00e9ho a\u00a0druh\u00e9ho vydania Extreme Programming Explained od Kenta Becka a Scrumu.<\/p>\n<p>Najpodstatnej\u0161ia z\u00a0knihy je druh\u00e1 \u010das\u0165. T\u00e1 obsahuje zoznam 37 prakt\u00edk rozdelen\u00fdch do 5 oblast\u00ed. Praktiky sa\u00a0 r\u00f4znia od vyslovene technick\u00fdch, ako napr\u00edklad Pair Programming, Iteration Demo, Ten-minutes Build a\u017e po pomerne filozofick\u00e9 ako Trust (d\u00f4vera medzi \u010dlenmi t\u00edmu alebo t\u00edmom a\u00a0z\u00e1kazn\u00edkom), Energized Work (t.j. pre\u010do nerobi\u0165 nad\u010dasy) alebo Slack. Ka\u017ed\u00e1 praktika je podrobne rozobran\u00e1 (kniha m\u00e1 400 str\u00e1n) a\u00a0obsahuje \u010dasti:<\/p>\n<ul>\n<li>Pre\u010do to v\u00f4bec robi\u0165?<\/li>\n<li>Ako to robi\u0165?<\/li>\n<li>Podrobn\u00fd popis<\/li>\n<li>\u010casto kladen\u00e9 ot\u00e1zky oh\u013eadom tejto praktiky<\/li>\n<li>Mo\u017en\u00e9 probl\u00e9my<\/li>\n<li>Alternat\u00edvy k\u00a0praktike<\/li>\n<li>Zhrnutie<\/li>\n<li>Zoznam literat\u00fary na \u010fal\u0161ie \u0161t\u00fadium<\/li>\n<\/ul>\n<p>Okrem toho s\u00fa medzi praktikami kr\u00ed\u017eov\u00e9 odkazy, ktor\u00e9 hovoria o\u00a0tom, ktor\u00e9 postupy je dobr\u00e9 pou\u017e\u00edva\u0165 spolu (a z\u00edska\u0165 tak synergick\u00fd efekt). Ka\u017ed\u00e1 z\u00a0piatich oblast\u00ed, v\u00a0ktor\u00fdch s\u00fa praktiky rozdelen\u00e9,\u00a0 obsahuje tie\u017e jedno cvi\u010denie na preh\u013abenie pochopenia my\u0161lienky, ktor\u00e1 sa za \u0148ou skr\u00fdva.<\/p>\n<p>Pre t\u00fdch, ktor\u00fdm s\u00fa zn\u00e1me praktiky a\u00a0ktor\u00ed h\u013eadaj\u00fa nie\u010do viac, je ur\u010den\u00e1 posledn\u00e1 \u010das\u0165. Autori sa v\u00a0nej sna\u017eia uk\u00e1za\u0165 ako rozv\u00edja\u0165 agiln\u00e9 praktiky \u010falej (\u010dasto kr\u00e1t ide u\u017e o\u00a0ladenie detailov vo vz\u0165ahu projekt \u2013 met\u00f3da riadenia). Zaoberaj\u00fa sa hlavn\u00fdmi my\u0161lienkami extr\u00e9mneho programovania a\u00a0sna\u017eia sa uk\u00e1za\u0165 mo\u017en\u00e9 smery, ktor\u00fdmi sa d\u00e1 \u00eds\u0165 \u010falej. Tretia \u010das\u0165 obsahuje kapitoly ako Values and Principles, Improve the Process, Rely on People, Eliminate Waste, Deliver Value a\u00a0Seek Technical Excellence.<\/p>\n<p>Kniha je celkom dobre postaven\u00e1 a\u00a0nap\u00edsan\u00e1. Postupne za\u010d\u00edna z\u00e1kladn\u00fdmi my\u0161lienkami, vysvet\u013euje praktiky a\u017e fini\u0161uje otvoren\u00fdm koncom o\u00a0smerovan\u00ed \u010fal\u0161ieho v\u00fdvoja. Ve\u013emi \u0165a\u017eko v\u00a0nej budete h\u013eada\u0165 hranice medzi technick\u00fdmi praktikami v\u00fdvoja a\u00a0praktikami riadenia t\u00edmu, \u010do je ale pre extr\u00e9mne programovanie pr\u00edzna\u010dn\u00e9. Ned\u00e1 mi ale nevytkn\u00fa\u0165 jednu vec. Autori de-facto ignoruj\u00fa testerov. Hovoria hlavne o\u00a0program\u00e1toroch a\u00a0analytikoch a\u00a0len sem-tam utr\u00fasia pozn\u00e1mku typu: \u201eK tomuto m\u00f4\u017ee prizva\u0165 aj testerov.\u201c Osobne sa s\u00a0t\u00fdmto neviem stoto\u017eni\u0165, preto\u017ee pova\u017eujem testersk\u00fa pr\u00e1cu za rovnako d\u00f4le\u017eit\u00fa a\u00a0komplikovan\u00fa ako pr\u00e1cu v\u00fdvoj\u00e1rov (hlavne ak sa za\u010dne bra\u0165 do \u00favahy automatizovan\u00e9 testovanie).<\/p>\n<p>A\u00a0kde s\u00fa metafory, ktor\u00e9 som spom\u00ednal na za\u010diatku? S\u00fa rozhoden\u00e9 po celej knihe, ale najviac je ich v\u00a0druhej \u010dasti. V\u00a0tomto smere pova\u017eujem t\u00fato knihu za najlep\u0161iu, ak\u00fa som kedy mal v\u00a0ruk\u00e1ch. Na z\u00e1ver jedna za v\u0161etky: Predstavte si balvan na vrchu kopca. Ako tak stoj\u00ed na tom kopci, ma s\u00e1m o\u00a0sebe potenci\u00e1l h\u00fdba\u0165 sa, ale potrebuje mal\u00e9 postr\u010denie, aby sa rozbehol, aby sa t\u00e1 energia uvo\u013enila. Tvar krajiny sa ale \u010dasom men\u00ed a\u00a0to \u010do je dnes kopec m\u00f4\u017ee by\u0165 po \u010dase rovina a\u00a0tak v\u00e1hanie m\u00f4\u017ee sp\u00f4sobi\u0165, \u017ee\u00a0balvan strat\u00ed svoj potenci\u00e1l. Balvan = hotov\u00fd softv\u00e9r, postr\u010denie = zverejnenie (release).<\/p>\n\n<!-- Facebook Like Button v1.9.6 BEGIN [http:\/\/blog.bottomlessinc.com] -->\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fagile.sk%2F%3Fp%3D531&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px; height: 30px; align: left; margin: 20px 0px 2px 0px\"><\/iframe>\n<!-- Facebook Like Button END -->\n","protected":false},"excerpt":{"rendered":"<p>Jedna z\u00a0vec\u00ed, ktor\u00fa som sa nau\u010dil o\u00a0tom, ako sa vysvet\u013euj\u00fa agiln\u00e9 met\u00f3dy (alebo v\u00a0podstate \u010doko\u013evek, \u010do je netradi\u010dn\u00e9) je, \u017ee niet nad dobr\u00fa metaforu. Moja ob\u013e\u00faben\u00e1 hovor\u00ed o\u00a0tom, \u017ee v\u00fdvoj softv\u00e9ru je ako kr\u00e1janie torty. Raz za \u010das (zv\u00e4\u010d\u0161a na konci iter\u00e1cie) chcete da\u0165 z\u00e1kaznikovi ochutna\u0165 to, \u010do pe\u010diete. Tak ako torta je najlep\u0161ia, ke\u010f [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[26,17],"_links":{"self":[{"href":"https:\/\/agile.sk\/index.php?rest_route=\/wp\/v2\/posts\/531"}],"collection":[{"href":"https:\/\/agile.sk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agile.sk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agile.sk\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/agile.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=531"}],"version-history":[{"count":1,"href":"https:\/\/agile.sk\/index.php?rest_route=\/wp\/v2\/posts\/531\/revisions"}],"predecessor-version":[{"id":533,"href":"https:\/\/agile.sk\/index.php?rest_route=\/wp\/v2\/posts\/531\/revisions\/533"}],"wp:attachment":[{"href":"https:\/\/agile.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agile.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agile.sk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}