Spory pomię­dzy zwo­len­ni­ka­mi metod zwin­nych i sfor­ma­li­zo­wa­nych zapew­ne się nigdy nie skoń­czą. Jak każ­dy, kto zaj­mu­je się jakim­kol­wiek wspie­ra­niem firm w sfe­rze ich orga­ni­za­cji, zarzą­dza­nia, wdra­ża­nia zmian, w tym opro­gra­mo­wa­nia, mam suk­ce­sy więk­sze i mniej­sze a cza­sem żad­ne. Nie ja jeden sta­le pod­no­szę jakość swo­ich pro­jek­tów, ucząc się nie tyl­ko na efek­tach dotych­cza­so­wych pro­jek­tów, ale tak­że na stu­dio­wa­niu tego co osią­gnę­li inni. Szukanie, w moim przy­pad­ku, to jed­nak nie tyl­ko bier­ne szu­ka­nie goto­wej, lep­szej recep­ty, to głę­bo­ka wła­sna ana­li­za każ­de­go przypadku.

Ostatnie lata, czy­li nie jeden a kil­ka pro­jek­tów, skła­nia­ją mnie do posta­wie­nia tezy mówią­cej, że jest sil­ny zwią­zek pomię­dzy meto­da­mi zwin­ny­mi i sfor­ma­li­zo­wa­ny­mi. Jaki?

Zauważyłem pew­ną pra­wi­dło­wość: narzę­dzie pra­cy powin­no być ści­śle dopa­so­wa­ne do sty­lu pra­cy jej wyko­naw­cy. Prosty przy­kład: kie­row­cy i ich umie­jęt­no­ści, samo­cho­dy jaki­mi się poru­sza­ją oraz śro­do­wi­sko w jakim się poru­sza­ją. Zwróćmy uwa­gę, że zbyt dobry kie­row­ca w kiep­skim samo­cho­dzie, dobry kie­row­ca w dobrym samo­cho­dzie w mie­ście o sła­bej orga­ni­za­cji ruchu, sła­by kie­row­ca w bar­dzo dobrym samo­cho­dzie w bar­dzo dobrze zor­ga­ni­zo­wa­nym mie­ście, (i inne nie­do­pa­so­wa­ne warian­ty), to wszyst­ko przy­kła­dy tego, że nie uda się” osią­gnąć tego co moż­na (co pla­no­wa­ne, co moż­li­we do osią­gnię­cia). W zasa­dzie te trzy ele­men­ty: kie­row­ca, samo­chód oraz mia­sto i jego orga­ni­za­cja ruchu, albo są na tym samym pozio­mie roz­wo­ju” albo będą kło­po­ty. W zasa­dzie o wszyst­kim decy­du­je poziom orga­ni­za­cji ruchu w mie­ście, to mia­sto narzu­ca wyma­ga­nia na umie­jęt­no­ści kie­row­ców, ci narzu­ca­ją wyma­ga­nia na swo­je samo­cho­dy. Jeżeli mia­sto jest kiep­sko zor­ga­ni­zo­wa­ne to naj­lep­szy kie­row­ca w super samo­cho­dzie nic nie pora­dzi. Jak się poru­szać po mie­ście o sła­bej orga­ni­za­cji? Niestety na żywioł i siło­wy­mi meto­da­mi z bar­dzo dużym ryzy­kiem stłucz­ki, stra­ty cza­su i ner­wów (pole­cam fil­my na youtu­be o kie­row­cach w Rosji).

Do cze­go zmierzam?

Od pew­ne­go cza­su zaj­mu­ję się poję­ciem doj­rza­ło­ści pro­ce­so­wej firm. Ogólnie jest to mia­ra ich wewnętrz­ne­go upo­rząd­ko­wa­nia i prze­wi­dy­wal­no­ści zacho­wań. Po co się to robi? Otóż im dana orga­ni­za­cja jest mniej prze­wi­dy­wal­na w swo­ich zacho­wa­niach tym więk­sze ryzy­ko wpro­wa­dza do swo­je­go oto­cze­nia (np. dla part­ne­ra). Badanie [[pozio­mu doj­rza­ło­ści pro­ce­so­wej]] zosta­ło dość dobrze opi­sa­ne w lite­ra­tu­rze, jest już cał­kiem doj­rza­łą dys­cy­pli­na wiedzy.

Poniżej jeden z wie­lu dostęp­nych w sie­ci dia­gra­mów obra­zu­ją­cych owe pozio­mym, jest ich pięć:

(źr. Carnegie Mellon Contracted for Software R&D).

ELEC_SEI_CMMI_lg

Na stro­nie PTI, mamy cie­ka­wy arty­kuł na ten temat, zacy­tu­ję opis ska­li ocen jako pierw­szy komen­tarz do powyż­sze­go diagramu:

Poziom 1 – Początkowy Procesy są nie­prze­wi­dy­wal­ne i niekontrolowalne.

Poziom 2 – Zarządzany Ustalone zosta­ły pro­ce­du­ry dla każ­de­go pro­jek­tu osobno.

Poziom 3 – Zdefiniowany Ustalone zosta­ły pro­ce­du­ry na pozio­mie organizacji.

Poziom 4 – Zarządzany ilo­ścio­wo Organizacja usta­li­ła listę celów jako­ścio­wych i ilo­ścio­wych i posia­da narzę­dzia pozwa­la­ją­ce na kon­tro­lę ich wykonania.

Poziom 5 – Optymalizowany Procesy są w uspraw­nia­ne w spo­sób ciągły.

(CMMI czy­li jak kon­tro­lo­wać roz­wój opro­gra­mo­wa­nia, pole­cam cały artykuł).

Pobieżne tyl­ko poszu­ki­wa­nia w sie­ci wska­zu­ją na to, że więk­szość firm w Polsce nie prze­kro­czy­ło pozio­mu dru­gie­go (!). Jaki z tego wnio­sek? Wracając do meta­fo­ry z kie­row­ca­mi w mia­stach: nie ma sen­su podej­mo­wa­nie prób zarzą­dza­nia pro­jek­tem meto­dą lep­szą, na wyż­szym pozio­mie, niż poziom fir­my będą­cej bene­fi­cjen­tem tego pro­jek­tu, bo i tak fir­ma ta nie będzie w sta­nie skon­su­mo­wać korzy­ści jakie nio­są z sobą wyż­sze pozio­my CMMI. Jeżeli nawet w umo­wie zapi­sze­my nasz, doj­rzal­szy spo­sób postę­po­wa­nia, napo­tka­my duży opór nie­do­pa­so­wa­nia”. Wprowadzając siło­wo” lep­szą orga­ni­za­cje pra­cy po stro­nie klien­ta, w naj­lep­szym wypad­ku obszar nasze­go pro­jek­tu wznie­sie­my” na poziom pierw­szy, ale i tak tyl­ko na czas trwa­nia pro­jek­tu (to aku­rat ma sens) z dużym praw­do­po­do­bień­stwem, że po zakoń­cze­niu pro­jek­tu nasz klient szyb­ko wró­ci do swo­je­go poziomu”.

