Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Maciek Głuszak:
Mateusz Kurleto:

UML to Unified Modeling Language, a nie One-and-only-possible Modeling Language.

Święte słowa, ale powiedz to kolegom z forum, bo nie wierzą że można żyć bez umla;)

jeżeli powiem chińczykom że angielski to uniwersalny język ale tez nie jedyny język to co? Mogą już jechać na zakupy do Londynu?

Ale w kontekście drugiej części: jakich innych obiektowych języków modelowania używasz?

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Czytam wasze posty i się na dziwić nie mogę, ilu specjalistów od UML'a w Polsce jest. Czy ktokolwiek z was czytał dokumentacje do UML'a, zna wszystkie diagramy jakie można definiować w UML'u, bo ja nie. Podejrzewam że sprawie w UML'u porusza się może kilkaset osób w tym kraju.
Pracowałem w kilku firmach i znam różne metodyki wytwarzania oprogramowania - jedne mniej a inne bardziej profesjonalne. Tylko w jednej firmie używany był UML.
Z mojego doświadczenia UML jest fajny jak nad analizą i projektowaniem systemu siedzi klika lub nawet kilkanaście osób i używają narzędzi typu CASE. A następnie gotowe diagramy + wygenerowany kod na podstawie UML'a dostają zespoły programistów którzy wypełniają metody i dopisują to co nie było wyspecyfikowane.
UML nie nadaje się do komunikacji z klientem, bo pani księgowa lub pan prezes nie zna UML'a i nie da wam feedback'u czy projekt jest Ok, czy nie. Jedyne co w takiej sytuacji można osiągnąć to zrażenie do siebie klienta który pomyśli sobie, że chcecie go oszukać.Karol Marian Słuszniak edytował(a) ten post dnia 27.01.11 o godzinie 12:50
Konrad W.

Konrad W. Starszy Analityk PKO
BP

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Podobnie jak Karol przeczytałem Wasze wypowiedzi o muszę powiedzieć że zgadzam się z Karolem.
W większości firmy, korporacji nie da się komunikować z otoczeniem za pomocą UML. Nawet (o zgrozo) widziałem wdrożenie CRM Siebel gdzie nie diagramy UML były szczątkowe. Cała komunikacja to dokument MS Office i zawarta w nich proza.

Ale odpowiadając na postawione pytanie. Dlatego że po stronie biznesowej/klienta nikt nie rozumie tego "języka"

konto usunięte

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Jarek Żeliński:

Ale w kontekście drugiej części: jakich innych obiektowych języków modelowania używasz?

Języka naturalnego na przykład ?
Mateusz Kurleto

Mateusz Kurleto Szukamy wybitnych
talentów do
świetnego zespołu IT
w Gdańsku

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Jarek Żeliński:
Mateusz Kurleto:
Mówimy o UML dlatego, że coraz rzadziej

Mateusz, jest drugi powód: coraz rzadziej poważne projekty są zlecane z rozliczeniem "czas i materiał". Coraz częściej słyszę: "Proszę konkretnie: co i na kiedy oraz za ile i nie będziemy tego zmieniać."
Co też mnie bardzo cieszy, bo do konkurowania w ofertach time&material trzeba mieć układy, ponieważ decyzje podejmowane są na podstawie nieweryfikowalnych, niejednoznacznych przesłanek.
W dodatku ogromna część firm IT nie potrafi szacować pracochłonności i robi niemal 50% narzuty na poprawki. Więc ja się cieszę:)

Jako przedsiębiorca dołączam się do głosu: "Moja Konkurencjo: Róbcie po swojemu i niczego się nie uczcie" :)
Amen.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Karol Marian Słuszniak:
UML nie nadaje się do komunikacji z klientem, bo pani księgowa lub pan prezes nie zna UML'a

bo to prawda

ale o czym była ta wypowiedź?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Konrad W.:
Ale odpowiadając na postawione pytanie. Dlatego że po stronie biznesowej/klienta nikt nie rozumie tego "języka"

a gdzie jest napisane, że to język dla klienta? Czy rysunki techniczne instalacji elektrycznej są adresowane do pani zapalającej po zbudowaniu domu światło w domu?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Maciek Głuszak:
Jarek Żeliński:

Ale w kontekście drugiej części: jakich innych obiektowych języków modelowania używasz?

