Jest dość licz­na gru­pa ludzi uwa­ża­ją­ca, że w Internecie nie obo­wią­zu­ją ani pra­wa fizy­ki, ani pra­wa eko­no­mii ani nawet zdro­wy roz­są­dek. W kwe­stii inży­nie­rii opro­gra­mo­wa­nia ludzie Ci stra­szą świat pro­jek­tów mitycz­nym wodo­spa­dem” jak kie­dyś dzie­ci stra­szo­ne były Babą Jagą.

[dzień po napi­sa­niu: po dys­ku­sji – patrz treść pod tym wpi­sem – a auto­rem cyto­wa­ne­go tu arty­ku­łu, doszli­śmy do wnio­sku, że nie róż­ni­my się zbyt­nio w poglą­dach, jed­nak zbyt­nie uprosz­cze­nie tre­ści mia­ło pra­wo wpro­wa­dzić mnie w błąd, jed­nak mój arty­kuł pozo­sta­nie w pier­wot­nej tre­ści bo pole­mi­zu­je głów­nie z pew­nym mitem a nie tym autorem]. 

Poniżej kolej­ny tego typu star­szak” o zna­mien­nym tytu­le Dlaczego tra­dy­cyj­ne meto­dy zarzą­dza­nia nie dzia­ła­ją w pro­jek­tach inter­ne­to­wych?” Szczerze mówiąc jak to czy­tam, natych­miast przy­po­mi­na mi się sta­re i wykpi­wa­ne w cza­sach sta­li­now­skich, obo­wiąz­ko­we wypra­co­wa­nie w szko­le na temat Dlaczego kocha­my Lenina” (bo, że go nie kocha­my wte­dy nie wcho­dzi­ło w grę).

Tu mamy dość cie­ka­wy przy­kład zastra­sze­nia, autor cyto­wa­ne­go arty­ku­łu uwa­ża, że pro­jek­ty inter­ne­to­we rzą­dzą się inny­mi prawami:

Mamy pomysł, ustal­my zakres oraz har­mo­no­gram na naj­bliż­sze 7 mie­się­cy, reali­zu­je­my pro­jekt i na koń­cu wpro­wadź­my pro­dukt na rynek. Oczywiście za nie­ma­łe pie­nią­dze. Czy war­to tak szcze­gó­ło­wa pla­no­wać swo­je nowe przed­się­wzię­cia? Czy war­to tak dłu­go dopiesz­czać swój pomysł?

waterfall_wiki

Jaką sku­tecz­ność w prze­wi­dy­wa­niu przy­szło­ści mają spe­cja­li­ści? Takie pyta­nie zadał sobie przed 10 laty Philip Tetlock, zna­ny ame­ry­kań­ski psy­cho­log. Przez dobrych kil­ka lat zbie­rał wśród mię­dzy­na­ro­do­wej śmie­tan­ki ana­li­ty­ków opi­nie na temat przy­szłych wyda­rzeń eko­no­micz­nych i poli­tycz­nych. Udało mu się uzy­skać ponad 82 tys. eks­perc­kich prze­po­wied­ni. (Dlaczego tra­dy­cyj­ne meto­dy zarzą­dza­nia nie dzia­ła­ją w pro­jek­tach internetowych?).

Drobne iro­nie w sty­lu za nie­ma­łe pie­nią­dze” to pró­by mani­pu­la­cji, któ­re pomi­jam. Po pierw­sze autor powo­łu­je się wyni­ki bada­nia, któ­re potwier­dza, że meto­dy heu­ry­stycz­ne się nie spraw­dza­ją jako meto­da pro­gno­zo­wa­nia, fakt zna­ny od daw­na w krę­gach nauki (pisa­łem o tym w Mucha…) i fak­tem jest, że takie (na bazie wie­dzy z okre­sów minio­nych) pro­gno­zo­wa­nie nie ma sen­su. Tu z auto­rem peł­na zgo­da. Ale jak się to ma do pro­jek­tów pro­gra­mi­stycz­nych? Nijak się nie ma, bo takich pro­gnoz nikt roz­sąd­ny nie robi w projekcie.

