{"id":63175,"date":"2022-04-11T13:55:22","date_gmt":"2022-04-11T13:55:22","guid":{"rendered":"https:\/\/www.globallogic.com\/sk\/?post_type=insightsection&p=63175"},"modified":"2025-03-08T17:43:08","modified_gmt":"2025-03-08T17:43:08","slug":"bezpecny-softver-agilnym-vyvojom","status":"publish","type":"insightsection","link":"https:\/\/www.globallogic.com\/sk\/insights\/blogs\/bezpecny-softver-agilnym-vyvojom\/","title":{"rendered":"Bezpe\u010dn\u00fd softv\u00e9r agiln\u00fdm v\u00fdvojom"},"content":{"rendered":"
Na druhej strane pri v\u00fdvoji softv\u00e9ru m\u00f4\u017eeme ka\u017ed\u00fa jednu po\u017eiadavku pova\u017eova\u0165 za nov\u00fd v\u00fdrobok, ktor\u00fd v kone\u010dnom d\u00f4sledku pri integrovan\u00ed do celku tvor\u00ed v\u00fdsledn\u00fd produkt. Ka\u017ed\u00e1 po\u017eiadavka je jedine\u010dn\u00e1 a ich variabilita je obrovsk\u00e1. Postup pou\u017e\u00edvan\u00fd pri laden\u00ed linky na v\u00fdrobu fyzick\u00e9ho produktu teda nebude fungova\u0165. Existuje ale nieko\u013eko pr\u00edstupov, ako sa sna\u017e\u00edme tento probl\u00e9m rie\u0161i\u0165. Pokia\u013e softv\u00e9r nie je kritick\u00fd, a teda nehroz\u00ed, \u017ee by jeho nedokonalos\u0165 ohrozila zdravie \u013eud\u00ed alebo sp\u00f4sobila obrovsk\u00fa finan\u010dn\u00fa ujmu, pou\u017e\u00edvame takzvan\u00e9 agiln\u00e9 procesy. Implementovan\u00edm t\u00fdchto procesov dok\u00e1\u017eeme pomerne v kr\u00e1tkom \u010dase vytvori\u0165 stabiln\u00fd softv\u00e9r presne pod\u013ea po\u017eiadaviek v stanovenom \u010dase a za odhadovan\u00e9 n\u00e1klady.<\/span><\/p>\n \u010co ale v pr\u00edpade, \u017ee sa jedn\u00e1 o kritick\u00fd softv\u00e9r, na ktor\u00fd s\u00fa kladen\u00e9 extr\u00e9mne po\u017eiadavky z poh\u013eadu spo\u013eahlivosti (napr\u00edklad dostupnos\u0165 99,95% po\u010das \u017eivotnosti produktu), bezpe\u010dnosti alebo v\u00fdkonu? Niektor\u00e9 oblasti si toti\u017e nem\u00f4\u017eu dovoli\u0165 chyby v softv\u00e9re, preto\u017ee tieto m\u00f4\u017eu sp\u00f4sobi\u0165 zranenie, smr\u0165, alebo \u0161kody ve\u013ek\u00e9ho rozsahu. Tak\u00fdmi s\u00fa napr\u00edklad automotive, medical, industry a in\u00e9.\u00a0\u00a0<\/span><\/p>\n \u0160tandardy kladen\u00e9 na v\u00fdvoj softv\u00e9ru pre tieto pou\u017eitia vy\u017eaduj\u00fa komplexn\u00fd pr\u00edstup definovan\u00fd takzvan\u00fdm V-modelom. Tento model po\u017eaduje najsk\u00f4r definovanie syst\u00e9mov\u00fdch po\u017eiadaviek, syst\u00e9movej architekt\u00fary, softv\u00e9rov\u00fdch po\u017eiadaviek a n\u00e1vrhu. A\u017e potom sa pristupuje k samotnej implement\u00e1cii, ktor\u00e1 je n\u00e1sledne testovan\u00e1 na r\u00f4znych \u00farovniach.<\/span><\/p>\n Intuit\u00edvny pr\u00edstup n\u00e1m k\u00e1\u017ee v tomto pr\u00edpade venova\u0165 najsk\u00f4r \u010das na anal\u00fdzu v\u0161etk\u00fdch po\u017eiadaviek a na z\u00e1klade tejto anal\u00fdzy navrhn\u00fa\u0165 syst\u00e9mov\u00e9 po\u017eiadavky. Tieto po\u017eiadavky n\u00e1sledne preveri\u0165 a vy\u0161perkova\u0165 v s\u00e9rii reviews a potom sa venova\u0165 n\u00e1vrhu syst\u00e9movej architekt\u00fary. Mnoh\u00ed pozn\u00e1te tento pr\u00edstup pod n\u00e1zvom waterfall syst\u00e9m. Zo sk\u00fasenosti u\u017e vieme, \u017ee tento syst\u00e9m av\u0161ak neprin\u00e1\u0161a potrebn\u00e9 v\u00fdsledky.<\/span><\/p>\n Ak\u00e9 s\u00fa teda mo\u017enosti? Na na\u0161om projekte sme tento probl\u00e9m rie\u0161ili <\/span>prisp\u00f4soben\u00edm (tailoring) agiln\u00e9ho pr\u00edstupu<\/b>. Nejedn\u00e1 sa v\u0161ak o ScrumBut, kedy sa namiesto funk\u010dn\u00e9ho agiln\u00e9ho syst\u00e9mu implementuj\u00fa mnoh\u00e9 kompromisy, ktor\u00e9 v kone\u010dnom d\u00f4sledku zni\u010dia p\u00f4vodne dobre navrhnut\u00fa a zlo\u017een\u00fa sadu pravidiel. Pri prisp\u00f4sobenom agilnom pr\u00edstupe m\u00e1me cel\u00fd <\/span>projektov\u00fd t\u00edm<\/b> rozdelen\u00fd do takzvanej <\/span>syst\u00e9movej <\/b>a<\/span> softv\u00e9rovej \u010dasti<\/b>.\u00a0<\/span><\/p>\n Syst\u00e9mov\u00fd t\u00edm<\/b> pozost\u00e1va zo skupiny analytikov a product ownera, ktor\u00fd ich zdru\u017euje a synchronizuje ich aktivity. Na druhej strane <\/span>softv\u00e9rov\u00fd t\u00edm<\/b> pozost\u00e1va z nieko\u013ek\u00fdch nez\u00e1visl\u00fdch,\u00a0 tzv. cross-component, cross-functional feature t\u00edmov. Znamen\u00e1 to, \u017ee ka\u017ed\u00fd implementa\u010dn\u00fd t\u00edm m\u00e1 zast\u00fapen\u00e9 role potrebn\u00e9 na vytvorenie celej \u0161k\u00e1ly artefaktov po\u017eadovan\u00fdch v\u00fdvojov\u00fdm \u0161tandardom. Patria sem requirement in\u017einier, softv\u00e9rov\u00fd architekt, developer, tester a v neposlednom rade scrum master, ktor\u00fd je zodpovedn\u00fd za v\u00fdvojov\u00fd proces v tomto t\u00edme.<\/span><\/p>\n Syst\u00e9mov\u00fd t\u00edm<\/b> potom pracuje v \u0161es\u0165t\u00fd\u017ed\u0148ov\u00fdch iter\u00e1ci\u00e1ch, po\u010das ktor\u00fdch analytici analyzuj\u00fa a vyjas\u0148uj\u00fa po\u017eiadavky. N\u00e1sledne prich\u00e1dza <\/span>softv\u00e9rov\u00fd t\u00edm<\/b>, ktor\u00fd dan\u00e9 syst\u00e9mov\u00e9 po\u017eiadavky implementuje v troch dvojt\u00fd\u017ed\u0148ov\u00fdch iter\u00e1ci\u00e1ch. Po\u010das implement\u00e1cie <\/span>syst\u00e9mov\u00fd t\u00edm<\/b> pracuje na po\u017eiadavk\u00e1ch pre nasleduj\u00face 3 dvojt\u00fd\u017ed\u0148ov\u00e9 iter\u00e1cie. Takto funguj\u00fa oba t\u00edmy paralelne bez prestojov.<\/span><\/p>\n Vyzer\u00e1 to jednoducho, ale pozornosti sk\u00fasen\u00e9ho \u010ditate\u013ea ur\u010dite neu\u0161la typicky problematick\u00e1 oper\u00e1cia <\/span>odovzd\u00e1vania know-how medzi t\u00fdmito dvoma skupinami<\/b>. Aby sme predi\u0161li klasick\u00fdm neduhom pri odovzd\u00e1van\u00ed know-how, m\u00e1me navrhnut\u00fa <\/span>sadu opatren\u00ed<\/b>, ktor\u00e9 n\u00e1m pom\u00e1haj\u00fa vykona\u0165 t\u00fato k\u013e\u00fa\u010dov\u00fa aktivitu s \u010do najmen\u0161ou stratou inform\u00e1ci\u00ed a \u010dasu:<\/span><\/p>\n Sk\u00fasenosti z prebiehaj\u00faceho projektu ukazuj\u00fa, \u017ee tak\u00e1to synchroniz\u00e1cia, napriek istej \u010dasovej n\u00e1ro\u010dnosti, prin\u00e1\u0161a svoje ovocie v podobe hladk\u00e9ho priebehu a dobrej predv\u00eddate\u013enosti, ak\u00fdm tempom sme ako t\u00edm schopn\u00ed pracova\u0165.<\/span><\/div>\n","protected":false},"excerpt":{"rendered":" V\u00fdvoj kritick\u00e9ho softv\u00e9ru a agiln\u00fd pr\u00edstup – ako na to?<\/p>\n","protected":false},"author":29,"featured_media":63290,"parent":0,"menu_order":0,"template":"","insight":[41],"insight-subcats":[63,61],"insight-industry":[750],"insight-services":[],"insight-partners":[],"class_list":["post-63175","insightsection","type-insightsection","status-publish","has-post-thumbnail","hentry","insight-blogs","insight-subcats-agile","insight-subcats-architecture","insight-industry-technology"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection\/63175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection"}],"about":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/types\/insightsection"}],"author":[{"embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/users\/29"}],"version-history":[{"count":2,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection\/63175\/revisions"}],"predecessor-version":[{"id":102440,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insightsection\/63175\/revisions\/102440"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/media\/63290"}],"wp:attachment":[{"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/media?parent=63175"}],"wp:term":[{"taxonomy":"insight","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight?post=63175"},{"taxonomy":"insight-subcats","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-subcats?post=63175"},{"taxonomy":"insight-industry","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-industry?post=63175"},{"taxonomy":"insight-services","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-services?post=63175"},{"taxonomy":"insight-partners","embeddable":true,"href":"https:\/\/www.globallogic.com\/sk\/wp-json\/wp\/v2\/insight-partners?post=63175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}V\u00fdvoj kritick\u00e9ho softv\u00e9ru a agiln\u00fd pr\u00edstup<\/b><\/h3>\n

Ako uchopi\u0165 odovzd\u00e1vanie know-how?<\/b><\/h3>\n
\n