Dzisiaj bar­dzo krót­ko. Bardzo lubię ter­min inży­nie­ria wyma­gań” dla­cze­go? Po kolei.

Z wie­dzy o seman­ty­ce i semio­ty­ce wie­my, że zastą­pie­nie poję­cia jego defi­ni­cją nie może zmie­nić (nie może, jeże­li defi­ni­cje są popraw­ne) zna­cze­nia cało­ści. Więc zastąp­my w zwro­cie inży­nie­ria wyma­gań” oba sło­wa ich defi­ni­cja­mi (defi­ni­cje ze słow­ni­ka j.polskiego PWN):

inży­nie­ria ?pro­jek­to­wa­nie i kon­stru­owa­nie obiek­tów oraz urzą­dzeń technicznych?
wyma­ga­nie ?waru­nek lub zespół warun­ków, któ­rym ktoś lub coś musi odpowiadać?

Po pod­sta­wie­niu otrzy­ma­my zwrot mówią­cy, że inży­nie­ra wyma­gań” to:

?pro­jek­to­wa­nie i kon­stru­owa­nie? ?warun­ków, któ­rym ktoś lub coś musi odpowiadać?

Więc nie jest to zbie­ra­nie i porząd­ko­wa­nie” wyma­gań od użyt­kow­ni­ków, więc sesje warsz­ta­to­we, burze mózgów itp.… to nie jest inży­nie­ria wyma­gań”. A jak? Wymagania się pro­jek­tu­je tak jak przed­mio­ty, de fac­to, wyma­ga­niem dla deve­lo­pe­ra na pla­cu budo­wy jest pro­jekt domu, warun­kiem przy­dat­no­ści domu jest zgod­ność z pro­jek­tem, a pro­jekt powstał w pro­ce­sie inży­nier­skim czy­li w toku pro­jek­to­wa­nia roz­wią­za­nia sta­no­wią­ce­go odpo­wiedź na cele przy­szłe­go użyt­kow­ni­ka (w toku ana­li­zy powsta­je model biz­ne­so­wy CIM – Computation Independent Model, na jego pod­sta­wie i celu użyt­kow­ni­ka powsta­je pro­jekt logi­ki, mecha­ni­zmu dzia­ła­nia, apla­ik­cji: model PIM czy­li Platform Independent Model, w tym momen­cie deve­lo­per reali­zu­je pro­jekt two­rząc Platform Specific Model i wyko­nu­je jego imple­men­ta­cję; tu pole­cam opis pro­ce­su MDA na OMG​.org).

Teraz pro­po­nu­je prze­czy­tać cytat z WIKI:

Faza wyma­gań może być podzie­lo­na na gro­ma­dze­nie wyma­gań (zbie­ra­nie wyma­gań od inte­re­sa­riu­szy), ana­li­zo­wa­nie (spraw­dze­nie spój­no­ści i kom­plet­no­ści), spe­cy­fi­ko­wa­nie (doku­men­to­wa­nie wyma­gań) oraz zatwier­dza­nie (upew­nie­nie się, że wyma­ga­nia są popraw­ne) (Źródło: Wymaganie (inży­nie­ria) ? Wikipedia, wol­na ency­klo­pe­dia)

Ciekawskim pole­cam cały wpis w WIKI. Co mamy? Mamy to co mówię stu­den­tom”: nie ucz się z WKI!

Zarówno lin­gwi­sty­ka jak i semio­ty­ka, powie Wam, że – o ile nie mówi­my o tak zwa­nych sło­wach wie­lo­znacz­nych – bran­żo­we defi­ni­cje pojęć mogą zawę­żać słow­ni­ko­we ich zna­cze­nie ale nie mogą (nie powin­ny) go zmie­niać. Tak więc albo ja się nie­po­trzeb­nie cze­piam ludzi uży­wa­ją­cych poję­cia inży­nie­ria wyma­gań” do opi­sa­nia prac nie będą­cych inży­nie­rią, albo nie nale­ży uczyć się z WIKI bo wie­lu ludzi budu­je wagę pra­cy będą­cej zbie­ra­niem” zastę­pu­jąc je sło­wem inży­nie­ria”.