W inży­nie­rii opro­gra­mo­wa­nia nie pro­gno­zu­je się , bo to dome­na biz­ne­so­wa, w inży­nie­rii opro­gra­mo­wa­nia dąży się do zro­zu­mie­nia isto­ty pro­ble­mu imple­men­ta­cji. Czy ana­li­za i pro­jek­to­wa­nie to dłu­gie, szcze­gó­ło­we i zbęd­ne pla­no­wa­nie? Nie. Analiza ma za cel zro­zu­mie­nie i pod­ję­cie decy­zji o spo­so­bie imple­men­ta­cji. Jeżeli moż­na tu mówić o pla­no­wa­niu to raczej w kate­go­riach jak pla­nu­je­my zaim­ple­men­to­wać” to roz­wią­za­nie (któ­rym jest speł­nie­nie wyma­gań biznesu).

Owszem, moż­na pro­wa­dzić imple­men­ta­cje meto­dą pro­to­ty­pów, błą­dząc, z nadzie­ją, że szyb­ko (przy­pad­kiem) stwo­rzy­my dobre roz­wią­za­nie. Ale to w szcze­gól­no­ści trud­no zapla­no­wać (a nawet start-upy maja budże­ty). Czy to jest tań­sze? Nie sądzę. Nazywam to syn­dro­mem LOTTO: szyb­ka decy­zja bez pla­no­wa­nie daje pew­ne szan­se na odkry­cie popraw­ne­go roz­wią­za­nia, jed­nak to to samo co uzna­nie, że moż­na gra­jąc w LOTTO zaro­bić na bie­żą­ce życie aż do śmier­ci. Owszem, jest to moż­li­we, ale uda­je się nie­licz­nym (i wie­my dlaczego).

Start-upy nie­wąt­pli­wie mają swo­je pra­wa, i tu autor ma racje, twier­dząc, że nie ma cza­su”, jed­nak nie praw­dą jest, że:

Problem jest tyl­ko taki, że wszyst­ko, co na począt­ku usta­li­li­śmy to zwy­kłe prze­wi­dy­wa­nia naszych ?inter­ne­to­wych eko­no­mi­stów?. Całe nasze uza­sad­nie­nie biz­ne­so­we (model biz­ne­so­wy) jest prze­wi­dy­wa­niem, cały nasz zło­ty trój­ką pro­jek­tu (czas, zakres, budżet) jest prze­wi­dy­wa­niem. A jak dobrze wie­my, dzię­ki bada­niom Tetlocka, ludzie prze­wi­dy­wać dobrze nie potra­fią. Szczególnie w nowych warunkach.

Łączenie trój­ką­ta pro­jek­to­we­go” z pro­gno­za­mi biz­ne­so­wy­mi jest albo nie­po­ro­zu­mie­niem, albo nie­wie­dzą, albo cyni­zmem: model biz­ne­so­wy nie jest pro­gno­zą, model biz­ne­so­wy to opis spo­so­bu gene­ro­wa­nia war­to­ści doda­nej. Prognozą może być co naj­wy­żej plan przy­cho­dów z tej działalności.

Bo po pierw­sze w two­rze­niu mode­lu biz­ne­so­we­go, nie ma mowy o prze­wi­dy­wa­niu przy­szło­ści a o ana­li­zie gru­py doce­lo­wej. Wskazany zaś trój­kąt pro­jek­to­wy (zakres, ter­min, budżet) to plan wytwo­rze­nia kon­kret­ne­go opro­gra­mo­wa­nia (wspie­ra­ją­ce­go ten model biz­ne­so­wy). Owszem, tu – model biz­ne­so­wy – moż­na się pomy­lić, ale to nie pomył­ka pro­gno­zo­wa­nia tyl­ko np. zła decy­zja mar­ke­tin­go­wa. Teza, że np. moje kape­lu­sze będą mia­ły duży zbyt w gro­nie sno­bów”, to nie pro­gno­zo­wa­nie a plan mar­ke­tin­go­wy. Prognozowaniem było by stwier­dze­nie, że sprze­daż kape­lu­szy dla sno­bów osią­gnie 10 tys. szt. w cią­gu naj­bliż­sze­go roku” i tu fak­tycz­nie moż­na się nie­źle pomy­lić. Nie zmie­nia to fak­tu, że kape­lusz to kape­lusz i nale­ży go zapro­jek­to­wać i wytwo­rzyć, opro­gra­mo­wa­nie wspo­ma­ga­ją­ce sprze­daż kape­lu­szy przez inter­net (jego funk­cjo­nal­ność) nie zale­ży od ilo­ści sprze­da­ży (poza wydaj­no­ścią cało­ści) tyl­ko od tego co i jak chce­my sprzedawać.