Języka naturalnego na przykład ?

rozumiem, opisz mi tu więc w tym naturalnym języku bez rysowania czegokolwiek co to jest korba tak żeby wykonawca wiedział co ma zrobić, jako ze produkt jeszcze nie istnieje nie wolno użyć słowa KORBA.

Rozumiem także, że potrafisz opisać językiem naturalnym, bez rysunków i projektu jak firma KOMADOR na wykonać za pierwszym razem szafę wnękową.... no chyba że płacisz za kolejne prototypy tak długo aż Ci się spodoba i przypasuje ta szafa. Wiem, wiem, przytłaczająca liczba domowych fachowców tak własnie pracuje: język naturalny... ale poważne projekty robią tylko dobre biura architektoniczne i AutoCADem a nie Wordem...

konto usunięte

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Szczerze to powiem tak. Parę tygodni temu siadłem na dupie i mówię, nauczę się tego UMLa, chociażby po to żeby wiedzieć dlaczego go nie używam.

Poczytałem trochę książek, trochę diagramów zacząłem malować i myślę sobie: no po grzyba ja mam armatę na muchę wyciągnąć, skoro taki sam poziom precyzji projektu, do tego bardziej zrozumiały dla otoczenia jestem w stanie osiągnąć językiem naturalnym właśnie, wspartym paroma średnio sformalizowanymi schematami ? I to znacznie szybciej i wygodniej ?

Ja rozumiem - ktoś się przyzwyczaił, w VP maluje diagramy szybciej niż kwadraciki w paincie;), tak mu wygodnie. Do tego pewnie im większy projekt i bardziej ćwokowaci programiści tym UML bardziej użyteczny. Ale mierzi mnie panujące na tej grupie przekonanie że UML to jedyna profesjonalna/dopuszczalna droga.
Mateusz Kurleto

Mateusz Kurleto Szukamy wybitnych
talentów do
świetnego zespołu IT
w Gdańsku

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Jarek Żeliński:
Karol Marian Słuszniak:
UML nie nadaje się do komunikacji z klientem, bo pani księgowa lub pan prezes nie zna UML'a

bo to prawda

ale o czym była ta wypowiedź?
A ja się do końca nie zgodzę. Język UML ma tą ogromną zaletę, że na wysokim poziomie abstrakcji diagramy są self-explanatory. Pan Prezes może nie zwróci uwagi na istotne różnice wynikające z zastosowania poszczególnych typów asocjacji, czy stereotypów, ale koncepcje jakie obiekty biznesowe wchodzą w jakie relacje ze sobą - jak najbardziej!
Osobiście używam UML-a (i coraz częściej BPMN-a, którego wciąż się uczę) nawet w biznes planach przedstawianych inwestorom.Mateusz Kurleto edytował(a) ten post dnia 27.01.11 o godzinie 13:19

konto usunięte

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Jarek Żeliński:

rozumiem, opisz mi tu więc w tym naturalnym języku bez rysowania czegokolwiek

Ale dlaczego bez rysowania ?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Maciek Głuszak:
Jarek Żeliński:

rozumiem, opisz mi tu więc w tym naturalnym języku bez rysowania czegokolwiek

Ale dlaczego bez rysowania ?

przecież napisałem "język naturalny"...
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Maciek Głuszak:
Szczerze to powiem tak. Parę tygodni temu siadłem na dupie i mówię, nauczę się tego UMLa, chociażby po to żeby wiedzieć dlaczego go nie używam.

powiem to co mowie moim studentom: jak ktoś nie zna dobrze rosyjskiego to nauka cyrylicy na kant ...
Mateusz Kurleto