Literatura nauko­wa opi­su­ją­ca mity z zakre­su sku­tecz­no­ści róż­nych form pra­cy gru­po­wej, burz mózgów i intuicji:

  1. Pułapki myśle­nia. O myśle­niu szyb­kim i wol­nym, Daniel Kahneman
  2. Psychologia eko­no­micz­na, Zaleśkiewicz Tomasz
  3. Psychologia Społeczna, Aronson Elliot, Wilson Timothy D., Akert Robin M.

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

  1. Pawel Zubkiewicz

    Witam,

    Bardzo podo­ba mi się Twój wstęp i ana­li­za zna­cze­nia poję­cia inży­nie­ra wymagań”.

    Ja oso­bi­ście mam wiel­ki pro­blem tym poję­ciem bo dla mnie jest ono tro­chę zawie­szo­ne w pustej prze­strze­ni – ktoś je daw­no temu wymy­ślił, potem tro­chę RUP je wchło­ną ale cią­gle nie jest ono opar­te o żaden (zna­ny mi stan­dard) i cią­gle orga­nicz­nie ewoluuje.

    Osobiście uży­wam poję­cia ana­li­zy biz­ne­so­wej”, pomi­mo tego iż mam inż. przed nazwi­skiem 😉 Inżyniera wyma­gań brzmi bar­dziej twar­do i kon­kret­nie ale w prak­ty­ce uwa­żam, że oba poję­cia są moc­no zbli­żo­ne do sie­bie, a może nawet toż­sa­me(?). Jednak ogrom­ną róż­ni­cą jest fakt, że za ana­li­zą biz­ne­so­wą stoi poważ­na orga­ni­za­cja jaką jest IIBA.

    Jarku, czy mógł­byś spre­cy­zo­wać, czy Twoim zda­niem są jakieś róż­ni­ce pomię­dzy jedy­ny a dru­gim poję­ciem? Tutaj tyl­ko dodam, że ana­li­zę biz­ne­so­wą rozu­miem zgod­nie z BABOK.

    A na koniec tyl­ko dodam, że fak­tycz­nie defi­ni­cja z pol­skiej Wiki jest takim zlep­kiem i uprosz­cze­niem. Widać, że sło­wo eli­cy­ta­cja jesz­cze nie weszło do słownika/żargonu, a o eta­pie pro­jek­to­wa­nia wyma­gań prze­cież nie ma sen­su pisać bo i tak, poza chlub­ny­mi wyjąt­ka­mi, nikt tego nie robi. Cały obszar Requirements Analysis and Design Definition z BABOKa moż­na spo­koj­nie przemilczeć.

    Bardzo podo­ba mi się Twoja posta­wa pięt­no­wa­nia tego typu kwiat­ków”.

    Generalnie to moim zda­niem, w IT nie ma sen­su uczyć się z pol­skich źró­deł (w tym kon­kret­nym wypad­ku angiel­ski odpo­wied­nik hasła na WIKI pre­zen­tu­je się jed­nak lepiej). Zazwyczaj są one kal­ką angiel­sko­ję­zycz­nych opra­co­wań, nie­rzad­ko powie­la­ją lub two­rzą błęd­ne zro­zu­mie­nie rze­czy, jak cho­ciaż­by wie­lo­krot­nie prze Ciebie wał­ko­wa­ne” mode­lo­wa­nie rela­cyj­nej bazy danych przy uży­ciu dia­gra­mu klas. 

    Pozdrawiam ser­decz­nie,
    Paweł

    1. Jaroslaw Zelinski

      Ja oso­bi­ście nie uży­wam poję­cia inży­nie­ria wyma­gań” z uwa­gi na to jak jest sto­so­wa­ne a przez to i potocz­nie” rozu­mia­ne. Artykuł zaś napi­sa­łem z czy­stej prze­ko­ry i chę­ci pro­wo­ka­cji by to uzmy­sło­wić czy­tel­ni­kom :). Słowo wyma­ga­nia w moich doku­men­tach raczej jest uży­wa­ne łącz­nie jako wyma­ga­nia biz­ne­so­we” (coś cze­go potrze­bu­je biz­nes do reali­za­cji celów biz­ne­so­wych) ale uni­kam go jak tyl­ko mogę, wole iść tro­pem: (1) Analiza Biznesowa, któ­rej pro­duk­tem jest model pro­ce­sów biz­ne­so­wych i regu­ły biz­ne­so­we ze słow­ni­kiem pojęć, (2) Specyfikacja wyma­ga­nych usług apli­ka­cji jako Przypadki Użycia wraz z ogra­ni­cze­nia­mi (regu­ły biz­ne­so­we prze­cho­dzą 1:1 jako logi­ka biz­ne­so­wa), (3) model dzie­dzi­ny sys­te­mu jeże­li zama­wia­ne są dedy­ko­wa­ne komponenty. 

      Trzymam się tego od lat i spraw­dza się dosko­na­le. Trzymam się sty­ku BABoK + OMG/MDA. Niestety uczyć się pozo­sta­je z ory­gi­nal­nych źró­dło­wych doku­men­tów, jeże­li bie­rze­my się za opra­co­wa­nia to war­to sku­piać się na książ­kach opi­su­ją­cych cudze doświad­cze­nia, naj­lep­sze prak­ty­ki itp. ale raz zgod­ne z doku­men­ta­mi źró­dło­wy­mi dwa, uni­kam pomy­słów” obję­tych paten­ta­mi i wła­sny­mi, z regu­ły kiep­sko sfor­ma­li­zo­wa­ny­mi nota­cja­mi (np. TOGAF i ArchiMate).

      Modelowanie danych dia­gra­mem klas UML to mode­lo­wy przy­kład nie­kom­pe­ten­cji :), jest takich wię­cej. nie­ste­ty fir­ma SPARX ma tu swój potęż­ny wkład, np. czas jako aktor” czy sys­te­mo­we przy­pad­ki uży­cia”.… wspie­ra­ją­cy aktor” itp. beł­kot.…. w UML tego nie znaj­dziesz a nie są to popraw­nie zde­fi­nio­wa­ne profile.

  2. Pawel Zubkiewicz

    Ha, czy­li tra­fio­ny zato­pio­ny jeśli cho­dzi o poję­cie inży­nie­ria wymagań” 🙂

    Jeśli cho­dzi o TOGAF i ArchiMate to oso­bi­ście uwa­żam je za bar­dzo dobre. Nie do koń­ca rozu­miem co masz myśli mówiąc o ArchiMate, że jest kiep­sko sfor­ma­li­zo­wa­ną nota­cją”. Czytałem Twojego blo­ga i zauwa­ży­łem, że na począt­ku chwa­li­łeś i uży­wa­łeś ArchiMate, potem od nie­go odsze­dłeś. Jakie masz mery­to­rycz­ne zastrze­że­nia wobec nie­go (poza licencją)?

    Gdyby spe­cy­fi­ka­cja UMLa była napi­sa­na tak dobrze i przy­stęp­nie jak ta od ArchiMate to praw­do­po­dob­nie nie było­by tak wie­lu pro­ble­mów, bo ludzie by po pro­stu rozu­mie­li UMLa – a tak co książ­ka to inna interpretacja.

    Temat licen­cji jest gene­ral­nie kiep­ski w TOG (The Open Group). Organizacja może uży­wać TOGAFa i ArchiMate za dar­mo do wła­snych wewnętrz­nych” celów. Ale gdy chce na nim zara­biać to musi wyku­pić komer­cyj­ną licen­cję. Tutaj poja­wia się pro­blem dla takich ludzi jak my, czy­li kon­sul­tan­tów. Teoretycznie jeśli dla jakie­goś klien­ta wyko­na­my jakieś deli­va­ra­ble” zgod­nie z TOGAF albo wyko­na­my dia­gram w ArchiMate to powin­ni­śmy ją mieć, choć nie jestem pewien, bo może jeste­śmy obję­ci przez licen­cje orga­ni­za­cji? Pewnym jest, że jak chcesz zro­bić szko­le­nie z TOGAFa lub ArchiMata to musisz mieć licen­cję komer­cyj­ną. I tutaj jako jed­no­oso­bo­wa fir­ma musisz zapła­cic tyle samo, co orga­ni­za­cja, któ­ra zara­bia do 25 milio­nów dola­rów rocz­nie! Przydałby się jakiś upust!

    Jak już wspo­mnia­łem, spec­ka od UMLa jest napi­sa­na strasz­nie, total­nie nie­przy­stęp­nie dla ludzi. To nie tyl­ko Sparx EA łamie zasa­dy. Przypuszczam, że Sparx zaim­ple­men­to­wał ocze­ki­wa­nia ryn­ku, a to, że nie są zgod­ne ze spec­ką… coż klien­ta nasz pan.
    Piszesz ?wspie­ra­ją­cy aktor? itp. beł­kot – zga­dzam się, się­gnij­my zatem do literatury:
    1. ksiaz­ka Learning UML 2 – rodzial 2.1.5. Use Case Descriptions, wspo­mi­na o Secondary Actor
    2. The Object Primer – rodzial 2.1.5. Use Case Descriptions tez wspo­mi­na o dodat­ko­wych aktorach
    3. Use Cases – Patterns and Blueprints – tutaj w roz­dzia­le 5 też autor pisze o inte­rak­cjach mie­dzy akto­ra­mi i (o zgro­zo) na dia­gra­mie przy­pad­kow uzy­cia poka­zu­je flow komu­ni­ka­cji za pomo­cą strza­łek w asocjacjach.
    4. Microsoft https://​msdn​.micro​soft​.com/​e​n​-​u​s​/​l​i​b​r​a​r​y​/​d​d​4​0​9​4​2​7​(​V​S​.​100).aspx – na dru­gim dia­gra­mie ele­men­ty nr 8 i 10 są nie­zgod­ne ze spe­cy­fi­ka­cja UMLa.

    Mam wymie­niać dalej? 🙂 a to tyl­ko jeden, zda­wać by się mogło, pro­sty dia­gram. UML to nie mate­ma­ty­ka, jeśli ludzi go nie rozu­mie­ją to nie­ko­niecz­nie wina ludzi…

    Dodaktowo biz­ne­so­we i sys­te­mo­we przy­pad­ku uży­cia to wymysł RUPa a nie Sparxa. Jak wiesz wte­dy nie było BPMNa wiec jakoś musie­li sobie radzić…

    I znów mi wyszedł labo­rat, przepraszam 🙂

    1. Jaroslaw Zelinski

      Początkowo ArchiMate mnie tak­że uwiódł, bo wyglą­da­ło że na pozio­mie biz­ne­so­wym dam rade w 100% z ta nota­cją, oka­za­ło się jed­nak, że auto­rzy przy­zna­li, ze bez BPMN i UML nie da się zro­bić ana­li­zy top-down bo ArchiMate to tyl­ko wyso­ki poziom abs­trak­cji”, po dru­gie ope­ro­wa­nie poję­ciem model danych na tym pozio­mie uwa­żam jed­nak za nie­po­ro­zu­mie­nie. Do tego nie­ste­ty w ArchiMate defi­ni­cje pojęć funk­cja” czy pro­ces” są jed­nak męt­ne i nie­od­se­pa­ro­wa­ne podob­nie jak rola” i aktor”. Na koniec dodam, że nigdy nie mia­łem pro­ble­mu z tym by mój klient prze­czy­tał dia­gram BPMN, z ArchiMate bywa­ły pro­ble­my. Przyznaję tak­że, że jestem nie­co uprze­dzo­ny do zamknię­tych stan­dar­dów w nauce. Ale klu­czo­wym powo­dem jest to, że sko­ro i tam muszę użyć w pro­jek­tach BPMN i UML (co sami twór­cy ArchiMate przy­zna­ją) to po co wpro­wa­dzać kolej­na nota­cję do metodyki :)?

      Co do RUP’a owszem być może byli pierw­si, ale kul­ty­wo­wa­nie tej tra­dy­cji” w 2015 roku to masa­kra :), Co do lite­ra­tu­ry ksią­żek z UML ok, przy­wo­łu­jesz czy­jeś pomy­sły, któ­rych auto­rzy nie uza­sad­ni­li ina­czej niż do celu … użyć mozna”… ja tak­że pod­cho­dzę do ich nawet nie z rezer­wą a pew­nym nie­sma­kiem” bo wpro­wa­dza­ją bała­gan poję­cio­wy a nie raz wręcz fał­szu­ją ory­gi­nał, owe trans­ak­cje mię­dzy akto­ra­mi itp.. to już cał­ko­wi­ta masa­kra. Microsoft tłu­ma­czy się gdzie­nie­gdzie, że ich fra­me­wor­ki to pew­nej pro­fi­le UML ale mam wra­że­nie, że dobu­do­wu­ją ideologię :). 

      Praktyka poka­zu­je, ze pro­ste jest pięk­ne, Ockham miał rację a ja mam w gło­wie cytat z pew­nej (nie pamię­tam któ­rej) książ­ki: doda­wa­nie nowych sym­bo­li i defi­ni­cji do UML, kłó­cą­cych się z jego seman­ty­ką, to prze­jaw nie­zro­zu­mie­nia: to cze­go ana­li­tyk nie zro­zu­miał ubrał w nowy sym­bol”. Klasyką tego podej­ścia jest czas jako aktor” albo wewnętrz­ny sys­te­mo­wy przy­pa­dek użycia”… 

      🙂 też mi dłu­gie wyszło …

  3. Pawel Zubkiewicz

    Co do licen­cji ArchiMate, jed­nak oka­zu­je się, że w przy­pad­ku samo­za­trud­nio­nych kon­sul­tan­tów (naszym) może­my legal­nie świa­dzyć usłu­gi archi­tek­to­nicz­ne bez wyku­pie­nia licen­cji komercyjnej:
    For the avo­idan­ce of doubt and pur­po­ses of this licen­se, indi­vi­du­al con­trac­tors, who do not represent
    them­se­lves or offer the­ir servi­ces com­mer­cial­ly as archi­tec­tu­re prac­ti­tio­ners, shall be regar­ded as
    ?per­ma­nent employ­ees? of the Licensee Organization.”

    oraz

    1. Jaroslaw Zelinski

      Wiem, ale nie­któ­rzy klien­ci rezy­gnu­ją z uwa­gi na ryzy­ko, a ja wca­le im nie odra­dzam :), w 100% bazu­je na OMG​.org

  4. Pawel Zubkiewicz

    Tematy cie­ka­we to i dys­ku­sja długa 🙂
    Dzięki bar­dzo i pozdrawiam,
    Paweł

  5. Inżynier

    Może dla pro­gra­mi­stów i ana­li­ty­ków z bran­ży IT ten wstęp ma sens. Ale inży­nie­ria, to nie jest tyl­ko pro­jek­to­wa­nie i kon­stru­owa­nie, a pro­jekt domu w żad­nym wypad­ku nie jest wyma­ga­niem! W roz­wo­ju każ­de­go pro­duk­tu wyma­ga­nia mają­ta­kie samo zna­cze­nie. Projekt domu powsta­je w opar­ciu i wyma­ga­nia, podob­nie jak pro­jekt samochodu.

    1. Jarosław Żeliński

      W inży­nie­rii:
      – dla pro­jek­tan­ta wyma­ga­niem są ocze­ki­wa­nia przy­szłe­go użytkownika,
      – dla wyko­naw­cy wyma­ga­niem jest pro­jekt tego co ma zrobić.

      Pisze Pan Projekt domu powsta­je w opar­ciu o wyma­ga­nia, podob­nie jak pro­jekt samo­cho­du”, i to jest praw­da, a kon­kret­ny dom/samochód powsta­je (robi to już kto inny) na pod­sta­wie pro­jek­tu, któ­ry jest wyma­ga­niem wobec sta­wia­ją­ce­go dom, pro­du­ku­ją­ce­go samo­cho­dy. Słowo wyma­ga­nie ma pro­stą defi­ni­cję (słow­nik języ­ka pol­skie­go): ?waru­nek lub zespół warun­ków, któ­rym ktoś lub coś musi odpo­wia­dać?. Użytkownik okre­śla swo­je warun­ki, musi je speł­nić pro­jekt pro­jek­tan­ta. To co dostar­czy wyko­naw­ca, też musi speł­niać pewien waru­nek: zgod­ność z pro­jek­tem. Można to nazwać łań­cu­chem wyma­gań. Dlatego od lat lite­ra­tu­ra przed­mio­tu (inży­nie­ria sys­te­mów, pole­cam stro­my INCOSE)) zawie­ra poję­cie pro­jekt jako wyma­ga­nie wobec developera”.

Dodaj komentarz

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