Jednak nie zmie­nia to fak­tu, że pro­gram wspie­ra­ją­cy sprze­daż tych kape­lu­szy wyma­ga pew­nej ana­li­zy by zapro­jek­to­wać model dzie­dzi­ny tego opro­gra­mo­wa­nia, tu błąd kosz­tu­je cza­sem tyle, że wyma­ga­ny refak­to­ring (bez któ­re­go nie zre­ali­zu­je­my np. kolej­nej nowej potrzeb­nej funk­cjo­nal­no­ści) ad-hoc pisa­ne­go opro­gra­mo­wa­nia zabi­je budżet całe­go pro­jek­tu. To wyglą­da mniej wię­cej tak (źr. Znaczenie ma nie wiel­kość pro­jek­tu…):

Cykl życia aplikacji

Powyżej wykres poka­zu­ją­cy kosz­ty chwi­lo­we (linia cią­gła) i nara­sta­ją­ce (linia prze­ry­wa­na) pro­jek­tu two­rze­nia i utrzy­ma­nia opro­gra­mo­wa­nia. Linia zie­lo­na to pro­ces z dobrze opra­co­wa­nym pro­jek­tem na począt­ku, czer­wo­na to pro­jekt na żywioł”. 

Racje ma autor pisząc, że w przy­pad­ku start-upów może być dużym ryzy­kiem inwe­sto­wa­nie w pro­jek­to­wa­nie cze­goś co może oka­zać się nie­wy­pa­łem, jed­nak trze­ba pamię­tać, że jeże­li pro­jekt wypa­li, pra­wie na pew­no będzie wyma­gał wte­dy refak­to­rin­gu, by krzy­wa utrzy­ma­nia była jed­nak bliż­sza tej zie­lo­nej (niskie kosz­ty sta­łe to więk­sza marża).

Wodospad, któ­rym się star­szy dzie­ci” to przede wszyst­kim nie linio­wy” pro­jekt na lata (czy jak u auto­ra cyta­tów: 7 mie­się­cy start-up). Wodospad dzi­siaj to jedy­nie uzna­nie, że trzy fazy: ana­li­za, pro­jek­to­wa­nie, imple­men­ta­cja, są nie­roz­łącz­ne z czy­ste­go roz­sąd­ku. Prawda jest, że każ­da pro­gno­za wią­że się z ryzy­kiem, jeże­li uzna­my że jest ono duże (a z regu­ły jest), to nie pla­nu­je­my jak kiedyś:

Ryzyko projektu 1

(typo­wy struk­tu­ral­ny pro­ces), tyl­ko dzie­li­my pro­jekt na eta­py (kolej­ne funk­cjo­nal­no­ści) o dłu­go­ści na tyle krót­kiej, by błę­dy pro­gno­zy były akcep­to­wal­ne i nie nisz­czy­ły pro­jek­tu. Wtedy pro­jekt cha­rak­te­ry­zu­je się takim cyklem:

Ryzyko projektu 2

(źr. Mega pro­jek­ty…)

U auto­ra cyta­tów znaj­dzie­my bar­dzo podob­ny wykres, z jed­ną róż­ni­cą: tam jest to szu­ka­nie roz­wią­za­nia meto­dą pro­to­ty­pów, czy­li każ­da dotych­cza­so­wa pra­ca idzie do kosza. W tym przy­pad­ku, jest to prze­my­śla­ny pro­ces, powsta­ły już kod nie jest wyrzu­ca­ny, ale to wyma­ga dobre­go pro­jek­tu (szkie­le­tu archi­tek­tu­ry), obiek­to­wych metod i zasto­so­wa­nia wzor­ców analitycznych.

Autor arty­ku­łu pisze:

Mamy okre­ślo­ny cel biz­ne­so­wy. Nie wie­my, nie zna­my i nie mamy łatwe­go dostę­pu do naj­waż­niej­sze­go udzia­łow­ca ? użyt­kow­ni­ka, nie wie­my, co zro­bić, żeby speł­nić cel biz­ne­so­wy (zakres), tym samym nie wie­my, ile to będzie kosz­to­wać (budżet) i na kie­dy się uda go osią­gnąć (czas).

Wiemy nato­miast, że na pew­no będą zmia­ny i trze­ba jak naj­szyb­ciej z pro­duk­tem pro­jek­tu wejść na rynek.

Współczuję każ­de­mu, kto w tak eks­tre­mal­nych warun­kach, przy tak wiel­kim stop­niu nie­pew­no­ści musi tra­dy­cyj­ny­mi meto­da­mi reali­zo­wać projekt.

Od razu przy­po­mnę, że da się nowo­cze­sny­mi meto­da­mi two­rzyć opro­gra­mo­wa­nie odpo­wia­da­ją­ce powyż­szym wyma­ga­niom: to ma już nawet nawet ład­ną nazwę: SOLID gdzie klu­czo­wą cechą jest to, że tak pro­jek­to­wa­ne i wyko­ny­wa­ne opro­gra­mo­wa­nie jest zamknię­te na zmia­ny i otwar­te na roz­sze­rze­nia” (nie mylić zmian kodu ze zmia­ną stra­te­gii sprze­da­ży), ozna­cza to, że kod nie wyma­ga zmian (refak­to­ring, odrzu­ca­nie pro­to­ty­pów) a pozwa­la na roz­sze­rze­nia (nowe wyma­ga­nia). Metody obiek­to­we to nic inne­go jak odpo­wiedź na powyż­sze potrze­by. Jeżeli autor miał na myśli tra­dy­cyj­ne meto­dy w rodza­ju baza danych i funk­cje” to jestem po jego stro­nie, też współczuję.

Paradoksalnie to co opi­sa­łem jest tań­sze, bo nie­mal­że nic nie idzie do kosza. Każdy etap jest krót­ki więc pra­wie pew­ny”, nie­mal­że żad­na pra­ca nie idzie na mar­ne, sys­tem nie wyma­ga per­ma­nent­nej refak­to­ry­za­cji. Co tu jest waż­ne: zacho­wu­je­my cykl: ana­li­za, pro­jek­to­wa­nie, imple­men­ta­cja. Są to wte­dy krót­kie ite­ra­cje, ale zawsze kodo­wa­nie poprze­dza­my ana­li­zą dzie­dzi­ny. Druga waż­na rzecz: nie da się tak pro­wa­dzić pro­jek­tu meto­da­mi struk­tu­ral­ny­mi (naj­pierw baza danych, potem funk­cje) bo model bazy danych z zasa­dy obej­mu­je całą dzie­dzi­nę pro­ble­mu, a tej, jak słusz­nie zauwa­ża autor, nie zna­my (dłu­go­ter­mi­no­wa prognoza). 

Druga wer­sja (opi­sa­na powy­żej) jest rela­tyw­nie tania, moż­na prze­rwać w dowol­nym momen­cie i nie prze­in­we­sto­wać. Jednak rezy­gna­cja z ana­li­zy, któ­rej celem jest zro­zu­mie­nie pro­ble­mu i zde­cy­do­wa­nie o spo­so­bie imple­men­ta­cji to szu­ka­nie kło­po­tów takich jak ten:

most, agile, projektowanie, planowanie

Jak wyglą­da takie «wzor­co­we” pro­jek­to­wa­nie opi­sa­łem w arty­ku­le Plansza do gry w szachy…

Na koniec co nie­co o ryzyku:

ryzyko, popper, decyzje
(Karl Popper)

Tak więc nie ma metod jedy­nie słusz­nych (zwin­ne i nie­zwin­ne, itp.) , są tyl­ko ade­kwat­ne do sytu­acji projektowej.