Ćwiczenie myślo­we dla czy­tel­ni­ków ;): bio­rąc pod uwa­gę zna­ne Wam lub dostęp­ne w sie­ci opi­sy metod pra­cy Agile, innych mniej lub bar­dziej sfor­ma­li­zo­wa­nych, przy­łóż­cie” je do powyż­sze­go opi­su pozio­mów. Czy nie macie wra­że­nia, że meto­dy zwin­ne to jedy­ny spo­sób pra­cy w fir­mach na pierw­szym pozio­mie? Czy nie macie wra­że­nia, że inne meto­dy pra­cy niż czas i mate­riał, nie mają żad­ne­go sen­su w fir­mach na pierw­szym pozio­mie doj­rza­ło­ści? Jakie to ryzy­ko i stra­ty (dia­gram powyżej)?

Jaki ma sens poukła­da­ne zarzą­dza­nie pro­jek­tem (pla­no­wa­nie, doku­men­to­wa­nie decy­zji i ich zmian, zarzą­dza­nie ryzy­kiem itp.) w fir­mach, któ­re tego nie robią same dla sie­bie? Co mi z tego, że ja będę pla­no­wał, zarzą­dzał zakre­sem, doku­men­to­wał istot­ne kro­ki (bo fak­tycz­nie nie ma sen­su zapi­sy­wa­nie wszyst­kie­go), wer­sjo­no­wał doku­men­ta­cje itp. sko­ro klient nie jest w sta­nie, nie tyl­ko skon­su­mo­wać korzy­ści z tego, nie jest w sta­nie nawet nawią­zać real­nej współ­pra­cy, bo moja proś­ba o pisem­ne uwa­gi do doku­men­tu w okre­ślo­nym ter­mi­nie napo­ty­ka na próż­nię: my tu wszyst­ko zała­twia­my na spo­tka­niach i pisze­my notat­ki”. Od sie­bie dodam, że w tych notat­kach nie ma nic poza datą, lista obec­no­ści i zada­nia­mi do następ­ne­go spotkania.

Dobrze zor­ga­ni­zo­wa­na orga­ni­za­cja orga­ni­zu­je spo­tka­nia, ale nie po to by coś opra­co­wy­wać – to jest pra­ca, spo­tka­nia są wyłącz­nie po to by coś wyja­śnić i usta­lić (przed nimi nale­ży wymie­nić się doku­men­ta­mi i zapo­znać się z nimi). Większość doku­men­tów pro­jek­to­wych jakie dosta­ję w fir­mach do wglą­du, to nie­nio­są­ce żad­nych infor­ma­cji notat­ki ze spo­tkań. A gdzie opis przed­mio­tu pro­jek­tu???? Po co ten pro­jekt? Jaki ma cel?

Tak więc wyda­je mi się, że sto­so­wa­nie metod zwin­nych w wie­lu pro­jek­tach ma jak naj­bar­dziej sens… ale sto­so­wa­nie ich to raczej ozna­ka nie­doj­rza­ło­ści nabyw­cy oprogramowania.

Jarosław Żeliński

Jarosław Żeliński: autor, badacz i praktyk analizy systemowej organizacji: Od roku 1991 roku, nieprzerwanie, realizuje projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzi samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzi wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie.) Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów. Prawa autorskie: Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione bez indywidualnej zgody autora (patrz Polityki Strony).

