Swego cza­su pisa­łem, że

… opis ?co? sys­tem ma robić to sta­now­czo za mało, tak na praw­dę nie defi­niu­je on nicze­go poza tym, w jaki spo­sób może zostać wyko­rzy­sty­wa­ny. Przypadek uży­cia jest dosłow­nie ?przy­pad­kiem uży­cia sys­te­mu?, ale przy­pad­ków uży­cia jest nie­skoń­cze­nie wie­le. Na ile spo­so­bów wyko­rzy­stu­je­cie posia­da­ne oprogramowanie?

[…] Tak więc doku­ment wyma­gań to nie tyl­ko przy­pad­ki uży­cia [listy pól czy pro­to­ty­py ekra­nów] . Te są raczej testem popraw­no­ści roz­wią­za­nia, czy model jest popraw­ny (przy­po­mi­nam, że przy­pad­ki uży­cia, poza ich sce­na­riu­sza­mi, zawie­ra­ją stan począt­ko­wy i stan koń­co­wy akcji użyt­kow­ni­ka). Dokument wyma­gań to model (tu model dzie­dzi­ny), któ­ry po zaim­ple­men­to­wa­niu, będzie się zacho­wy­wał tak jak tego ocze­ku­je­my a przy­pad­ki uży­cia będą jedy­nie dowo­dem na to, że jest on popraw­ny. […] Jeśli model przy­pad­ków uży­cia to model tak zwa­nej czar­nej skrzyn­ki, to model dzie­dzi­ny (bo tak się on nazy­wa) to tak zwa­na bia­ła skrzyn­ka. (Czy wyma­ga­nia opi­su­ją tyl­ko to ?co? sys­tem ma robić? | Jarosław Żeliński IT-Consulting).

Ogólnie kon­klu­zja jest taka, że czar­na skrzyn­ka nie daje nie­mal­że żad­nej wie­dzy o tym ja ona dzia­ła. Niedawno wpadł mi przed oczy arty­kuł trak­tu­ją­cy o tym samym, kon­klu­zja auto­ra (wni­kli­wym pole­cam cały artykuł):

Sure, you put a lot of time into cre­ating a pro­to­ty­pe, a moc­kup, scre­en­shot, or wire­fra­me (are the­re any other names for the user inter­fa­ce dra­wing I?ve mis­sed?). You may have drawn it on a whi­te­bo­ard, in VISIO, or even used a requ­ire­ments tool to cre­ate it. At the end of the day, no mat­ter how much time you spend on it, it?s nothing more than a pic­tu­re. And tho­se of you who have wor­ked in IT know deve­lo­pers can­not code and cre­ate a solu­tion sole­ly from a pic­tu­re. (A Prototype is Nothing More Than a Picture > Business Analyst Community & Resources | Modern Analyst > Business Analyst Articles & Systems Analysis Articles | Modern Analyst).

(deve­lo­per nie jest w sta­nie stwo­rzyć żad­ne­go roz­wią­za­nia tyl­ko na bazie obrazków).

Trudno z tym arty­ku­łem pole­mi­zo­wać, a jed­nak rze­sze ana­li­ty­ków, i o dzi­wo deve­lo­pe­rów, chy­ba więk­szo­ści firm IT, jako pro­duk­ty ana­liz wyma­gań przed­sta­wia­ją tyl­ko owe pro­to­ty­py czy­li user sto­ry”, mock-up’y ekra­nów, tabe­le itp. W środ­ku jest jakaś okre­ślo­na logi­ka i to ona jest klu­czo­wym wymaganiem.