Nie ma sen­su stra­sze­nie ludzie pro­ble­ma­mi inży­nie­rii opro­gra­mo­wa­nia z przed 30 lat (meto­dy struk­tu­ral­ne ana­li­zy i pro­jek­to­wa­nia, kosz­tow­ny water­fall)!. Mamy dziś rok 2013, dobrze roz­wi­nię­te meto­dy obiek­to­we ana­li­zy, pro­jek­to­wa­nia, mode­lo­wa­nia, imple­men­ta­cji. Aplikacje biz­ne­so­we moż­na wręcz linio­wo two­rzyć i roz­wi­jać, wystar­czy chcieć przejść na inne meto­dy pra­cy niż te, któ­rych (nie­ste­ty) nadal uczą na stu­diach: funk­cje + struk­tu­ry danych = opro­gra­mo­wa­nie” bo to prehistoria.

Tak zwa­ne pro­jek­ty inter­ne­to­we to tak­że opro­gra­mo­wa­nie, tu tak­że obo­wią­zu­ją pra­wa fizy­ki i eko­no­mii oraz roz­są­dek”. Jeżeli coś je odróż­nia o innych to uży­ta tech­no­lo­gia inter­ne­to­wa” a i to coraz mniej, bo obec­ne opro­gra­mo­wa­nie biz­ne­so­we to coraz częściej„system dostęp­ny przez internet”…

Na pew­no wszel­kie start-up’y to pro­jek­ty inne”, ale to wyni­ka z ich natu­ry biz­ne­so­wej (ryzy­ko powo­dze­nia) a nie tech­no­lo­gicz­nej. Mylenie tych pojęć pro­wa­dzi do wnio­sku, że np. nowy samo­chód pro­to­ty­po­wy kon­stru­uje się ina­czej niż standardowy”.…nie, ina­czej pla­nu­je się finan­so­wa­nie ale deska kre­ślar­ska pozo­sta­je ta sama…