Mateusz Kurleto Szukamy wybitnych
talentów do
świetnego zespołu IT
w Gdańsku

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Maciek Głuszak:
Poczytałem trochę książek, trochę diagramów zacząłem malować i myślę sobie: no po grzyba ja mam armatę na muchę wyciągnąć, skoro taki sam poziom precyzji projektu, do tego bardziej zrozumiały dla otoczenia jestem w stanie osiągnąć językiem naturalnym właśnie, wspartym paroma średnio sformalizowanymi schematami ? I to znacznie szybciej i wygodniej ?
Bo efektem niesformalizowanych schematów i używania własnych niestandardowych określeń jest "efekt biblii".
Na tym samym tekście zbudowano kilka dużych i tysiące małych sprzecznych ze sobą religii. Dlaczego? Ponieważ nieformalne opisy pozwalają na dowolność interpretacji.
Efektem Twój malunek połączonych kwadracików jeden zinterpretuje jako interfejs, drugi jako klasę agregującą a trzeci uzna, że to relacja w bazie danych.
I każdy programista zrobi inny system korzystając z tych samych wymagań.
A jak prowadzi się projekt, który jakkolwiek integruje się ze światem to okazuje się, że jest strasznie niefajnie jak np agregujesz obiekty zamiast je generalizować bo się wszystko KASZANI i trzeba to PRZEPISYWAĆ NA NOWO. A to jest DROŻEJ i gwałci 2 podstawowe zasady które lubię DRY (Dont Repeat Yourself) i KISS (Keep It Simple, Stupid!).
Ja rozumiem - ktoś się przyzwyczaił, w VP maluje diagramy szybciej niż kwadraciki w paincie;), tak mu wygodnie. Do tego pewnie im większy projekt i bardziej ćwokowaci programiści tym UML bardziej użyteczny. Ale mierzi mnie panujące na tej grupie przekonanie że UML to jedyna profesjonalna/dopuszczalna droga.
Co do użyteczności UML-a względem jakości programistów jest dokładnie odwrotnie. Im lepszy programista tym bardziej użyteczny UML, bo tym mniej iteracji i tym tańsze wykonanie:)
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Jarek Żeliński:
Paweł Grzegorz Kwiatkowski:
Często bywa tak, że "coś" już istnieje i jak do tego "czegoś" nagle zacząć stosować UML? Jeśli model już istnieje bądź tworzony jest od początku, to później można go rozwijać, ale co zrobić z istniejącą luką? Jaką wartość ma fragment modelu zrobiony przy okazji wprowadzania jakiejś funkcjonalności? Można rzecz jasna przeprowadzić analizę całości od 0, ale kto za to zapłaci / zainwestuje? Wydaje mi się, że w krótkim terminie koszty wprowadzenia UML na potrzeby konkretnego projektu wiążą się ze sporymi nakładami, które niekoniecznie muszą się zwrócić.

Istniejący już system, zamykamy jako czarną skrzynkę i definiujemy (budujemy) interfejs, nowe części projektujemy po nowemu jak trzeba...

podobnie jak tworzymy od zera modele procesów dawno istniejącej firmy by ją po protu zrozumieć (analiza biznesowa), tak czasem warto udokumentować logikę istniejąc od dawna systemu by go zrozumieć.

Dokumentowac - tak, ale niekoniecznie korzystajac z UMLa (a diagramy + strzałki, to przeciez nie musi byc UML). Mam wrazenie, ze to jednak odbieganie od podstawowego pytania, tj. dlaczego UMLa tak rzadko uzywa sie w projektach IT? Może to kwestia kiepskiej znajomosc tego narzedzia? Wydaje mi sie, ze to tak jak z katolicyzmem w Polsce, wiecej ludzi deklaruje niz praktykuje. I o ile zapytani o diagram cos tam powiedza, to w przypadku pytania np. o semantyke portu może pojawic sie zaklopotanie. Nawet jestli model UMLowy powstanie, to kto go później bedzie rozwijał? Znow pojawi sie
czarna skrzynka? ;) Czy proces biznesowy mozna opisac dobrze tylko w UMLu?

Po trzecie: jeżeli postawimy problem tak (cytuję) "w krótkim terminie koszty wprowadzenia UML na potrzeby konkretnego projektu wiążą się ze sporymi nakładami" to odpowiem: jak ktoś nie potrafi czegoś to faktycznie w krótkim terminie się nie nauczy i po prostu nie powinien się tej pracy podejmować.
O wiele prościej/szybciej/taniej jest "wystrugać" rysunki (za pomocą narzędzi klasy Excel/Paint... ;) ), które przekazują pewne idee niż stworzyć poprawny model.

czy mam rozumieć, że lepiej jest w krótkim czasie postawić szybko dom z gliny na ślinę zamiast uczyć się rysunku technicznego i stosowania właściwych materiałów? Chyba, że po tej budowie od razu ekipa wykonawcy ucieka na antypody do lasu....