W kwe­stii ryso­wa­nia vs. mode­lo­wa­nie pole­cam mój sta­ry tekst Modelowanie a ryso­wa­nie.

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

  1. Cyryl Kwaśniewski

    Pozwolę się nie zgo­dzić. Lub też, zgo­dzić, ale tyl­ko przy zało­że­niu że na dzia­ła­nie opro­gra­mo­wa­nia skła­da się wyłącz­nie wyko­ny­wa­niue kodu przez komputer. 

    Tak jed­nak nie jest. Potrzebujemy makiet i pro­to­ty­pów, i to bar­dziej niż jest to obec­nie prak­ty­ko­wa­ne. Dlaczego?

    Są wg. mnie 3 powody:
    1) Użytkownicy
    2) Zespół
    3) Ryzyko

    1) Skuteczność opro­gra­mo­wa­nia zale­ży od użytkowników.
    Drogie i ryzy­kow­ne pro­jek­to­wa­nie sku­tecz­ne­go roz­wią­za­nia IT uży­wa­ne­go przez ludzi bez uprzed­nie­go testo­wa­nia i eks­pe­ry­men­tów z inter­fej­sem. Każdy kawa­łek softwa­re jest inny. 

    Niedocenienie wagi doświad­cze­nia użyt­kow­ni­ka koń­co­we­go może dopro­wa­dzić w naj­lep­szym wypad­ku do wzro­stu skarg na sup­por­cie a w naj­gor­szym do odrzu­ce­nia roz­wią­za­nia przez odbiorców. 

    Narzędzia któ­re fru­stru­ją użyt­kow­ni­ków są przez nich uży­wa­ne tyl­ko wte­dy gdy jest to abso­lut­na koniecz­ność i jeśli tyl­ko będą mogli będą wspo­ma­gać się innym oprogramowaniem

    2) Tworzenie opgro­gra­mo­wa­nia to gra zespołowa.
    Dopóki sofwa­re nie powsta­nie ist­nie­je w 3 miej­scach. W gło­wach biz­ne­su” , w gło­wie pro­jek­tan­ta i, przy odro­bi­nie szczę­ścia, w doku­men­ta­cji. Może cza­sem w gło­wie analityka.

    Warto zauwa­żyć, że to co ma w gło­wie biz­nes jest czę­sto jedy­nie kolek­tyw­nym wyobra­że­niem tego jak dane roz­wią­za­nie ma funk­cjo­no­wać. I jest znie­kształ­co­nym odwzo­ro­wo­wa­niem pro­ce­sów biznesowych.

    Ten znie­kształ­co­ny obraz muszą prze­fil­tro­wać ana­li­tyk i pro­jek­tant. A następ­nie prze­ka­ząć go deve­lo­pe­rom. O ile pro­ces biz­ne­so­wy moż­na prze­ka­zać jedy­nie za pomo­cą doku­men­ta­cji, logi­kę dzia­ła­nia zło­żo­nych for­mu­la­rzy czy kon­tekst prze­pły­wu przez kolej­ne wido­ki z per­spek­ty­wy użyt­kow­ni­ka da się poka­zać jedy­nie rysu­jąc je. 

    3) Tworzenie opro­gra­mo­wa­nia jest eks­pe­ry­men­tem, za każ­dym razem.
    Rzadko kie­dy zda­rza się sytu­acja by dany kawa­łek opro­gra­mo­wa­nia był pro­jek­tem któ­ry da się szcze­gó­ło­wo zapro­jek­to­wać ze szcze­gó­ło­wo okre­ślo­ny­mi z góry założeniami. 

    Jeśli tak jest powsta­ją pro­jek­ty nie­sku­tecz­ne lub jakieś potwor­ki pro­gra­mi­stycz­ne. A więk­szo­ści powsta­ją po ter­mi­nie, nie­zgod­nie z wyma­ga­nia­mi i poza budżetem. 

    Prototypowanie jako jed­na z metod pozwa­la sku­tecz­niej nego­cjo­wać wyma­ga­nia oraz testo­wać roz­wią­za­nia zanim zosta­ną wdrożone. 

    Zatem, pod­su­mo­wu­jąc, uwa­żam że nie jest praw­dą stwier­dze­nie że pro­to­typ to tyl­ko obra­zek. To narzę­dzie komu­ni­ka­cyj­ne poma­ga­ją­ce sku­tecz­niej podej­mo­wać decy­zje co do kie­run­ku roz­wo­ju pro­jek­tu oraz poma­ga­ją­ce redu­ko­wać ryzy­ko w pro­jek­cie. Pomaga też pod­no­sić jakość efek­tu koń­co­we­go. We wpraw­nych rękach, oczywiście. 

    Nie moż­na w pro­jek­to­wa­niu opro­gra­mo­wa­nia oddzie­lić logi­ki biz­ne­so­wej od cech mięk­kich” użyt­kow­ni­ka, choć­by dla­te­go, że żaden budżet nie zakła­da osob­no deve­lop­men­tu dla biz­ne­su” i dla use­ra”. Ostatecznie to ludzie two­rzą orga­ni­za­cje, nie software.

    1. Jarek Żeliński

      Myślę, że mie­sza­my tu dwa ele­men­ty two­rze­nia jakie­go­kol­wiek roz­wią­za­nia ale po kolei.
      1). Nie rozu­miem związ­ku sku­tecz­no­ści opro­gra­mo­wa­nia i użyt­kow­ni­ka, jeże­li ktoś pro­jek­tu­je kal­ku­la­tor to jego sku­tecz­ność nie ma nic wspól­ne­go z tym kto i jak go uży­wa (i czy w ogó­le). Owszem, może się poja­wić pro­blem wygo­dy pra­cy z nim (np. kla­wi­sze będą zbyt małe i zbyt bli­sko sie­bie), ale to nie pro­blem logi­ki dzia­ła­nia kal­ku­la­to­ra. Zgadzam się, że fru­stru­ją­ce narzę­dzie będzie uży­wa­ne z opo­ra­mi ale ta fru­stra­cja czę­sto ma miej­sce gdy użyt­kow­ni­ko­wi ogra­ni­cza­my swo­bo­dę (np. z powo­dów biz­ne­so­wych nie pozwa­la­my sto­so­wać okre­ślo­nych, zbyt ryzy­kow­nych dla fir­my, sce­na­riu­szy: nie wol­no wysta­wić fak­tu­ry bez zamó­wie­nia). Owszem zły inter­fejs użyt­kow­ni­ka tak­że może być przy­czy­na fru­stra­cji ale nie o tym tu piszemy.

      2). Jak poka­zać tyl­ko na kolej­nych ekra­nach, logi­kę dzia­ła­nia sys­te­mu sko­rin­go­we­go lub nali­cze­nie raba­tów na fak­tu­rze? Skoro dowol­ny pro­gram moż­na roz­ło­żyć na obiek­ty skła­da­ją­ce się z atry­bu­tów i metod to jaki­mi ekra­na­mi” prze­ka­że­my wie­dzę o meto­dach (a tu tkwi ser­ce opro­gra­mo­wa­nia)? I na koniec: jak, bez doku­men­ta­cji prze­ka­że­my w umo­wie pomię­dzy biz­ne­sem a dostaw­ca opro­gra­mo­wa­nia cel pro­jek­tu? Co do logi­ki zło­żo­nych for­mu­la­rzy: czym jest zło­żo­ny for­mu­larz? Bo patrząc na doku­men­ty księ­go­we czy na for­mu­la­rze urzę­do­we są to sta­tycz­ne ekra­ny, ich wypeł­nia­nie nie jest żad­nym wyzwa­niem. Tu mogę tyl­ko zauwa­żyć, że imple­men­ta­cja np. dekla­ra­cji PIT w posta­ci kil­ku­na­stu for­mu­la­rzy zbie­ra­ją­cych dane poka­zu­ją­cych się na ekra­nie w jakiś zło­żo­ny spo­sób nie jest dobrym pomy­słem ale tu wkra­cza­my w gusty” czy­li jak pro­jek­tu­je­my GUI” w ten wątek to inny temat 🙂 

      3). Z tym zupeł­nie się mogę zgo­dzić, chy­ba, że meto­dą jest pra­ca czas i mate­riał aż skoń­czy­my”. Tworzenie opro­gra­mo­wa­nia może być bar­dzo dobrze pla­no­wa­nym pro­ce­sem podob­nie jak budo­wa dra­pa­cza chmur, to że jest duży nie zna­czy, że nie­moż­li­wy do zapro­jek­to­wa­nia na samym począt­ku. Owszem, pro­jek­to­wa­nie jest kosz­tem i pochła­nia czas, ale tu w grę wcho­dzi osza­co­wa­nie ryzy­ka i nic wię­cej. Otóż jeże­li zna­ny jest cel (a war­to go znać) opro­gra­mo­wa­nie da się szcze­gó­ło­wo zapro­jek­to­wać, co zresz­tą nie ja jeden robię. 

      Za zakoń­cze­nie: pro­to­typ (w rozu­mie­niu mock-up) to tyl­ko obra­zek, ale fak­tycz­nie jest tak­że narzę­dziem komu­ni­ka­cji. Tu jed­nak komu­ni­ku­je­my jedy­nie GUI i ewen­tu­al­nie jego zacho­wa­nie, ale nie logi­kę (prze­pływ ekra­nów to sena­riusz pra­cy a nie logi­ka biz­ne­so­wa). Owszem GUI to ele­ment oce­nia­ny jako pierw­szy i tego nie negu­je­my. Niestety, cytu­jąc jed­ne­go z moich klien­tów (zerwał umo­wę z fir­mą pro­gra­mi­stycz­ną) poka­za­nie mi na praw­dę ład­ne­go GUI już po kil­ku­na­stu dniach pra­cy z moimi pra­cow­ni­ka­mi było bar­dzo cynicz­ne ze stro­ny dostaw­cy, bo zachę­cił mnie do dal­sze­go finan­so­wa­nia pro­jek­tu; nie­ste­ty nie uda­ło się nawet po kil­ku­na­stu tygo­dniach uzy­skać popraw­ne­go nali­cza­nia raba­tów, popraw­ne­go nali­cza­nia pro­wi­zji dla sprze­daw­ców ani rapor­to­wa­nia kosz­tów dzia­łu sprze­da­ży”. I nie­ste­ty widu­je takie pro­ble­my dość czę­sto (zresz­tą głów­nie w takich przy­pad­kach jestem angażowany). 

      Co do oddzie­le­nia cech mięk­kich (tu rozu­miem cho­dzi o GUI, ergo­no­mie itp.) od logi­ki opro­gra­mo­wa­nia, to aku­rat jest to łatwe w roz­dzie­le­niu tak jak wyraź­nie oddziel­ne są od sie­bie kom­po­nen­ty wzor­ca MVC czy­li osob­no logi­ka biz­ne­so­wa, osob­no GUI i osob­no resz­ta technologii.

      Na koniec powiem tak tyl­ko przy zało­że­niu że na dzia­ła­nie opro­gra­mo­wa­nia skła­da się wyłącz­nie wyko­ny­wa­nie kodu przez kom­pu­ter.” Oprogramowanie (zro­bio­ne) to wła­śnie wyko­ny­wa­nie kodu przez kom­pu­ter, cała resz­ta to ludzie i narzę­dzie ich pra­cy”, któ­rym może być wła­śnie to opro­gra­mo­wa­nie. Warto moim zda­niem oddzie­lać pro­ces pro­jek­to­wa­nia i wyko­na­nia młot­ka, od dywa­ga­cji nad pra­cą sto­la­rza przy­bi­ja­ją­ce­go gwoź­dzie tym młot­kiem. To dwa róż­ne pro­jek­ty: pierw­szy to pro­jek­to­wa­nie narzę­dzia pra­cy, dru­gi to temat dla sze­fa sto­lar­ni sta­wia­ją­ce­mu zada­nia sto­la­rzo­wi. Jeżeli pozwo­li­my by to sto­larz a nie jego szef zarzą­dzał pra­cą, to z regu­ły źle się to koń­czy. Moje doświad­cze­nie mówi, że przy­czy­ną pro­ble­mów w pro­jek­tach pro­gra­mi­stycz­nych jest sytu­acja, w któ­rej pro­gra­mi­ści ze sto­la­rzem (pra­ca zespo­ło­wa) napra­wia­ją” stolarnię… 

  2. Jarek Żeliński

    Uzupełniając powyż­szą odpo­wiedź: nie da się udo­ku­men­to­wać gry w sza­chy tyl­ko serią wido­ków plan­szy z kolej­ny­mi roz­sta­wie­nia­mi. Takich wido­ków (kolej­ne ekra­ny) mogą być set­ki, moż­li­wych sce­na­riu­szy tysią­ce, a i tak nie zastą­pią dwóch stron opi­su­ją­cych zasa­dy (regu­ły biz­ne­so­we) tej gry. 

    Innym przy­kła­dem jest flet, moż­na je two­rzyć, two­rząc masę kolej­nych pro­to­ty­pów na bazie opi­su fle­ci­sty i na bazie jego oce­ny w koń­cu dojść do instru­men­ty, któ­ry dobrze stroi i jest wygod­ny do gry. Jednak wystar­czy prze­pro­wa­dzić ana­li­zę”, poznać zasa­dy fizy­ki i aku­sty­ki, by za pierw­szym razem obli­czyć wła­ści­we śred­ni­ce i odle­gło­ści otwo­rów. Z fle­ci­stą usta­li­my już tyl­ko ele­men­ty ergo­no­mii (mock-up). Robienie fle­tu meto­dą kolej­nych pro­to­ty­pów jest wie­lo­krot­nie kosz­tow­niej­sze i bar­dziej pra­co­chłon­ne w porów­na­niu z poprze­dza­ją­cą jego kon­stru­owa­nie ana­li­zą i obli­cze­nia­mi fizycznymi.

  3. Tomasz Kowalski

    Wydaje mi sie, ze mowi­cie o dwoch roz­nych pro­to­ty­pach. Jarek pisze o pro­to­ty­pe w sen­sie moc­ku­p’u, czy­li po pro­stu gra­fi­ce przed­sta­wia­ja­cej GUI, a Cyryl o dzia­la­ja­cym pro­gra­mie, pisa­nym quick and dir­ty”, ale takim, kto­ry da sie pokli­kac i spraw­dzic, czy logi­ka (przy­naj­mniej jej czesc) dzia­la i jak dziala.

    1. Jarek Żeliński

      Cytowany arty­kuł doty­czy fak­tycz­nie mar­twych” pro­to­ty­pów GUI. Jestem jed­nak zda­nia, że pro­to­ty­py ?quick and dir­ty? to nic inne­go jak bar­dziej pra­co­chłon­ny (ale baje­ranc­ki) mock-up, któ­ry wyma­ga albo wywa­le­nia do kosza albo refak­to­ry­za­cji. Kilka takich cykli (ile men­dej­sów wyma­ga stwo­rze­nie kolej­nej wer­sji ?quick and dir­ty?) szyb­ko zni­we­lu­je korzy­ści” z bra­ku wcze­śniej­szej ana­li­zy i pro­jek­to­wa­nia. Nie twier­dzę, że rezy­gna­cja z wcze­śniej­sze­go pro­jek­to­wa­nia logi­ki nie daje żad­nej szan­sy suk­ce­su. Ale wyka­za­no, że praw­do­po­do­bień­stwo szyb­sze­go suk­ce­su jest nie do poli­cze­nia przed roz­po­czę­ciem pro­jek­tu, więc jakie­kol­wiek obiet­ni­ce przed roz­po­czę­ciem pro­jek­tu, że uży­cie metod zwin­nych da korzy­ści są nieuprawnione.

    2. Tomasz Kowalski

      Coz… musze zawsze brac popraw­ke na to ze piszesz z punk­tu widze­nia sys­te­mow biz­ne­so­wych. Osobiscie pra­cu­je jako pro­gra­mi­sta w dzia­le R&D i wla­sci­wie nasza jedy­na meto­do­lo­gia” to rapid pro­to­ty­ping. Tutaj zde­cy­do­wa­nie koszt ana­li­zy i pro­jek­to­wa­nia prze­kro­czyl­by kosz­ty pro­to­ty­pu :). Wlasciwie w zalo­ze­nie naszej pra­cy wpi­sa­ne jest to, ze po tygo­dniu pra­cy klient obej­rzy, pocmo­ka i powie lad­nie pano­wie, bar­dzo lad­nie, ale wie­cie co… to sie raczej nie sprze­da (pro­duk­cja nie bedzie chcia­la tego wdra­zac), nie chce­my juz uzy­wac , spro­buj­my z ” (gdzie X i Y to dowol­ne API, fra­me­work, tech­no­lo­gia, you name it).

    3. Jarek Żeliński

      Co do R&D nie raz pisa­łem, że to bada­nia” a nie pro­jek­ty” 🙂 i tu zga­dzam się z Tobą w 100%. Ja fak­tycz­nie ze start-up’pa­mi” nie wie­le ma wspól­ne­go. Obserwując rynek, mam wra­że­nie, że więk­szość tego co wyro­sło ze stron inter­ne­to­wych” to wła­śnie takie R&D, jed­nak w moich oczach szko­dli­we” jest prze­no­sze­nie przez wie­lu deve­lo­pe­rów metod pra­cy sku­tecz­nych w pro­jek­tach R&D na pro­jek­ty biz­ne­so­we”, któ­re jed­nak maja swój cel, ter­min i budżet.

  4. Piotr Aftewicz

    Moje zda­nie jest pomiędzy.
    Nie zgo­dzę się, że pro­to­typ to tyl­ko obra­zek. Korzystając z bar­dziej zaawan­so­wa­nych narzę­dzi niż VISIO, np. Axure, może­my w szyb­ki spo­sób wytwo­rzyć kli­kal­ną makie­tę, któ­rej celem jest zobra­zo­wa­nie klien­to­wi roz­wią­za­nia, któ­re otrzy­ma final­nie dopie­ro za kil­ka mie­się­cy. Takie makie­ty mogą uru­cha­miać for­mu­la­rze, pre­zen­to­wać zawar­tość list roz­wi­jal­nych itp.

    Natomiast nie wyobra­żam sobie, żeby oprzeć doku­men­ta­cję ana­li­tycz­ną jedy­nie o makie­tę. Wówczas pomi­nie­my całe mię­so czy­li to o czym była mowa w arty­ku­le źródłowym. 

    Najważniejsze w pro­jek­cie wyko­rzy­stu­ją­cym pro­to­ty­pu jak np. makie­ty jest zna­le­zie­nie zło­te­go środ­ka. Czyli opty­mal­ne­go cza­su jaki poświę­ci­my na opi­sa­nie logi­ki, któ­rej nie widać na makie­cie, mini­ma­li­zu­ją­ce pra­cę odtwór­czą jak np. opi­sy­wa­nie pól tek­sto­wych, któ­re nie posia­da­ją logiki.

  5. jacek2v

    W kon­tek­ście pole­cam zapo­zna­nie się z pew­ną ideą:
    GUI to jed­no, logi­ka wewnętrz­na to dru­gie, a komu­ni­ka­cja z klien­tem to trze­cie. Klient w więk­szo­ści wypad­ków jest wsta­nie zro­zu­mieć dobrze GUI.

    1. Jarek Żeliński

      To trosz­kę nacią­ga­na teo­ria, klient czę­sto nie rozu­mie logi­ki któ­rą reali­zu­je” – to zale­ży kogo pyta­my. Jeżeli sze­re­go­wych pra­cow­ni­ków” zgo­da, jeże­li ich sze­fów, bywa róż­nie, jeże­li prze­stu­dio­wać papie­ry fir­mo­we i pra­wo, tę logi­kę da się zro­zu­mieć i opi­sać. Opis tej logi­ki nie raz tak­że prze­ra­sta użyt­kow­ni­ka, więk­szość pra­cow­ni­ków firm reali­zu­je zarzą­dze­nia zarzą­dów nie rozu­mie­jąc ich celu – i nie muszą. Logika biz­ne­so­wa tkwi w regu­łach biz­ne­so­wych a tego naj­lep­szy, kli­kal­ny” mock-up nie opi­sze bo to dzie­dzi­no­we ele­men­ty sys­te­mu. To, że klient rozu­mie GUI abso­lut­nie nie zna­czy, że GUI to wszyst­ko. Zwracam uwa­gę, że więk­szość z nas dosko­na­le posłu­gu­je się kal­ku­la­to­rem (rozu­mie GUI) i praw­nie nikt nie rozu­mie algo­ryt­mu pier­wiast­ko­wa­nia. Projekt GUI kal­ku­la­to­ra jed­nak nie pozwo­li go oprogramować.

  6. Cyryl Kwaśniewski

    Panie Jarosławie, myślę, że mówi­my fak­tycz­nie o dwóch róż­nych obszarach. 

    Wszędzie tam, gdzie inte­rak­cja czło­wie­ka z opro­gra­mo­wa­niem wpły­wa na wskaź­ni­ki biz­ne­so­we pro­to­ty­po­wa­nie pomo­że, i będzie wska­zów­ką dla deve­lo­pe­ra. Nie może być oczy­wi­ście jedy­nym ele­men­tem dokumentacji. 

    Nawet przy­to­czo­ny przez Pana przy­kład kal­ku­la­to­ra będzie wyma­gał testo­wa­nia, o ile nie two­rzy­my kopii 1:1 już funk­cjo­nu­ją­ce­go roz­wią­za­nia. Z tym, że to odby­wa się zanim powsta­nie jaka­kol­wiek doku­men­ta­cja. I może być jej pomoc­ną częścią.

    To część roli dzie­dzi­ny któ­rą się zaj­mu­ję (inte­rak­cja czło­wiek – kom­pu­ter czy zagad­nie­nia zwią­za­ne z uży­tecz­no­ścią i doświad­cze­niem użytkownika).

    1. Jarek Żeliński

      To na pew­no dwa róż­ne obsza­ry. Prototyp, w rozu­mie­niu inte­rak­cji czło­wie­ka z opro­gra­mo­wa­niem” to fak­tycz­nie zupeł­nie inny obszar niż logi­ka dzia­ła­nia sys­te­mu”. Myślę, że nikt roz­sąd­ny nie zane­gu­je potrze­by testo­wa­nia (pre­zen­to­wa­nia) pro­to­ty­pu inter­fej­su użyt­kow­ni­ka. Problem widzę tym, że ten pro­to­typ jest TYLKO pro­to­ty­pem tego inter­fej­su… Uznanie, że pakiet mock-upów to kom­plet­na doku­men­ta­cja opro­gra­mo­wa­nia (co widzę w umo­wach) jest kom­plet­nym nie­po­ro­zu­mie­niem, była by to praw­da tyl­ko wte­dy, gdy­by opro­gra­mo­wa­nie było zesta­wem CRUDów (zarzą­dza­nie pro­sty­mi reje­stra­mi). Owszem wizy­tów­ki inter­ne­to­we i pro­ste CMSy nimi są, ale na pew­no nie opro­gra­mo­wa­nie biz­ne­so­we nafa­sze­ro­wa­ne zło­żo­ny­mi regu­ła­mi biz­ne­so­wy­mi. Niestety bar­dzo wie­lu pro­gra­mi­stów (i całe fir­my) pod­cho­dzi do pro­gra­mo­wa­nia jak do inter­ne­to­wej wizy­tów­ki. Napisanie reje­stru stron WWW wraz z reje­strem jej użyt­kow­ni­ków to try­wial­ny pro­blem. Zastosowane takie­go podej­ścia już np. do two­rze­nia sys­te­mu CRM jest naj­gor­szą maka­brą, co nie prze­szka­dza wie­lu fir­mom ofe­ro­wać takich pomy­słów i jako cynicz­ne umo­wy czas i materiał.

Dodaj komentarz

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