{"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[\u2026] 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 [\u2026]\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 \u2013 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\u2026 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 \u201cautorytet\u201d 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 \u2026 na ca\u0142y czas trwania projektu. Scott Ambler (chief methodologist for Agile at IBM Rational) napisa\u0142 kiedy\u015b, \u017ce \u201canaliza jest tak wa\u017cna dla praktyk\u00f3w Agile, \u017ce robimy j\u0105 ka\u017cdego dnia\u201d. 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><<\/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}]}}