Podazajac za przykladami budowlanymi, czy jest sens sprowadzac sprzet ciezki (buldozery, dzwigi,...), gdy klient chce tylko scianke dzialowa? I czy potrzebna jest deska kreślarska czy raczej inne narzędzia, np. poziomica? Innymi slowy, trzeba zachowac zdrowy rozsadek i dobierac narzędzia w taki sposób,by solidnie zrealizowac cel. Osobiscie uwazam, ze warto umiec poslugiwac sie rożnymi narzedziami i nie dac się zwariować, np. 'jestem mistrzem siekiery i kazdy problem jaki napotkam na swej drodze rozwiaze korzystając z tegoż narzędzia'. A UML to tylko narzedzie...
Reasumując, myślę że zależy to od dojrzałości organizacji

a moim zdaniem od uczciwości dostawcy, uczciwy developer powie, że domów z gliny się nie robi, nieuczciwy zrobi taki dom jak sobie klient zażyczy tanio.
i procesów wytwórczych.

raczej jakości ich efektów
Jeśli nie ma świadomości, że (byle)jakość kosztuje, to szuka się szybkich oszczędności, np. przez cięcia wydatków na szkolenia z UML, czy cięcia etatu kogoś kto będzie pilnował czy modele są tworzone, czy są poprawne itd.

to mogę zrozumieć u niedoświadczonych klientów ale nie pojmuje tego u wykonawców takich usług bo musiał bym uznać, że są właśnie takimi kanciarzami od kosztownych domów z gliny....

Zabrzmialo to jakby niestosowanie UMLa wynikalo z nieuczciwosci dostawców. Myślę, ze nie można w ten sposób generalizować. Szczerze mówiąc, nie spotkałem ani jednej firmy, w której byłoby podejście 'słuchaj, tu jest repozytorium, w repozytorium są modele, weź, zaktualizuj i wygeneruj szkielet i go uzupełnij - korzystamy w podejścia Model Driven Development, wdrożyliśmy wczoraj...', częściej 'repozytorium jest tu, jest tam dokumentacja, a UML? hmm, nie stosujemy UML. Mamy takie i takie standardy..'. Nie widzę też wartości dla klienta, posiadanie jakiegoś modelu UML w gąszczu black boxów. Żeby to miało sens, ktoś odgórnie powinien narzucić taki, a nie inny standard tworzenia dokumentów analitycznych bądź projektowych, a to wydaje mi się, że już temat o architekturze IT i dojrzałości przedsiębiorstw.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Maciek Głuszak:
Ale mierzi mnie panujące na tej grupie przekonanie że UML to jedyna profesjonalna/dopuszczalna droga.

