{"id":2123,"date":"2011-09-01T10:45:18","date_gmt":"2011-09-01T08:45:18","guid":{"rendered":"http:\/\/touk.pl\/blog\/?p=2123"},"modified":"2023-03-22T12:15:42","modified_gmt":"2023-03-22T11:15:42","slug":"zwinna-analiza","status":"publish","type":"post","link":"https:\/\/touk.pl\/blog\/2011\/09\/01\/zwinna-analiza\/","title":{"rendered":"Zwinna analiza"},"content":{"rendered":"<p>Pod koniec czerwca mia\u0142em przyjemno\u015b\u0107 powiedzie\u0107 <a href=\"http:\/\/gigacon.org\/system\/lectures\/attachment1s\/1981\/original\/touk_gigacon.pdf\">kilka s\u0142\u00f3w na konferencji Integracja System\u00f3w Informatycznych GigaCon 2011.<\/a><\/p>\n<p>Z pozosta\u0142ych prelekcji najbardziej zainteresowa\u0142a mnie ta przeprowadzona przez pana Jaros\u0142awa \u017beli\u0144skiego. Zreszt\u0105 sam prelegent w jednym z pierwszych zda\u0144 stwierdzi\u0142, \u017ce b\u0119dzie ze mn\u0105 polemizowa\u0142 (moja prezentacja by\u0142a wcze\u015bniej), czego potem raczej nie robi\u0142. Cho\u0107 sam g\u0142\u00f3wny temat jego prelekcji nie by\u0142 mo\u017ce z punktu widzenia os\u00f3b tworz\u0105cych systemy IT odkrywczy, to wszelkie dygresje by\u0142y bardzo ciekawe, ale \u2026 w wi\u0119kszo\u015bci trudno si\u0119 mi by\u0142o z nimi zgodzi\u0107. I pewnie dlatego by\u0142y dla mnie ciekawe. <\/p>\n<p>Od tamtego czasu sta\u0142em si\u0119 sta\u0142ym czytelnikiem <a href=\"http:\/\/it-consulting.pl\/blog\/\">blogu pana \u017beli\u0144skiego<\/a>. Chcia\u0142bym si\u0119 podzieli\u0107 kilkoma spostrze\u017ceniami do tre\u015bci tam prezentowanych. <\/p>\n<p>Zaczn\u0119 od drobnej z\u0142o\u015bliwo\u015bci. W maju, jako \u017ce si\u0119gn\u0105\u0142em te\u017c do starszych wpis\u00f3w, autor napisa\u0142: <a href=\"http:\/\/\" title=\"http:\/\/it-consulting.pl\/autoinstalator\/wordpress\/index.php\/2011\/05\/24\/polemika\/\">\u201e[&#8230;] ja ju\u017c wyros\u0142em ze spo\u0142ecznych \u017ar\u00f3de\u0142 wiedzy jakim jest Wikipedia i przytocz\u0119 definicj\u0119 z ksi\u0105\u017cek maj\u0105cych konkretnego autora [&#8230;]\u201d<\/a>. A <a href=\"http:\/\/it-consulting.pl\/autoinstalator\/wordpress\/index.php\/2011\/08\/27\/burza-mozgow-homeopatia-w-analizie\/\">dzisiaj czytam<\/a>, jak autor krytykuje praktyki Agile \u2026 czerpi\u0105c wiedz\u0119 na ich temat z tego spo\u0142ecznego \u017ar\u00f3d\u0142a wiedzy. Ko\u0144cz\u0105c z\u0142o\u015bliwo\u015b\u0107 dodam adresuj\u0105c to do autora, \u017ce Wiki i Wikipedia to nie to samo i maj\u0105 si\u0119 do siebie tak ja klasa do obiektu. :P <\/p>\n<p>To moje \u0142apanie za s\u0142\u00f3wka pokazuje jednak pewien problem. Pan \u017beli\u0144ski lubi zaczyna\u0107 my\u015bl od \u201enie jestem wrogiem Agile\u201d, by potem jasno swoj\u0105 wrogo\u015b\u0107 do tych idei przedstawi\u0107. A z wrogo\u015bci\u0105 cz\u0119sto bywa tak, \u017ce jest ona skierowana do czego\u015b, czego si\u0119 do ko\u0144ca nie zna. <\/p>\n<p>Z czerwcowej konferencji zapami\u0119ta\u0142em pan \u017beli\u0144ski ostrzega\u0142 przed zwinn\u0105 (Agile) integracj\u0105, kt\u00f3ra mia\u0142aby polega\u0107 na tym, \u017ce programistom daje si\u0119 dost\u0119p do bazy danych a ci (bez jakiegokolwiek zastanowienia) z nowego kodu z takiej bazy korzystaj\u0105. Co to ma wsp\u00f3lnego z Agile? Ot\u00f3\u017c idee Agile nie m\u00f3wi\u0105 o tym jak ma wygl\u0105da\u0107 architektura oprogramowania, tylko jak powinien\/mo\u017ce wygl\u0105da\u0107 proces tworzenia oprogramowania. W tradycyjnych (starych) metodykach analityk czy projektant te\u017c m\u00f3g\u0142by programistom przekaza\u0107 (raczej nakaza\u0107), \u017ce maj\u0105 w identyczny spos\u00f3b tak\u0105 integracj\u0119 wykona\u0107. Tyle tylko \u017ce, w przeciwie\u0144stwie do metodyk zwinnych, od \u017ale wykonanej analizy czy z\u0142ego projektu nie by\u0142oby wtedy odwrotu, bo przecie\u017c zdaniem pana \u017beli\u0144skiego dobry programista nie dyskutuje z projektantem. <\/p>\n<p>Oczywi\u015bcie tak jak wiele os\u00f3b programuj\u0105cych m\u00f3wi, \u017ce stworzony przez nich kod programu jest bezb\u0142\u0119dny, dok\u0142adnie przetestowany a niuanse platformy maj\u0105 w jednym palcu, tak i analityk mo\u017ce powiedzie\u0107, \u017ce opracowany (odkryty) przez niego model dok\u0142adnie opisuje rzeczywisto\u015b\u0107, jest przetestowany a sam\u0105 dziedzin\u0119 rozumie doskonale. Megalomania albo pokora &#8211; wyb\u00f3r nale\u017cy do ciebie. B\u0142\u0105d mo\u017cna pope\u0142ni\u0107 zawsze. Jednak w tradycyjnych metodykach b\u0142\u0105d w analizie jest du\u017co bardziej kosztowny ni\u017c b\u0142\u0105d w kodzie programu. <\/p>\n<p>Ten problem dostrzega r\u00f3wnie\u017c pan \u017beli\u0144ski pisz\u0105c w innym z wpis\u00f3w, \u017ce \u201e\u017ale wykonana analiza przeci\u0119tnie podnosi koszty dwukrotnie a bywa, \u017ce znacznie wi\u0119cej\u201d. Z tym \u017ce jego rozwi\u0105zanie widzi w bardziej rozbudowanej fazie analizy, co ilustruje <a href=\"http:\/\/it-consulting.pl\/autoinstalator\/wordpress\/wp-content\/uploads\/2011\/07\/koszty_analizy_ibm.png\">diagramem z \u201ekosztown\u0105 p\u0119tl\u0105 odkrywania wymaga\u0144\u201d<\/a>. Jako \u017ar\u00f3d\u0142o podana jest firma IBM. Mamy wi\u0119c tzw. argument przez odwo\u0142anie si\u0119 do autorytetu. Znana firma zrobi\u0142a badania (zrobi\u0142a?) i z nich wynika za\u0142o\u017cona teza. Bardzo dobry argument&#8230; do czasu a\u017c autorytet zmienia zdanie. Bo rozwi\u0105zaniem problem\u00f3w z kosztami wynikaj\u0105ymi ze s\u0142abej analizy nie jest (ju\u017c?) wed\u0142ug firmy IBM wyd\u0142u\u017canie jej czasu przed faz\u0105 implementacji, tylko stosowanie zwinnych (agile) metodyk i cho\u0107by\u00a0 <a href=\"http:\/\/www-01.ibm.com\/software\/rational\/leadership\/\">w takim kierunku zmierza sztandarowy zestaw produkt\u00f3w tej firmy wspieraj\u0105cych proces tworzenia oprogramowania \u2013 IBM Rational.<\/a> <\/p>\n<p>W zasadzie to mo\u017ce b\u0142\u0119dnie napisa\u0142em, \u017ce nasz &#8220;autorytet&#8221; zmieni\u0142 zdanie? Mo\u017ce zrobi\u0142 dok\u0142adnie odwrotnie? Bo metodyki zwinne nie polegaj\u0105 na likwidacji fazy analizy, jak wydaje si\u0119 sam to rozumie\u0107 a sugerowa\u0107 innym pan \u017beli\u0144ski, tylko na maksymalnym mo\u017cliwym jej wyd\u0142u\u017ceniu, czyli &#8230; na ca\u0142y czas trwania projektu. Scott Ambler (chief methodologist for Agile at IBM Rational) napisa\u0142 kiedy\u015b, \u017ce &#8220;analiza jest tak wa\u017cna dla praktyk\u00f3w Agile, \u017ce robimy j\u0105 ka\u017cdego dnia&#8221;. Temu s\u0142u\u017c\u0105 planowania, stand-up meetingi. Po to zwinny zesp\u00f3\u0142 winien by\u0107 wielofuncyjny, czyli posiada\u0107 wi\u0119dz\u0119 i umiej\u0119tno\u015bci w pe\u0142nym zakresie wymaganym do tworzenia oprogramowania, w tym r\u00f3wnie\u017c umiej\u0119tno\u015bci analityczne. Nie s\u0105 one jednak skupione w pojedy\u0144czych, wyizolowanych osobach, kt\u00f3re na dodatek innych przydatnych umiej\u0119tno\u015bci nie maj\u0105. Agile to nie brak tak lubianych przez pana \u017beli\u0144skiego diagram\u00f3w UML, tylko wykorzystanie ich do przekazywania i usp\u00f3jniania wiedzy, kiedy jest taka potrzeba, a nie jako (podstawowa) forma komunikacji z zamawiaj\u0105cym oprogramowanie. <\/p>\n<p>I w tym miejscu ode\u015bl\u0119 do do\u015b\u0107 ju\u017c leciwego \u017ar\u00f3d\u0142a <a href=\"http:\/\/www.agilemodeling.com\/essays\/agileAnalysis.htm\">http:\/\/www.agilemodeling.com\/essays\/agileAnalysis.htm<\/a>&lt;<\/p>\n","protected":false},"excerpt":{"rendered":"Pod koniec czerwca mia\u0142em przyjemno\u015b\u0107 powiedzie\u0107 kilka s\u0142\u00f3w na konferencji Integracja System\u00f3w Informatycznych GigaCon 2011. Z pozosta\u0142ych prelekcji&hellip;\n","protected":false},"author":33,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[237],"tags":[21,59],"class_list":{"0":"post-2123","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-processes-practices","7":"tag-conference","8":"tag-project-management"},"_links":{"self":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/2123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/comments?post=2123"}],"version-history":[{"count":27,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/2123\/revisions"}],"predecessor-version":[{"id":2144,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/2123\/revisions\/2144"}],"wp:attachment":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/media?parent=2123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/categories?post=2123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/tags?post=2123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}