A na tytu­ło­we pyta­nie odpo­wiedź brzmi: nie ist­nie­je taki problem.

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 8 komentarzy

  1. Tomasz Tomaszewski

    Pisząc o pro­jek­tach piszę o nich w kon­tek­ście BIZNESOWYM, a nie o pro­jek­tach stric­te programistycznych.

    To cze­go doty­czył arty­kuł to tego, że w star­tu­pach (pro­jek­tach inter­ne­to­wych – takie uprosz­cze­nia mia­łem na myśli) dzia­ła­nie mode­lu biz­ne­so­we­go to tyl­ko hipo­te­za. Prognozujemy że on będzie dzia­łał. Jeśli na pod­sta­wie tej hipo­te­zy potem two­rzy­my zakres pro­jek­tu (czy­li nasz trój­ką pro­jek­to­wy), to potem może się oka­zać że two­rząc opro­gra­mo­wa­nie (nie­za­leż­nie jaką meto­dy­ką) zro­bi­my je świet­nie od stro­ny inży­nier­skiej. Tylko po co, jak biz­ne­so­wo (po pierw­szym zde­rze­niu z ryn­kiem) nie ma ono sensu.

    Metoda Lean Sartup któ­rą pro­po­nu­ję nie ma żad­ne­go związ­ki z two­rze­niem archi­tek­tu­ry opro­gra­mo­wa­nia, czy spo­so­bie podej­ście do pro­jek­tu od stro­ny informatycznej/inżynierskiej. Skupia się na jak naj­szyb­szym wery­fi­ko­wa­niu hipo­te­zy mode­lu biz­ne­so­we­go, a nie wytwa­rza­niu oprogramowania.

    Cieszę się, że koń­co­wo wła­ści­wie się zga­dza­my: star­tu­py to pro­jek­ty inne z ich natu­ry biz­ne­so­wej, a nie tech­nicz­nej” (więc wyma­ga­ją one inne­go zarzą­dza­nia biz­ne­so­we­go) oraz że nie war­to mylić tych pojęć. Jeśli przyj­rzy się Pan blo­go­wi dokład­niej, to zoba­czy że jest on skie­ro­wa­ny do mło­dych przed­się­bior­ców, a nie inży­nie­rów, archi­tek­tów czy pro­ject mana­ge­rów sys­te­mów biz­ne­so­wych. Tych zapra­szam na http//analizait.pl/.

    1. Jarek Żeliński

      Tak to ode­bra­łem, i tez sądzę że się zga­dza­my, moje małe emo­cje” wzbu­dzi­ło nie roz­dzie­le­nie tego jaw­nie” :), co zresz­tą napi­sa­łem. Ludzie z regu­ły bar­dzo myl­nie odbie­ra­ją takie nie­do­mó­wie­nia. Regularnie spo­ty­kam ludzi, łączą­cych kwe­stie zarzą­dza­nia fir­mą (biz­ne­sem) z narzę­dzia­mi pra­cy jakie naby­wa­ją i war­to to jaw­nie roz­dzie­lać, bo potem są nie­speł­nio­ne nadzieje :). 

      Ciesze i dzię­ku­je, że Pan odpisał 🙂

    2. Tomasz Tomaszewski

      Cieszę się, że się zga­dza­my 🙂 Przekaz arty­ku­łu, jego tytuł i uży­te poję­cie pro­jek­tów inter­ne­to­wych” w wyrwa­niu z kon­tek­stu rze­czy­wi­ście może być nie­jed­no­znacz­ne. Artykuł był jed­nak roz­sze­rze­niem tego co chwi­lę wcze­śniej pre­zen­to­wa­łem na jed­nej z kon­fe­ren­cji. Dla jej uczest­ni­ków myślę, że był bar­dziej jednoznaczny 🙂

      Ciężko było­by mi w ogó­le kry­ty­ko­wać sam pro­ces ana­li­zy i pro­jek­to­wa­nia, bo pro­wa­dzę fir­mę któ­ra… wła­śnie tym się zaj­mu­je 😉 (też Consulting IT).

      Chętnie pody­sku­to­wał­bym wię­cej na te tema­ty, ale inter­ne­to­wo pisa­ne tek­stów i komen­ta­rzy zaj­mu­je strasz­nie dłu­go cza­su. Mam nadzie­ję, że będzie kie­dyś oka­zja powy­mie­niać poglą­dy na żywo 🙂

    3. Jarek Żeliński

      Też mam taka nadzie­ję :), nie­wąt­pli­wie jed­nak pro­gno­zo­wa­nie heu­ry­stycz­ne nie ma sen­su 😉 w takich wypadkach.

  2. RKam

    Metoda lean star­tup, czy Customer deve­lop­ment spraw­dza się nie tyl­ko w star­tu­p’ach, a kon­cen­tru­je się wła­śnie na roz­wią­zy­wa­niu pro­ble­mów, tyle że nie za pomo­cą ana­li­zy ale hipo­tez i eks­pe­ry­men­tów na tych”, któ­rym ma słu­żyć roz­wią­za­nie pro­ble­mu. Kluczem do suk­ce­su jest rów­nież MVP, któ­re­go popra­wia­nie kosz­tu­je zde­cy­do­wa­nie mniej niż zmia­ny dostar­czo­ne­go oprogramowania.
    Nie negu­je podej­ścia pre­fe­ro­wa­ne­go i opi­sa­ne­go przez Jarka, sam tak pra­co­wa­łem i wiem że może być sku­tecz­ne. Nie mniej jed­nak na takie meto­dy uwa­żam że stać dzi­siaj jedy­nie orga­ni­za­cje o sta­bil­nej sytu­acji ryn­ko­wej. Tak w skrócie 🙂

    1. Jarek Żeliński

      kon­cen­tru­je się wła­śnie na roz­wią­zy­wa­niu pro­ble­mów, tyle że nie za pomo­cą ana­li­zy ale hipo­tez i eks­pe­ry­men­tów ?na tych?, któ­rym ma słu­żyć roz­wią­za­nie pro­ble­mu”. Mamy tu chy­ba nie­po­ro­zu­mie­nie 🙂 ze sło­wa­mi hipo­te­za i ana­li­za, eks­pe­ry­ment rozu­mie­my tak samo :).

      Hipoteza to nie loso­wo wybra­ne roz­wią­za­nie a teo­ria powsta­ła na bazie ana­li­zy, któ­rą oba­la­my albo potwier­dza­ny w prak­ty­ce. Rzecz w tym, że tu ana­li­za i budo­wa­nie hipo­te­zy”, to nie kosz­tow­na ana­li­za setek czy tysię­cy danych, tu ana­li­za” (hipo­te­zy i jej dowo­dze­nie) pole­ga na zba­da­niu rela­tyw­nie małej (nie raz bar­dzo małej) ilo­ści danych i budo­wa­nie teo­rii (mode­le), któ­ra je wyja­śnia. Teraz albo uda się wska­zać zda­rze­nie, któ­re­go ta kan­dy­du­ją­ca teo­ria (hipo­te­za) nie wyja­śnia (i oba­li hipo­te­zę) albo nie, i do tego cza­su dana teo­ria (model) jest praw­dzi­wa. W inży­nie­rii opro­gra­mo­wa­nia tym mode­lem jest model dzie­dzi­ny sys­te­mu, w biz­ne­sie model biz­ne­so­wy a to dwa róż­ne mode­le (hipo­te­zy). Ale o tym dalej.

      I teraz: pro­jek­tu­jąc opro­gra­mo­wa­nie moż­na ana­li­zo­wać set­ki danych od użyt­kow­ni­ków (ich wyma­ga­nia, user sto­ry itp.), podej­mo­wać pró­by i two­rzyć kolej­ne pro­to­ty­py (to się czę­sto fał­szy­wie nazy­wa for­mal­nym pro­ce­sem), albo na bazie nie­wiel­kiej ilo­ści danych, opi­su­ją­cych zja­wi­sko (tu orga­ni­za­cję) sta­rać się wychwy­cić i zamo­de­lo­wać logi­kę jej dzia­ła­nia (tę któ­rą chce­my zaim­ple­men­to­wać) co się z regu­ły uda­je ale wyma­ga to pew­ne­go mini­mal­ne­go cza­su. Jaki jest pro­blem? Pierwsza meto­da nie wyma­ga zbyt wie­lu umie­jęt­no­ści poza cier­pli­wo­ścią do żmud­nej pra­cy, to bar­dzo kosz­tow­ny pro­ces bo zaso­bo­chłon­ny i dłu­gi. Drugi jest trud­ny (wyma­ga­ne kom­pe­ten­cje ana­li­ty­ka to sto­so­wa­nie metod sys­te­mo­wych) ale dro­ga do roz­wią­za­nia jest dość dobrze prze­wi­dy­wal­na i trwa kró­cej, per sal­do taki pro­jekt – dobrze prze­pro­wa­dzo­ny – jest tań­szy (poza wyjąt­ka­mi przy­pad­ko­we­go zna­le­zie­nia wła­ści­we­go roz­wią­za­nia na samym począt­ku meto­dą eksperymentów). 

      Ekonomicznie naj­gor­sza meto­da to rzu­ce­nie się od razu na kodo­wa­nie bez jakiej­kol­wiek ana­li­zy, bo przy­pad­ko­wość jest tu naj­więk­sza a praw­do­po­do­bień­stwo szyb­kie­go zna­le­zie­nia roz­wią­za­nia na począt­ku tego pro­ce­su jest naj­mniej­sze. Ogromna popu­lar­ność tej meto­dy wyni­ka z tego, że to może robić prak­tycz­nie każ­dy i cza­sa­mi się uda­je (ale to poku­sa jak LOTTO).

      I tak: mając sła­by model biz­ne­so­wy (zła teo­ria) jakie­kol­wiek pro­gno­zy biz­ne­so­we są kiep­skie, zaś ana­li­za ogrom­nych ilo­ści danych histo­rycz­nych i bada­nie tren­dów nie dzia­ła, co autor już opi­sał. Jednak opro­gra­mo­wa­nie to nie model biz­ne­so­wy (ryn­ko­wy) tyl­ko model narzę­dzia pra­cy, a to zupeł­nie co inne­go. Taki model zawsze moż­na dobrze zro­bić o ile ma się te mini­mum cza­su. Problemem jest to, że nie raz czas wytwo­rze­nia opro­gra­mo­wa­nia nawet naj­lep­szą meto­dą, jest dłuż­szy niż biz­ne­so­wa per­spek­ty­wa (oka­zja ryn­ko­wa) sko­rzy­sta­nia z nie­go. I tu widzę pro­blem decy­zyj­ny mene­dże­ra: iść dro­gą zwin­ne­go rzu­ce­nia się od razu na kodo­wa­nie bo jest szan­sa na suk­ces (nie zna­my praw­do­po­do­bień­stwa nie­ste­ty), mała ale jak się uda to jest suk­ces, czy podejść prag­ma­tycz­nie i zre­zy­gno­wać cza­sem z nie­któ­rych zbyt ryzy­kow­nych start-upów. Tu fak­tycz­nie mamy małą rulet­kę 🙂 i od tego są biz­nes­me­ni by w nią gra­li :D, byle świadomie.

  3. R Kaminski

    Jarku, spo­dzie­wa­łem się takiej odpo­wie­dzi. Słowem wyja­śnie­nia: za hipo­te­zę przyj­mu­ję przy­pusz­cze­nie doty­czą­ce roz­wią­za­nia pro­ble­mu, któ­re wyma­ga potwier­dze­nia, np za pomo­cą eks­pe­ry­men­tów. Za ana­li­zę chciał­bym przy­jąć ide­al­ny świat” opi­sy­wa­ny przez Ciebie, ale nie­ste­ty widzia­łem zbyt wie­le bez­u­ży­tecz­nych ana­liz” i opro­gra­mo­wa­nia, któ­re­go nikt nie uży­wa, bo nikt nie raczył zwe­ry­fi­ko­wać z pro­ble­ma­mi użyt­kow­ni­ka, w kon­tek­ście ich potwier­dze­nia i przy­ję­te­go roz­wią­za­nia, ufa­jąc swo­jej nie­omyl­no­ści i ana­li­zom” i mode­lom dzie­dzi­ny. Natomista model biz­ne­so­wy trak­tu­ję jako zbiór hipo­tez do potwier­dzo­nych pro­ble­mów i ich rozwiązań.
    Pozdrawiam
    Rafal Kaminski

    1. Jaroslaw Zelinski

      Ja mam za sobą pro­jek­ty, gdzie przede mną sze­fo­wa sekre­ta­ria­tu wpi­sa­ła do wyma­gań funk­cję pod­pi­sy­wa­nia orze­czeń sądo­wych prze­ter­mi­no­wa­nym pod­pi­sem elek­tro­nicz­nym sędzie­go a w pew­nej fir­mie dyrek­tor han­dlo­wy miał moż­li­wość omi­nię­cia limi­tu budże­to­we­go wydat­ków. Ja nie opi­su­je świa­ta ide­al­ne­go, tyl­ko świat w któ­rym prze­ło­żo­ny wyda­je pole­ce­nia pod­wład­ne­mu a nie odwrot­nie. Wiele upa­dłych” pro­jek­tów, po któ­rych sprzą­ta­łem to były pro­jek­ty, w któ­rych wyma­ga­nia były efek­tem ocze­ki­wań użyt­kow­ni­ków”, przy­po­mi­na­ły sys­tem wyna­gro­dzeń usta­lo­ny oddol­nie przez związ­ki zawo­do­we. Wiem, że użyt­kow­nik może mieć wie­dzę na temat jakichś ele­men­tów wygo­dy pra­cy ale 2+2=4, wykry­wam to i pil­nu­ję by nie było 2+2=5. Zaczyna się czę­sto nie­po­zor­nie np. od żąda­nia (i zapi­sa­nia a w wyma­ga­niach) dopusz­cze­nia ujem­nych sta­nów maga­zy­no­wych, koń­czy się na nie­wy­ko­ny­wal­nym legal­nie bilan­sie. Osobiście nie dopusz­czam w pro­jek­cie bra­ku logi­ki. Ja też regu­lar­nie widu­ję bez­u­ży­tecz­ne ana­li­zy, gene­ral­nie dla­te­go, że to nie żad­ne ana­li­zy a ste­no­gra­my z warsz­ta­tów i wywia­dów. Modele dzie­dzi­ny jakie w nich widu­ją to bez­war­to­ścio­we obraz­ki odwzo­ro­wu­ją­ce ten ste­no­gra­my albo taki beł­kot jak np. ten (ten czło­wiek uczy ana­li­ty­ków!): Szkolenie UML. Jeżeli to masz na myśli, to masz rację, to bez­war­to­ścio­we analizy.

      P.S.
      Takie sło­wa jak hipo­te­za czy teo­ria mają swo­je zna­cze­nie w j. pol­skim i war­to je sto­so­wać by nie popa­dać w nie­po­ro­zu­mie­nia. Zmorą, nie tyl­ko, doku­men­tów ana­liz jest ich niejednoznaczność…

Dodaj komentarz

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