nie zrozumiałeś: na tej grupie (nie tylko) panuje przekonanie, że od pewnego poziomu porządne projektowanie i modelowanie obniża koszty i ryzyko,
zacytuje pana Yourdona (współautor UML'a): "bez projektu i tylko na postawie opisu i notatek można zbić budę dla psa albo postawić domek na działce ale nie rozumiem dlaczego tak wielu ludzi nadal tą metoda zabiera się do stawiania wieżowców"

konto usunięte

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Jarek Żeliński:
Maciek Głuszak:
Ale mierzi mnie panujące na tej grupie przekonanie że UML to jedyna profesjonalna/dopuszczalna droga.

nie zrozumiałeś: na tej grupie (nie tylko) panuje przekonanie, że od pewnego poziomu porządne projektowanie i modelowanie obniża koszty i ryzyko,

Ależ ja się z tym przekonaniem zgadzam, tylko że stwierdzam, ze na tej grupie panuje również mylne przekonanie że "poza UML nie ma projektowania"

konto usunięte

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Mateusz Kurleto:
Bo efektem niesformalizowanych schematów i używania własnych niestandardowych określeń jest "efekt biblii".
Na tym samym tekście zbudowano kilka dużych i tysiące małych sprzecznych ze sobą religii. Dlaczego? Ponieważ nieformalne opisy pozwalają na dowolność interpretacji.

Ponieważ biblia jest w wielu miejsach wewnętrznie sprzeczna.
Efektem Twój malunek połączonych kwadracików jeden zinterpretuje jako interfejs, drugi jako klasę agregującą a trzeci uzna, że to relacja w bazie danych.
I każdy programista zrobi inny system korzystając z tych samych wymagań.

Ale wiesz to z własnego doświadczenia, czy z książek ? Bo ja z własnego doświadczenia wiem co innego.
A jak prowadzi się projekt, który jakkolwiek integruje się ze światem to okazuje się, że jest strasznie niefajnie jak np agregujesz obiekty zamiast je generalizować bo się wszystko KASZANI i trzeba to PRZEPISYWAĆ NA NOWO. A to jest DROŻEJ i gwałci 2 podstawowe zasady które lubię DRY (Dont Repeat Yourself) i KISS (Keep It Simple, Stupid!).

Ale Ty znowu opisujesz jakąś wyimaginowane problemy. Na tej samej zasadzie ja mogę powiedzieć że jeżeli projektant jest brunetem to projekt nie wypala. Znam wiele dowodów na to ! Farbujcie włosy na blond, bo to jedyna droga do celu !

konto usunięte

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Języka naturalnego na przykład ?
Ale dlaczego bez rysowania ?

Jarek Żeliński:

przecież napisałem "język naturalny"...

Której części zwrotu "na przykład" nie zrozumiałeś ?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Dlaczego tak rzadko używa się UML w projektach IT?

Paweł Grzegorz Kwiatkowski:
Dokumentowac - tak, ale niekoniecznie korzystajac z UMLa (a diagramy + strzałki, to przeciez nie musi byc UML).

można to zrobić na setki sposobów ale jak sądzisz po co korzystamy ze standardów?

po drugie czym innym jest wybór tej czy innej notacji a czym innym samo modelowanie jako metoda lub nie.
Nawet jestli model UMLowy powstanie, to kto go później bedzie rozwijał?

to świadczy o tym, że nie modelujesz i nie rozumiesz po co się to robi: modelujemy by mieć na czym wykonać proof-of-cocept i potem przekazac te wiedzę wykonawcy, po tym modele spokojnie można wyrzucać do kosza zostawiając to co jest potrzebne do zarządzania cyklem życia produktu.

Ja czasami w ofertach pisze, że moje projekty charakteryzują się tym, że nie występuje bardzo powszechne w projektach programistycznych zjawisko "stałego odkrywania nowych wymagań w trakcie oddawania prototypów". Większość programistów się uśmiecha w tym momencie za wyjątkiem tych którzy wiedzą że tak można.

Po trzecie: jeżeli postawimy problem tak (cytuję) "w krótkim terminie koszty wprowadzenia UML na potrzeby konkretnego projektu wiążą się ze sporymi nakładami" to odpowiem: jak ktoś nie potrafi czegoś to faktycznie w krótkim terminie się nie nauczy i po prostu nie powinien się tej pracy podejmować.
Podazajac za przykladami budowlanymi, czy jest sens sprowadzac sprzet ciezki (buldozery, dzwigi,...), gdy klient chce tylko scianke dzialowa?

przecież napisałem: do zbijania psiej budy nie potrzeba architekta
Reasumując, myślę że zależy to od dojrzałości organizacji

a moim zdaniem od uczciwości dostawcy, uczciwy developer powie, że domów z gliny się nie robi, nieuczciwy zrobi taki dom jak sobie klient zażyczy tanio.
Zabrzmialo to jakby niestosowanie UMLa wynikalo z nieuczciwosci dostawców. Myślę, ze nie można w ten sposób generalizować.

a jak ocenisz developera deklarującego w przetargu budowę dużego osiedla tylko na bazie setek stron prozy zapisanej w wywiadach z przyszłymi mieszkańcami? Otóż developerzy tak nie robią z powodów oczywistych, dlaczego robią tak nagminnie programiści? Bo jeszcze wielu klientów się na to godzi.... coraz mniej...

Szczerze mówiąc, nie spotkałem ani jednej firmy, w której byłoby podejście 'słuchaj, tu jest repozytorium, w repozytorium są modele, weź, [...]

Automatyczne generowanie kodu sobie darujmy bo o tym nie mówimy, co do reszty, ... skoro nie spotkałeś firmy mającej dokumentacje, repozytorium itp.. to może zmień środowisko... bo ja mam z takimi nagminnie doczynienia...

Następna dyskusja:

Wyniki ankiety "Do czego i ...




Wyślij zaproszenie do