Ten post ma 33 komentarzy

  1. Hania

    Dlaczego zwin­ne meto­dy nie mogą wejść na poziom cho­ciaż­by dru­gi? Wymagania dla tego pozio­mu nie wyda­ją się nieosiągalne.

    1. Jarek Żeliński

      Odpowiedź na dia­gra­mie powy­żej (kolum­na capa­bi­li­ty): zarzą­dzal­ność – jeże­li (zno­wu wra­ca­my do bra­ku” ści­słej defi­ni­cji meto­dy zwin­nej czy­li nie wia­do­mo o czym teraz pisze­my ::))) – pole­ga na pla­no­wa­niu i mie­rze­niu stop­nia osią­gnię­cia planu:celu. Metody zwin­ne jed­nak nie ope­ru­ją poję­ciem zakre­su pro­jek­tu, maja jedy­nie cel, zaś cel pro­jek­tu a zakres to nie to samo. Z jakim doku­men­tem, co zawie­ra, star­tu­je pro­jekt zwinny”?

  2. Hania

    W Scrumie na przy­kład może­my zarzą­dzać wyma­ga­nia­mi na Product Backlogu i na Sprint Backlogu. Można też opi­sy roz­sze­rzyć na jakieś narzę­dzie wspo­ma­ga­ją­ce albo doku­men­ta­cję. O ile zakres pro­jek­tu nie jest zna­ny na począt­ku, w ramach sprin­tów mamy plan reali­za­cji i moż­li­we jest śle­dze­nie postę­pów. Możemy mie­rzyć i ana­li­zo­wać sprint na burn down char­cie. Za jako taki pro­ces odpo­wia­da Scrum Master, jakość pro­duk­tu też może być zapew­nia­na i spraw­dza­na przez zespół czy jakie­goś szcze­gól­nie wykwa­li­fi­ko­wa­ne­go teste­ra. Zarządzaniu kon­fi­gu­ra­cji nic nie stoi na przeszkodzie 🙂

    1. Jarek Żeliński

      Jak rozu­mieć to: zakres pro­jek­tu nie jest zna­ny na począt­ku, w ramach sprin­tów mamy plan reali­za­cji i moż­li­we jest śle­dze­nie postę­pów”. To jest to cze­go nie rozu­miem: jak śle­dzić postę­py reali­za­cji coś cze­go nie ma? Moim zda­niem pro­blem z meto­da­mi zwin­ny­mi pole­ga na tym, że to tyl­ko pra­ca czas i mate­riał”. Nie ma w takiej pra­cy nic złe­go, to po pro­tu dostar­cza­nie usłu­gi (zaso­bów), jed­nak poja­wia się kon­flikt poję­cio­wy (i biz­ne­so­wy) przy pró­bie połą­cze­nia tego z pro­duk­tem” jakie­go ktoś ocze­ku­je. Jak bez­po­śred­nio połą­czyć zamó­wie­nie dzie­ła (pro­duk­tu)” z kon­trak­tem czas i mate­riał”? To sytu­acja gdy w kla­sycz­nym trój­ką­cie zakres, ter­min, budżet” cze­goś bra­ku­je (albo nad czymś nie panu­je­my). Jeżeli jed­nak ktoś chce (a biz­nes chce) zawrzeć umo­wę fixed pri­ce”, to w zasa­dzie jedy­nym lekar­stwem, przy bra­ku zakre­su, jest wycią­ga­nie” ile się da ter­mi­nu i budżetu.

      jakość pro­duk­tu” – jak tu defi­niu­je­my pro­dukt: coś co do tej pory uda­ło się wytwo­rzyć” czy coś co zosta­ło zamówione”?

  3. Hania

    Nie wie­dząc, co ma powstać w pro­jek­cie, fak­tycz­nie trud­no nim zarzą­dzać. Jeśli jed­nak spoj­rzy­my na sprin­ty jak na pod­pro­jek­ty, wte­dy mamy dokład­nie okre­ślo­ny zakres – wie­my, jakie funk­cje mają zostać zaim­ple­men­to­wa­ne w następ­nych np. 2 tygo­dniach. Wtedy czym róż­ni się to od zwy­kłe­go pro­jek­tu? Możemy pla­no­wać dokład­nie, moni­to­ro­wać, itd. Z racji krót­kie­go cza­su, te czyn­no­ści będą uprosz­czo­ne, ale mogą wystę­po­wać i są zale­ca­ne. Martwi mnie tyl­ko w kolej­nym sprin­cie ana­li­za wpły­wu nowych funk­cji i zmian na dotych­cza­so­wy pro­dukt, bo zazwy­czaj nikt się nad tym bar­dzo nie pochy­la. Nie jest to jed­nak nie­moż­li­we i zda­je się, że bar­dzo wykwa­li­fi­ko­wa­ni człon­ko­wie zespo­łów zwin­nych mogą coś takie­go wyko­ny­wać, choć wyma­ga to pew­nie samo­za­par­cia i no i zna­jo­mo­ści metod, co nie leży w typo­wym warsz­ta­cie programisty.

    1. Jarek Żeliński

      Jeśli spoj­rzy­my na sprin­ty jak na pod­pro­jek­ty, wte­dy mamy dokład­nie okre­ślo­ny zakres ? wie­my”, ale czy to nie wyglą­da jak budo­wa domu meto­dą pole­ga­ją­cą na pro­jek­to­wa­niu i sta­wia­niu kolej­nych pie­ter dopie­ro po zakoń­cze­niu kon­dy­gna­cji poni­żej? kto by w tym nie bał się miesz­kać? Po dru­gie taki sprint jako pod­pro­jekt” nie dzia­ła, mówiąc wprost: sprint” nie speł­nia defi­ni­cji pro­jek­tu (bo ten two­rzy samo­dziel­ny, przy­dat­ny dla klien­ta pro­dukt). Tak więc nie może­my spoj­rzeć na sprin­ty jak na podprojekty.

  4. Hania

    W zało­że­niach dla two­rze­nia sprint bac­klo­gu (czy­li listy funk­cji, któ­re będą reali­zo­wa­ne w kolej­nym sprin­cie) jest powie­dzia­ne, że powin­ny dostar­czać dzia­ła­ją­cy pro­dukt reali­zu­ją­cy funk­cje posia­da­ją­ce war­tość dla klien­ta, umoż­li­wia­ją­ce wyko­na­nie jed­nej lub kil­ku waż­nych z jego punk­tu widze­nia, dla jego biz­ne­su czyn­no­ści. Co do stra­chu to pew­nie i strach, szcze­gól­nie, jeśli to dom do codzien­ne­go miesz­ka­nia całej rodziny 🙂

    1. Jarek Żeliński

      I tu widzę chwyt”: pro­dukt reali­zu­ją­cy funk­cje posia­da­ją­ce war­tość dla klien­ta”. Pojedyncza funk­cja rzad­ko ozna­cza war­tość dla klien­ta jako waż­na dla jego biz­ne­su”. Bo tu funk­cja to przy­pa­dek uży­cia, ten ma war­tość jako usłu­ga sys­te­mu (wspar­cie czyn­no­ści w pro­ce­sie biz­ne­so­wym) ale już nie jako sama w sobie”. System (opro­gra­mo­wa­nie biz­ne­so­we) to zestaw funk­cji (przy­pad­ków uży­cia). Pojedyncza funk­cja, pozba­wio­na pozo­sta­łych (poza być może nie­licz­ny­mi wyjąt­ka­mi), nie ma sen­su biz­ne­so­we­go. System wspar­cia sprze­da­ży to nie tyl­ko funk­cja” two­rze­nia fak­tur. Do sprze­da­ży, będą­cej pew­nym pro­ce­sem, wyma­ga­ne jest jesz­cze kil­ka funk­cji: np. zarzą­dza­nie kon­tra­hen­ta­mi, maga­zy­nem, płat­no­ścia­mi itp. To jako całość dopie­ro ma sens. Czy ma sens roz­po­czę­cie pra­cy nad funk­cją fak­tu­ro­wa­nia bez wie­dzy (nie było jesz­cze tych sprin­tów) o tym, że (czy) będzie potrzeb­ny tak­że maga­zyn i rejestr kon­tra­hen­tów? Bez wie­dzy o tym jaka logi­ka łączy te ele­men­ty? Nawet jeże­li było by to moż­li­we, czy ten pro­jekt ma sens bez wie­dzy czy star­czy cza­su i środ­ków na bra­ku­ją­cy np. raport sprzedaży?

    2. Hania

      Pewnie czę­sto trud­no jest w jed­nym sprin­cie wyko­nać cały pro­ces. Czy jed­nak zastą­pie­nie pew­nych czyn­no­ści już nie jest samo w sobie uspraw­nie­niem pro­ce­su? Nie musi być, bo np. wyma­ga podwój­ne­go wyko­ny­wa­nia czyn­no­ści – na papie­rze i w kom­pu­te­rze, jed­nak już zoba­cze­nie jak to będzie wyglą­da­ło poma­ga klien­to­wi to sobie lepiej wyobra­zić w osta­tecz­nej wer­sji, zro­zu­mieć i podej­mo­wać dal­sze decy­zje. Może być też waż­ny dla przy­szłych użyt­kow­ni­ków i pozna­nia ich opi­nii. Co praw­da ukoń­czo­ny cały pro­ces może wyglą­dać ina­czej i mieć nie­co inne zna­cze­nie, ale już łatwiej jego go przy­bli­żać, kie­dy gdzieś powstał, nie tyl­ko w mode­lu. Tę rolę może speł­niać (i speł­nia czę­sto) pro­to­typ, jed­nak wie­lu klien­tów ma trud­no­ści ze zro­zu­mie­niem (albo wyko­naw­cy z jasnym wytłu­ma­cze­niem) gra­nic funk­cjo­nal­no­ści pro­to­ty­pu (co tu ma dzia­łać i być widać, a co jesz­cze nie). Funkcje moż­na oddzie­lać, np. naj­pierw wysta­wiać fak­tu­rę z pola­mi do ręcz­ne­go uzu­peł­nie­nia (co już da dobry pogląd na wie­le aspek­tów), stop­nio­wo doda­wać słow­ni­ki, maga­zy­ny, itd. Czy ktoś jest w sta­nie doko­nać rze­tel­nej ana­li­zy pod­czas wpro­wa­dza­nia tych dodat­ków w kolej­nych sprin­tach? Pewnie da się. Nie mniej pew­na jestem, że pra­wie nikt tego nie robi, nie­ste­ty. I tu moim zda­niem sła­bość sto­so­wal­no­ści agi­le, że koja­rzy się z dowol­no­ścią (choć tak napraw­dę wyma­ga dys­cy­pli­ny) i wie­lu chęt­nie wyko­rzy­stu­je to sko­ja­rze­nie, robiąc za mało, zbyt cha­otycz­nie, a nazy­wa­jąc swo­je dzia­ła­nie zwinnym.

      czy ten pro­jekt ma sens bez wie­dzy czy star­czy cza­su i środ­ków na bra­ku­ją­cy np. raport sprze­da­ży?” – jeśli nie star­cza cza­su, zazwy­czaj jest uza­sad­nie­nie w spo­żyt­ko­wa­niu cza­su na inne ele­men­ty oce­nia­ne przez klien­ta jako bar­dzo waż­ne. Wtedy moż­na łatwiej osią­gać poro­zu­mie­nie – zre­zy­gno­wa­li­śmy z rapor­tów na rzecz ele­men­tów oce­nia­nych jako waż­niej­sze lub doda­je­my je jako kolej­ne zamó­wie­nie. Umowy moż­na prze­cież anek­so­wać. Pytanie jak z otwar­to­ścią klien­ta. Jego ela­stycz­ność jest jed­nym z ogra­ni­czeń sto­so­wa­nia zwin­nych metod.

    3. Jarek Żeliński

      jeśli nie star­cza cza­su, zazwy­czaj jest uza­sad­nie­nie w spo­żyt­ko­wa­niu cza­su na inne ele­men­ty oce­nia­ne przez klien­ta jako bar­dzo waż­ne” – a jakim cudem inne waż­ne ele­men­ty” poja­wi­ły się dopie­ro w np. w poło­wie pro­jek­tu? W kwe­stii rezy­gna­cji z cze­goś na korzyść cze­goś” – co ma zro­bić klient, gdy już zain­we­sto­wał dużo w pro­jekt (trwa dłu­go) i nagle dowia­du­je się, że z uwa­gi na ter­min i budżet dosta­nie samo­chód albo bez kół albo bez sil­ni­ka”, po pro­stu dosta­nie nie­przy­dat­ny pro­dukt. To są rze­czy, któ­re nale­ży roz­strzy­gać na eta­pie pla­no­wa­ni zakre­su a nie w trak­cie trwa­nia projektu…

    4. Hania

      Planowanie, jak naj­bar­dziej powin­no być, na począt­ku, cze­go Agile nie wyklu­cza. Po to ana­li­tyk w pro­jek­cie, by uświa­da­miać klien­ta i czu­wać nad tym, żeby nie dostał samo­cho­du bez sil­ni­ka, co naj­wy­żej bez kli­ma­ty­za­cji na jesień 🙂

    5. Jarek Żeliński

      Czy to nie jest tak, że im bar­dziej jed­nak pla­nu­je­my, pro­jek­tu­je­my, doku­men­tu­je­my itp. tym bar­dziej jest to zwy­kły pro­jekt” a nie agi­le” (nadal szu­kam defi­ni­cji meto­dy­ki zwinnej”)???? 😉

  5. Jarek Żeliński

    Dla mnie np. SCRUM to meto­da zarzą­dza­nia reali­za­cją pro­jek­tu, jed­nak ktoś” powi­nien jed­nak na począt­ku zde­fi­nio­wać zakres tego projektu.

  6. jacek2v

    Ja bym porów­nał meto­dy­ki zwin­ne do dru­ka­rek 3D, zaś meto­dy­ki sfor­ma­li­zo­wa­ne do wtry­ski­wa­rek opar­tych na formie 🙂

  7. Jacek Rybicki

    Zarówno prze­ciw­ni­cy jak i zwo­len­ni­cy metod zwin­nych powie­la­ją sche­ma­ty. Wygląda mi też na to, że dzia­ła­ją w dział­kach, któ­re nie pokry­wa­ją się.
    Skąd pomysł, że przy­ję­cie podej­ścia pole­ga­ją­ce­go na ryt­micz­nym dostar­cza­niu cze­goś co klient może dotknąć” i sko­men­to­wać, auto­ma­tycz­nie wyłą­cza nam moż­li­wość pla­no­wa­nia i prze­wi­dy­wa­nia kon­se­kwen­cji naszych działań?

    Jeżeli robię pro­jek­ty, w któ­rych nie ma pew­no­ści czy się da osią­gnąć tech­no­lo­gicz­nie i orga­ni­za­cyj­nie cel, to moje pro­ble­my nie będą łatwo zro­zu­mia­łe dla kogoś, kto z góry może podać dokład­ną cenę pracy.

    Metody zwin­ne to nie są prze­pi­sy kuchar­skie. Zupa z robi­my bez pomy­słu”, nie mamy wspól­ne­go mode­lu”, prze­sta­li­śmy być ama­to­ra­mi, bo teraz uży­wa­my Scorm” jest zupeł­nie nie­zja­dli­wa. Agie to jest głów­nie ide­olo­gia. To jest tro­chę jak z demo­kra­cją. Kwitnie w pew­nych warun­kach, w innych może prze­grać woj­nę z dyk­ta­tu­rą. Co nie zna­czy, że dyk­ta­tu­ra jest zawsze lep­sza. Jeżeli inte­re­su­ję nas tyl­ko wynik bie­ża­ce­go pro­jek­tu, ludzi moż­na łatwo wymie­nić, to nie zawra­caj­my sobie gło­wę agi­le, przy­naj­mniej nikt się nie będzie nabi­jał z nad­użyć semantycznych.

    Ludzie nie rozu­mie­ją­cy celu swo­jej pra­cy i nie otrzy­mu­ją­cy szyb­kiej infor­ma­cji zwrot­nej pra­cu­ją poni­żej swo­ich moż­li­wo­ści. W zada­niach nie­ty­po­wych więk­szy poten­cjał ma zróż­ni­co­wa­na gru­pa ludzi o śred­nim doświad­cze­niu niż jeden czło­wiek z ogrom­nym. Każdy przy­pa­dek trze­ba trak­to­wać indy­wi­du­al­nie. Jeżeli nie ana­li­zu­je­my ryzy­ka i nie pla­nu­je­my, to jeste­śmy dla sie­bie nie­bez­piecz­ni. Organizacje uży­wa­ją­ce metod zwin­nych mogą celo­wać w CMMI na pozio­mie 5, ale nie dla każ­de­go pro­jek­tu i nie na pod­sta­wie recen­zji Scrum for dummies”.

    Model CMMI ład­nie wyglą­da, gdy mam na celu robie­nie ste­row­ni­ków do hamul­ców w samo­cho­dach. Jest nawet za mało szcze­gó­ło­wy. Bardziej peł­ny obraz w takim przy­pad­ku daje model SPICE. Procesy agi­le, w rodza­ju Scrum, pozwa­la­ją na prak­tycz­ne osią­gnię­cie celów pozio­mu 5 CMMI. Nie zapew­nia­ją jed­nak one samo­dziel­nie obsłu­gi nawet pozio­mu 2, tak jak śru­bo­kręt nie pozwa­la na to samo co mło­tek. Ale tłu­ma­cze­nie, że z powo­dów ide­olo­gicz­nych, nie moż­na uży­wać rów­no­le­gle młot­ka i śru­bo­krę­tu odsy­łam na zaję­cia praktyczno-techniczne.

    1. Jarek Żeliński

      Moim pro­ble­mem w pro­jek­tach jest wła­śnie to, że Agile to TYLKO ide­olo­gia. Osobiście nie tyle jestem wro­giem” tej ide­olo­gii, co jestem wro­giem uzna­wa­nia, że nie trze­ba odpo­wia­dać na pyta­nie co zro­bi­my” a wystar­czy odpo­wiedź na pyta­nie co będzie­my robi­li”. Nie ja jeden uwa­żam, że trój­kąt”: zakres, budżet, ter­min, ma bar­dzo głę­bo­ki sens biz­ne­so­wy: pla­no­wa­nie. Nadal nie wiem czym, poza ide­olo­gią, jest Agile (poza mani­fe­stem nie zna­la­złem żad­nej defi­ni­cji), ale mam prze­ko­na­nie, że pro­jekt bez zde­fi­nio­wa­ne­go poję­cia zakres” nie jest pro­jek­tem. Co do doku­men­ta­cji w pro­jek­cie to uwa­żam, że wyja­śnia­ją pro­blem sło­wa pew­ne­go praw­ni­ka na jed­nej z kon­fe­ren­cji (nie pamię­tam kora ;)), treść umo­wy w for­mie pisem­nej ma jeden cel: korzy­sta­my z niej w przy­pad­ku jakich­kol­wiek wąt­pli­wo­ści co do tego co, kie­dy i kto miał zro­bić. Praktyka poka­zu­je, że ide­ały nie ist­nie­ją, doku­men­ta­cja w pro­jek­cie jest potrzeb­na. Bardzo czę­sto wro­go­wie two­rze­nia doku­men­ta­cji posłu­gu­ją się przy­kła­dem złej doku­men­ta­cji: 1000 stron kosz­tow­ne­go beł­ko­tu mi tez prze­szka­dza. Ale brak doku­men­tu na temat tego kto i co usta­lił dwa mie­sią­ce temu w przy­pad­ku gdy coś nie prze­szło testu, szko­dzi. Brak opi­su logi­ki biz­ne­so­wej ocze­ki­wa­nej przez klien­ta i zda­nie się na wyobraź­nię pro­gra­mi­sty jest już bar­dzo złe i kosztowne. 

      Kolejna rzecz z per­spek­ty­wy biz­ne­su (zama­wia­ją­cy): to co deve­lo­pe­rzy nazy­wa­ją Agile jest bar­dzo wygod­ne dla nich, bo w zasa­dzie nie podej­mu­ją żad­ne­go ryzy­ka, jest lote­rią dla kupu­ją­ce­go bo do same­go koń­ca nie wie co napraw­dę otrzyma.

      CMMI ma pew­ną zale­tę: pozwa­la porów­nać fir­my, zaś osią­gnię­cie np. pozio­mu 3 czy­ni pro­jek­ty powta­rzal­ny­mi i bar­dziej prze­wi­dy­wal­ny­mi. Nie twier­dzę, że każ­dy kto nie ma naj­wyż­sze­go pozio­mu to kiep­ściuch, ale jeże­li czy­jaś pra­ca nie jest powta­rzal­na to ma biz­ne­so­wy pro­blem choć­by z wyce­na ofer­ty fixed price.

    2. Hania

      Organizacje uży­wa­ją­ce metod zwin­nych mogą celo­wać w CMMI na pozio­mie 5, ale nie dla każ­de­go pro­jek­tu i nie na pod­sta­wie recen­zji ?Scrum for dum­mies?. – jeśli nie dla wszyst­kich pro­jek­tów, to nie może być na pozio­mie 5. Zdaje się, że już 3 zakła­da, że musi być sto­so­wa­nie kon­se­kwent­nie dla wszyst­kich. Wydaje mi się, że Scruma moż­na pod­cią­gać wyżej w CMMI, wyma­ga to jed­nak speł­nia­nia sze­re­gu wyma­gań, któ­re pew­nie obcią­ży­ły­by zwin­ność reali­za­cji i pyta­nie czy komuś zale­ża­ło­by rów­nie sil­nie na dwóch tych aspek­tach jednocześnie.

    3. Jarek Żeliński

      Zacytuję jed­ne­go z moich klien­tów (fir­ma usłu­go­wa): jeże­li Twoje pro­jek­tu są pro­wa­dzo­ne nie­po­wta­rzal­ny­mi meto­da­mi pra­cy to zna­czy, że nie masz żad­nych pod­staw by je wyce­niać wcze­śniej niż po ich zakoń­cze­niu, więc jak skła­dasz oferty?”

  8. Jacek Rybicki

    Ideologia powsta­ła na pod­sta­wie wie­lu doświad­czeń, któ­re zaowo­co­wa­ły postu­la­ta­mi wycho­dze­nia poza ogra­ni­cze­nia pierw­sze­go pomy­słu na spo­sób dział­nia orga­ni­za­cji: są ludzie od myśle­nia i są ludzie od wyko­ny­wa­nia”. Odrzuca podej­ście tailo­row­skie” stwier­dza­ją­ce, że pra­cow­nik musi być dokład­nie kon­tro­lo­wa­ny. W lapi­dar­ny spo­sób uję­te są tu doświad­cze­nia psy­cho­lo­gii pra­cy i zarzą­dza­nia. To nie jest tak, że w 2001 doko­nał się prze­łom. Wtedy peł­za­ją­ca ewo­lu­cja zyska­ła for­mę pozwa­la­ją­cą na prze­pro­wa­dze­nie ogól­no­świa­to­wej rewo­lu­cji w roz­prze­strze­nia­niu się wiedzy.
    I jak to bywa z rewo­lu­cja­mi, lokal­ne kul­tu­ry wpły­wa­ją na osią­ga­ny kształt.

    Traktowanie agi­le jako meto­dy­ki jest nie­bez­piecz­ne, gdy pole­ga na zaora­niu” tego co dzia­ła­ło wcze­śniej, albo na posta­wie­niu sobie niskich celów. Otóż wyzwa­nie jest więk­sze, bo:
    – dopusz­cza­my robie­nie pro­jek­tów, któ­re w kla­sycz­nym” podej­ściu mają nie­wiel­ką szan­sę powo­dze­nia – takie zacho­wa­nie wymu­sza rosną­ca konkurencyjność
    – uwzględ­nia­my psy­chi­kę ludzi któ­rzy wyko­nu­ją projekt
    – akcep­tu­je­my, że nie jeste­śmy w sta­nie zde­fi­nio­wać z góry wszyst­kich aktyw­no­ści w pro­jek­cie; poza tym oka­zu­je się to nie­po­trzeb­ne – wystar­czy wie­dza, że wyko­na­my pra­wi­dło­we dzia­ła­nia gdy zaj­dzie potrzeba
    – zamiast gonić kró­licz­ka zakre­su, pra­cu­je­my nad zaufa­niem z klien­tem, któ­ry pła­ci za uzy­ski­wa­ną war­tość biz­ne­so­wą; nie zawsze musi być to kon­trakt time and mate­rial; kon­trakt fixed pri­ce sta­je się w pew­nym sen­sie zakła­dem”, że osią­gnie­my suk­ces w danych ogra­ni­cze­niach – spra­wa trud­na, ale wykonalna.

    Sprawę doku­men­ta­cji roz­wią­zu­je jed­no pro­ste stwier­dze­nie: doku­men­ta­cja też jest pro­duk­tem pro­jek­tu. System nie­udo­ku­men­to­wa­ny jest mało uży­tecz­ny. Ale też zakres i szcze­gó­ło­wość doku­men­ta­cji dobie­ra­my do kon­kret­ne­go zapo­trze­bo­wa­nia, w tym pla­no­wa­ne­go cza­su życia systemu.

    Agile jest odza­ły­wu­ją­cą siłą, jak gra­wi­ta­cja. Wnioski wpły­wa­ją na to w jaki spo­sób budo­wa­na jest komu­ni­ka­cja z klien­tem oraz wewnątrz zespo­łu pro­jek­to­we­go, w jaki spo­sób dosta­je­my infor­ma­cję zwrot­ną. Wpływają na zde­fi­nio­wa­nie ról w pro­jek­cie, np. kie­row­ni­ka pro­jek­tu. Świetnie sys­te­ma­ty­zu­je współ­pra­cę ana­li­ty­ka z zespołem.
    Ale nie jest spra­wą try­wial­ną, niż­szym pozio­mem”, wytłu­ma­cze­niem nie­doj­rza­ło­ści organizacji.

    1. Jarek Żeliński

      Moim zda­niem wia­ra w to: wyko­na­my pra­wi­dło­we dzia­ła­nia gdy zaj­dzie potrze­ba” roz­ło­ży­ło już nie­je­den pro­jekt bo potrze­by zacho­dzi­ły a pra­wi­dło­wo­ści nie wyszły. Zwracam uwa­gę, że nie mówi­my o start-upach i pro­jek­tach typu R&D (te są nie­ja­ko zwin­ne” z zasady). 

      Agile jest odzia­ły­wu­ją­cą siłą, jak gra­wi­ta­cja”: co to zna­czy z per­spek­ty­wy zarzą­dza­nia projektem?

      Wiele pro­jek­tów cier­pi z powo­du dużych kosz­tów zmian wyma­gań, wyma­gań osie­ro­co­nych i wyma­gań odkry­wa­nych dość póź­no w trak­cie pro­jek­tu; cier­pi bo nie moż­na się powo­łać na doko­na­ne wcze­śniej usta­le­nia w sytu­acji nie­po­ro­zu­mień, złej woli (nie­ste­ty świat nie jest ide­al­ny) czy zwy­kłej rota­cji uczest­ni­ków pro­jek­tu (nie moż­na tego wyklu­czyć). Jak sobie z tym radzą meto­dy zwin­ne? Co się dzie­je gdy klient zmie­ni developera?

  9. Jacek Rybicki

    ” jeśli nie dla wszyst­kich pro­jek­tów, to nie może być na pozio­mie 5. Zdaje się, że już 3 zakła­da, że musi być sto­so­wa­nie kon­se­kwent­nie dla wszystkich”
    Może nie mogą się cer­ty­fi­ko­wać. Jeżeli robię obok sie­bie pro­jekt safe­ty cri­ti­cal i info­ta­iment, to nie ma sen­su sto­so­wać w nich tych samych stan­dar­dów. Oczywiście sza­nu­ję podej­ście Kliencie, nie zro­bi­my Ci tego pro­jek­tu, bo wyma­gał­by zasto­so­wa­nia metod, któ­re nie są zgod­ne ze spi­sa­ny­mi w naszej organizacji”.

    1. Jarek Żeliński

      Nie musi­my aż tak iro­ni­zo­wać, rzecz w tym, że meto­dy­ki to przede wszyst­kim listy kon­tro­l­ne”, pro­sty pro­jekt jed­nak nie musi ozna­czać pomi­ja­nia eta­pów (rezy­gna­cji z meto­dy­ki). Owszem moż­na powie­dzieć, że usłu­gi o war­to­ści mniej­szej niż 1 tys. PLN robi­my bez pisem­nej umo­wy na gębę ale każ­dy wie, że to pod­no­si ryzy­ko takiej współ­pra­cy. Ja np. zawsze wyma­gam zawar­cia umo­wy na moje usłu­gi w tym napi­sa­nia jak stwier­dzi­my, że umo­wę zre­ali­zo­wa­no”. Owszem bywa, że zamiast umo­wy godzę się na ema­il lub pro­ste pisem­ne zle­ce­nie, jed­nak nie godzę już się na pra­ce na gębę, z uwa­gi na ryzy­ko choć­by nie­po­ro­zu­mień albo tego, że po stro­nie klien­ta zmie­ni się pra­cow­nik, któ­ry nad­zo­ru­je moją pra­cę (a bywa­ło tak). Ta moja doj­rza­łość” pole­ga tu na tym, że ZAWSZE sto­su­ją swo­ją pro­ce­du­rę przyj­mo­wa­nia zle­ceń, ma ona jed­nak warian­ty. Co do zasa­dy, jeże­li ktoś uni­ka pod­pi­sa­nia ze mną jakie­go­kol­wiek zobo­wią­za­nia, ja rezy­gnu­ję ze współ­pra­cy z uwa­gi na ryzy­ko. Podejście to spraw­dza się bar­dzo dobrze i ja jestem widzia­ny tak samo nie­za­leż­nie od tego kto i kie­dy pyta. Nie posą­dzam niko­go o złą wolę, ale jak ktoś mi nie zna­ny ma opór przed zapi­sa­niem czy­nio­nych razem usta­leń, to mil­czą­co zakła­dam (ana­li­za ryzy­ka), że poten­cjal­nie ma zamiar nie wywią­zać się z tych usta­leń, uczci­we­mu czło­wie­ko­wi pospi­sy­wa­nie się pod obiet­ni­cą nie przeszkadza.

    2. Jacek Rybicki

      Bardzo cie­ka­wy temat zaufa­nia. Czyli jeże­li robi­my pro­jekt kry­tycz­ny dla fir­my, to dokład­nie spe­cy­fi­ku­je­my, a jeże­li może­my zary­zy­ko­wać ewen­tu­al­ną stra­tę, to wystar­czy wyzna­cze­nie celów przy zało­że­niu że wyko­na­nie speł­ni ocze­ki­wa­nia obu stron?

    3. Jarek Żeliński

      no to zbli­ża­my się do wza­jem­ne­go zro­zu­mie­nia 🙂 – ryzy­ko pro­jek­tu decy­du­je o podejściu :).

  10. jacek2v

    Odpowiadając na pyta­nie: dla­cze­go? Agile to dru­kar­ka 3D: ponie­waż nie wyma­ga­ją duże­go i dro­gie­go roz­bie­gu oraz szyb­ko wery­fi­ku­ję kon­cep­cję roz­wią­za­nia tech­no­lo­gią i kom­pe­ten­cje wykonawcy.

    1. Jarek Żeliński

      Czyli maszy­na do pro­to­ty­pów, pro­blem w tym, że wydru­ki 3D” to pozba­wio­ne jakiej­kol­wiek logi­ki dzia­ła­nia atra­py, np. tele­wi­zor z takiej dru­kar­ki jak naj­bar­dziej pozwo­li mi poznać zdol­no­ści este­tycz­ne jego pro­jek­tan­ta ale abso­lut­nie nie upew­ni mnie ze cokol­wiek na nim obej­rzę 😉 i z ta meta­fo­ra się cał­ko­wi­cie zgadzam.

  11. jacek2v

    Jest Pan w błę­dzie. Drukarki 3D pro­du­ku­ją koń­co­we pro­duk­ty sto­so­wa­ne np. w medy­cy­nie (pro­te­zy, zastaw­ki ser­ca), a za chwi­lę w armii USA jako prze­no­śnie maga­zy­ny” czę­ści do mi. bro­ni. Obecnie tech­no­lo­gia 3D jest w fazie opty­ma­li­za­cji kosztów.
    Drukarki 3D poma­łu sta­ją się widzia­ne w prze­my­śle jako now­sza gene­ra­cja obra­bia­rek numerycznych.
    Są też pró­by dru­ko­wa­nia elek­tro­ni­ki, ale chy­ba na razie tele­wi­zo­ra Pan nie zobaczy 🙂

    1. Jarek Żeliński

      Ja uwa­żam, że nie jestem w błę­dzie ;), dru­kar­ki 3D są sto­so­wa­ne do two­rze­nia ele­men­tów, któ­rych zło­żo­ność nie prze­kra­cza okre­ślo­ne­go pro­gu zło­żo­no­ści. Osobiście dru­kar­ki 3D przy­rów­nał bym do wido­ków CRUD – mogą być pra­co­chłon­ne i wyra­fi­no­wa­ne ale nie zawie­ra­ją nie­mal­że żad­nej logi­ki. Drukarka 3D zapew­ne zro­bi nam wyra­fi­no­wa­ną obu­do­wą tele­wi­zo­ra czy kom­pu­te­ra ale nie zro­bi pły­ty głów­nej (któ­rą i tak naj­pierw nale­ży zapro­jek­to­wać, jak wyglą­da­ła by zwin­na meto­da zapro­jek­to­wa­nia i wytwo­rze­nia wnę­trza kom­pu­te­ra?)… Ja sta­le pod­kre­ślam, że nie wszyst­kie, ale jest wie­le rze­czy (nie tyl­ko opro­gra­mo­wa­nie) gdzie dia­beł tkwi w środ­ku”. Najlepszy nawet pro­to­typ GUI nie zastą­pi np. logi­ki moto­ra sys­te­mu sko­rin­go­we­go… Podkreślam: naj­czę­ściej widu­ję poraż­ki pro­jek­tów zwin­nych” tam, gdzie pod maską” była (ocze­ki­wa­na) zło­żo­na logi­ka biz­ne­so­wa, tego nie da się udo­ku­men­to­wać histo­ryj­ka­mi użyt­kow­ni­ków, bo to jak pró­ba prze­ka­za­nia wie­dzy o kodek­sie dro­go­wym meto­dą nakrę­ce­nia kil­ku fil­mów z prze­jaz­du samo­cho­dem z domu do pra­cy i spo­wro­tem. Wydaje mi się, że czę­sto agi­le cier­pi z powo­du wia­ry w to, że logi­ka wyni­ka z pro­ce­su a jest dokład­nie odwrot­nie: pro­ces jest wyni­kiem (skut­kiem) logi­ki i ogra­ni­czeń (regu­ły gry w sza­chy są jed­nej, par­tii nie­skoń­cze­nie wie­le i może­my zapi­sać tyl­ko ich mała ich część), dokład­nie tak jak kodek­sie dro­go­wym: to jak jedzie­my zale­ży od prze­pi­sów. I teraz CMMI: jeże­li spo­ty­ka­ją się dostaw­ca i odbior­ca o dwóch róż­nych kul­tu­rach podej­ścia do pro­wa­dze­nia pro­jek­tu będą tar­cia. Niestety w więk­szych pro­jek­tach, czy­li takich w któ­rych zło­żo­ność logi­ki sys­te­mu jest duża, żad­ne histo­ryj­ki ani pro­to­ty­py nie prze­ka­żą wie­dzy o tej logi­ce, meto­dy bazu­ją­ce na spo­tka­niach i burzach mózgów się po pro­tu tu nie sprawdzają.

  12. jacek2v

    Mętne okre­śle­nie okre­ślo­ne­go pro­gu złożoności”.
    Tak jak napi­sa­łem są pierw­sze pró­by dru­ko­wa­nia elek­tro­ni­ki – mi. kom­pu­te­ro­wych płyt głów­nych. Drukarki 3D nada­ją się świet­nie do budo­wa­nia zło­żo­nych pro­duk­tów, któ­rych obec­nie łatwo nie może­my zbu­do­wać – np. struk­tu­ry zawie­ra­ją­ce w sobie inne struktury.
    A wra­ca­jąc do IT:
    Pan utoż­sa­mia Agile z histo­ryj­ka­mi użyt­kow­ni­ków” to tak samo jak­bym napi­sał, że UML to tyl­ko Use Case.
    Wydaje mi się, że czę­sto agi­le cier­pi z powo­du wia­ry w to ..”
    Agile jest kon­se­kwen­cją tego, że 70 – 99% każ­dej apli­ka­cji to inte­rak­cja z czło­wie­kiem: GUI, mail, ocze­ki­wa­nie na akcje, alarmowanie.
    Oczywiście, że pro­to­typ GUI nie zastą­pi np. dia­gra­mu BPMN. Twórcy Agile zauwa­ży­li, że zamiast two­rzyć dia­gra­my i opi­sy słow­ne, aby prze­ka­zać, że doku­ment, czy raport będzie zawie­rał 5 – 6 kon­kret­nych pól, lepiej zro­bić pro­to­typ. Jest to szyb­sze i lepiej zro­zu­mia­łe dla klienta.
    A czym­że jest sła­wet­na logi­ka biz­ne­so­wa”? To napraw­dę nic magicz­ne­go, ale czę­sto, bar­dzo trud­no eks­trak­to­wal­ne­go z orga­ni­za­cji klien­ta. I na tą trud­ność odpo­wia­da Agile poprzez pro­to­ty­py, któ­re uła­twia­ją komu­ni­ka­cję z klien­tem – czę­sto uświa­da­mia­ją jego wła­sne pro­ce­sy. 1 obraz jest wart 1000 słów, a 1 pro­to­typ 1000 diagramów 🙂
    Reasumując: budo­wa­nie jakiej­kol­wiek apli­ka­cji to pro­ces z wbu­do­wa­ną dyna­mi­ką inte­rak­cji z klien­tem. Prototypowanie (Agile) uła­twia komu­ni­ka­cję i zna­czą­co skra­ca czas i kosz­ty projektu.
    Można też zary­zy­ko­wać stwier­dze­nie, że Agile jest bar­dziej wyma­ga­ją­cy od wyko­naw­cy (komu­ni­ka­cja, zna­jo­mość dzie­dzi­ny, odpo­wie­dzial­ność) niż tra­dy­cyj­ne meto­dy­ki. Konieczne jest te zasto­so­wa­nie innych narzę­dzi programistycznych.

    1. Jarek Żeliński

      Określony próg zło­żo­no­ści” nie jest męt­ne, to ten moment, gdy licz­ba szcze­gó­łów prze­kra­cza moż­li­wo­ści ich zapa­mię­ta­nia. UML to kil­ka­na­ście typów dia­gra­mów, pomi­ja­jąc to czym są, słu­żą do zapa­mię­ty­wa­nia” i odczy­ty­wa­nia” ale to dopie­ro obraz­ki. Jeżeli uzna­my ich for­ma­lizm, sta­ją się dodat­ko­wo narzę­dziem mode­lo­wa­nia sys­te­mu, wery­fi­ka­cji spój­no­ści i kompletności.

      Różnica pomię­dzy mode­la­mi UML a pro­to­ty­pa­mi wyko­na­ny­mi przez pro­gra­mi­stę jest taka jak pomię­dzy rysun­kiem tech­nicz­nym a domem posta­wio­nym na próbę”…

      [logi­ka biz­ne­so­wa] nic magicz­ne­go, ale czę­sto, bar­dzo trud­no eks­trak­to­wal­ne­go z orga­ni­za­cji klien­ta”, być może nawet 90% to inte­rak­cja czło­wie­ka z sys­te­mem (podob­no logi­na biz­ne­so­wa to maks. 3% kodu), nie zmie­nia to fak­tu, że bez tych popraw­nych 10% sła­wet­nej logi­ki biz­ne­so­wej” całe GUI jest tak przy­dat­ne jak pięk­ny panel kom­pu­era bez pły­ty głów­nej w środku.

      Można też zary­zy­ko­wać stwier­dze­nie, że Agile jest bar­dziej wyma­ga­ją­cy od wyko­naw­cy (komu­ni­ka­cja, zna­jo­mość dzie­dzi­ny, odpo­wie­dzial­ność) niż tra­dy­cyj­ne meto­dy­ki. Konieczne jest te zasto­so­wa­nie innych narzę­dzi pro­gra­mi­stycz­nych.” Jakich innych narzę­dzi pro­gra­mi­stycz­nych? Komunikacja to pro­ces wyma­ga­ny w każ­dej meto­dzie pra­cy, odpo­wie­dzial­ność to tak­że rzecz koniecz­na, mitem jest wyma­ga­na zna­jo­mość dzie­dzi­ny, bo sys­tem sprze­da­ży zapro­jek­tu­ję na bazie ana­li­zy doku­men­tów i sto­sow­nych ustaw, zaś tyl­ko na bazie komu­ni­ka­cji z use­rem i pro­to­ty­pów” powsta­ją kosz­tow­ne buble, któ­re meto­dą prób i błę­dów, wyma­ga­ją kil­ku­na­stu podejść by nada­wa­ły się do cze­go­kol­wiek o ile w ogó­le tą meto­dą powstaną. 

      Proponuję zakoń­czyć dys­ku­sję w tym miej­scu… bo jesz­cze wyda się, że mam dużo pra­cy wła­śnie dzię­ki temu, że przede mną ktoś pró­bo­wał np. napi­sać sys­tem zarzą­dza­nia warun­ka­mi zło­żo­nych umów out­so­ur­cin­go­wych meto­dą pro­to­ty­po­wa­nia”… i nie dane mu było skoń­czyć bo biz­nes ocze­ku­je dekla­ra­cji ter­mi­nu i budże­tu” a nie obiet­ni­cy, że doło­ży­my wszel­kich starań”…

  13. Jacek Rybicki

    Pojawiały się już tu zda­nia o tym, żeby sto­so­wać odpo­wied­nie meto­dy do sytu­acji. Jeżeli biz­nes musi mieć plan, któ­ry będzie toć­ka w toć­kę” reali­zo­wa­ny, trze­ba zasto­so­wać inne meto­dy niż dla zdo­by­wa­nia nowe­go ryn­ku. Znaczy to też, że meto­dy lek­kie i kla­sycz­ne mają się uzu­peł­niać, a nie ze sobą kon­ku­ro­wać. Są tyl­ko meto­dy złe i dobre w danym kon­tek­ście. To ludzie sto­su­ją je w spo­sób nie­prze­my­śla­ny, kie­ru­jąc się modą, pogło­ska­mi albo chę­cią zabez­pie­cze­nia swo­ich ple­ców – nawet kosz­tem klienta.
    Dziękuję za oka­zję do prze­my­śleń. Drukarki 3d naj­le­piej nada­ją się do wywo­ły­wa­nia myśle­nia nieszablonwego 😉

    1. Jarek Żeliński

      Niewątpliwie nale­ży się zgo­dzić z tym, że Są tyl­ko meto­dy złe i dobre w danym kon­tek­ście.”. Niewątpliwie zabez­pie­cza­nie ple­ców jako cel, jest czyn­ni­kiem szko­dli­wym. Co cie­ka­we – nikt tu o tym nie wspo­mniał, że w pro­ce­sie pro­jek­to­wym na począt­ku waż­ne jest okre­śle­nie wyma­gań, ale nie na roz­wią­za­nie – to potem, a na meto­dę zarzą­dza­nia pro­jek­tem, bo zga­dzam się, że metod jedy­nie-słusz­nych nie ma. 

      Kolejny czę­sto popeł­nia­ny błąd pole­ga moim zda­niem na pomi­ja­niu tego, czy nowe opro­gra­mo­wa­nie” jest nowym narzę­dziem pra­cy czy zupeł­nie nowym pro­duk­tem na rynek! Nowe pro­duk­ty to nic inne­go jak R&D, tu już nie raz zosta­ło powie­dzia­ne, że meto­dy zwin­ne mają jak naj­bar­dziej sens. Jednak jeże­li celem pro­jek­tu jest wytwo­rze­nie narzę­dzia dla biz­ne­su, to nie ma tu mowy o R&D tyl­ko jest ana­li­za, wyma­ga­nia i pro­jek­to­wa­nie a potem reali­za­cja (jest ogrom­na róż­ni­ca pomię­dzy np. napi­sa­niem nowej gry kom­pu­te­ro­wej a napi­sa­niem pro­gra­mu wspie­ra­ją­ce­go jej prze­my­śla­ną sprzedaż). 

      Ja tak­że dzię­ku­ję za zwra­ca­nie mi uwa­gi na te ele­men­ty, któ­re pomi­jam z nawy­ku”. Co do sza­blo­no­wo­ści myśle­nia zaś, to nie wiem czy mowa o samej dru­kar­ce czy tym co ona dru­ku­je”, bo to dru­gie ktoś musi naj­pierw dobrze zaprojektować :).

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.