Domain Driven Design i Boundary, Control, Entity

Wprowadzenie Niedawno pisałem, że lubię i polecam styl DDD . Dlaczego? Bo nawet jak nie znamy przyszłych zmian (nowych wymagań) to na pewno projekt będzie się dało rozbudować zamiast zmieniać. Dlaczego? Bo jeśli projekt dobrze ?modeluje? rzeczywistość to znaczy, że jeśli tylko coś zmieni się w tej rzeczywistości, to będzie to możliwe do takiego samego odwzorowania w projekcie. Co piszą inni Można o tym także przeczytać na blogu MSDN: Domain Driven Design (DDD) is especially suitable for creating long-term LOB Apps, but usually, DDD is presented as a very patterns &…

Czytaj dalejDomain Driven Design i Boundary, Control, Entity

O narzędziach CASE – rzadko ale jednak piszę

Prawdę mówiąc "zabraniam" przynoszenia komputerów na moje szkolenia, wymagam papieru i ołówka. Powody są dwa: Narzędzia CASE pomagają tylko wtedy gdy diagramów jest wiele i model jest złożony, na szkoleniach takich modeli się nie robi. Narzędzia, w szczególności niektóre, płatają figle i szkolenie np. z zakresu analizy biznesowej ewoluuje w stronę szkolenia z obsługi narzędzia.... do czego nie dopuszczam :). Napisze tu kilka słów jednak o narzędziach, bo dobrze jest jednak znać dobre i złe cechy swojego narzędzia. Spotykam się nie raz z bardzo popularnym pakietem CASE (SPARX Enteprise Architect) na szkoleniach (ma go wielu…

Czytaj dalejO narzędziach CASE – rzadko ale jednak piszę

Wiedza po studiach? Zostaliście oszukani…

Do napisania tego artykułu "zmusiła" mnie kolejna przygoda z korepetycjami, w której tym razem dostałem od studenta pełną treść zadania wraz ze wskazówkami. Nie będę pisał o jaką uczelnię chodzi i kim jest tenże wykładowca bo nie jest moim celem krytyka osoby czy uczelni. To co pisze, wydaje mi się, jest zjawiskiem powszechnym (w miarę czasu jakim dysponuje, udzielam często korepetycji studentom różnych uczelni). [...] to tylko przykład "zadania dla studenta", takich "zadań" i ich zaliczeń znam multum. Ktoś tak "wykształcony" pojawia się na rynku pracy i ma pretensje, że ma kłopoty ze znalezieniem pracy albo na podstawie dyplomu prestiżowej uczelni zostaje zatrudniony, i sieje spustoszenie w projektach nie raz ogromnej wartości. Jest nie raz gorzej, bo buduje stereotyp "nieprzydatnej i kosztownej pracy analityka". Powyższy przykład to praca wykładowcy na prestiżowej w naszym kraju uczelni na kierunku Analiza Biznesowa.

Czytaj dalejWiedza po studiach? Zostaliście oszukani…

Od biznesu do przypadków użycia

Wymagania na oprogramowanie są często dokumentowane z pomocą Przypadków Użycia (PU), zwanych w "oryginale" Use Case (UC). Wygodą stosowanie tej konwencji jest traktowanie Systemu jako tak zwanej czarnej skrzynki, czyli czegoś, czego wewnętrznej budowy nie znamy, ale znamy reakcje na bodźce. W przypadku oprogramowania, nie wiemy jak jest ono zbudowane (w momencie zamawiania go, może ono jeszcze nie istnieć), ale wiemy jak reaguje na "polecenia". Jest to uznanie zasady, że zamawiający definiuje CO oprogramowanie ma robić a nie to JAK ono to robi. W przypadku gotowego oprogramowania, lub na etapie poprzedzającym projektowanie, ma to sens, jednak należy pamiętać, że przypadki użycia nie determinują tego co tak na prawdę dostaniemy, co opisałem w artykule o tym co na prawdę opisują przypadki użycia.Generalnie diagram PU jest bardzo dobrym "korzeniem" do analizy i tworzenia pozostałych modeli, ale bez powstającego "natychmiast" modelu dziedziny nie jest możliwe zaprojektowanie granic (bounded context) dla komponentów.Spotykam się w literaturze z tezami, które uważam za słuszne, że jeden system (podsystem) nie powinien przekraczać 50 klas biznesowych w dziedzinie (liczba bliska 100 to ogromny system). Praca nad oprogramowaniem powinna zacząć się od analizy i rozbicia problemu na "strawne" kawałki. Najpierw podział na podsystemy, potem na komponenty, a na końcu konkretne klasy i ich realizacje.Nie ma tu mowy o podziale z perspektywy aktora, bo jeżeli wiemy jaka jest konstrukcja zaprojektowanego młotka albo kalkulatora, to nie możemy ograniczyć (bo nie mamy podstaw) liczby ich użytkowników, bo każdy ma swoje uzasadnione powody by wziąć do ręki np. młotek....

Czytaj dalejOd biznesu do przypadków użycia

Nowy paradygmat systemowy

Podstawową wyższością, dającą przewagę na rynku, jest zwinność organizacji. SOA to nic innego jak taka właśnie struktura systemu informatycznego: specjalizowane aplikacje, komponenty, instalowane (wdrażane) do realizacji konkretnych potrzeb zasobów takich jak pracownicy księgowości, pracownicy sprzedaży, pracownicy produkcyjni, itp.. Co więc robić?Opisać strategie rynkową firmy, Przeanalizować i opisać model biznesowy (sposób powstawania i źródło głównych dochodów), Uszczegółowić model biznesowy do opisu procesów kluczowych biznesowych i reguł biznesowych, Wskazać procesy, których wsparcie metodami informatycznymi przyniesie mierzalne korzyści, Zaprojektować (udokumentować) architekturą systemu informatycznego ukierunkowana na zasoby i usługi. Jeżeli pogodzimy się z faktem, że SOA to usługowa architektura systemu informatycznego firmy, zaś wszelkie webserwisy, szyny itp. to tylko możliwa implementacji (ale nie jedyna!) tej architektury to już będzie z górki. (W co inwestować w kryzysie c.d. - SOA)Tak więc, jak mawia mój znajomy profesor filozofii: gdy dwóch mówi to samo to nie jest to samo. Tu, o SOA, komponentach, analizie i projektowaniu zorientowanym na usługi mówi wielu. Dostawcy systemów ERP o zwartej, zintegrowanej architekturze będą tu z natury zachowywali bezwładność: SOA powoduje, że żaden ERP (system i jego dostawca) nie będzie miał monopolu u raz pozyskanego klienta.

Czytaj dalejNowy paradygmat systemowy

Modelowanie struktury organizacyjnej

Dosyć często spotykam się z modelowaniem struktur organizacyjnych czy nawet ról w procesach, z pomocą diagramów przypadków użycia i hierarchii aktorów z użyciem dziedziczenia. Jest to moim zdaniem kompletne nieporozumienie i fałszywe.Zawiłe diagramy struktur organizacyjnych w postaci aktorów dziedziczących po sobie (nie przytoczę tu żadnego, każdy taki jest w zasadzie zły), na których przełożony dziedziczy po podwładnym (lub podobne konstrukcje), są niemalże zawsze gruntu fałszywe. Studiowanie zakresów obowiązków pracowników firm jawnie pokazuje, że to nie prawda. Z zasady wielu menedżerów działów nie ma kompetencji swoich podwładnych, nie raz szef działu prawnego nie ma, i nie musi mieć, uprawnień radcowskich czy adwokackich, w wielu większych sekretariatach, upoważnienia do pewnych podpisów są przydzielane indywidualnie i szef (szefowa) nie ma tych wszystkich upoważnień. Szef kancelarii tajnej może mieć uprawnienia do informacji tajnej nadane przez ABW, których to uprawnień nie ma nie raz, jego przełożony. Przykładów na fałszywość dziedziczenia uprawnień w strukturze organizacyjnej można podać tak ogromną ilość, że dość częste stosowanie tej konstrukcji wydaje mi się niezrozumiałe. projektują oprogramowanie także, z reguły nieprawdą, jest dziedziczenie praw dostępu. Nie przypadkiem w praktyce stosuje metody macierzowe zarządzania prawami dostępu (niewydolne i nie prawdziwe w sensie biznesowym) lub kontekstowe (dużo lepsze).

Czytaj dalejModelowanie struktury organizacyjnej

Modelowanie biznesowe

Model organizacji to: opis motywacji jej działania, opis ludzi, jacy realizują wewnętrzne zadania, opis reguł jakie regulują ich zachowaniami. Całość (model) powinna być na tyle uporządkowana, by model był w 100% jednoznaczny, czyli kluczowe pojęcia w nim użyte powinny być zebrane w jeden wewnętrzny, spójny biznesowy słownik tej organizacji. To wszystko dopiero pozwoli stworzyć model procesów biznesowych, czyli wewnętrzne scenariusze zachowania.Samo utworzenie map (bo nie modeli) w postaci diagramów procesów z pomocą wywiadów, sesji warsztatowych i obserwacji, da produkt podobny do zdjęcia lotniczego rzeki: wiemy którędy płynie, ale kompletnie nie rozumiemy dlaczego akurat tak. Mamy jedynie udokumentowany stan obecny.Ingerencja w ten stan rzeczy, bez zrozumienia reguł rządzących tym jak i którędy płynie woda, kończy się nie raz katastrofami jakie znamy z doniesień o powodziach i zalaniach ostatnich lat. Bez poznania zasad rządzących zachowaniem się organizacji można "nie uniknąć problemów przy wprowadzaniu zmian".Każda reorganizacja, a w szczególności jest nią wdrażanie nowego oprogramowania, jest taką zmianą. Ta książka jest o modelowaniu organizacji.

Czytaj dalejModelowanie biznesowe

Inżynieria wymagań ? model tego co chcemy

Niedawno mój serdeczny kolega napisał: Samo zebranie wymagań to ważny etap. Schody zaczynają się jednak dalej. Trzeba zweryfikować pozyskane wymagania, uszczegółowić, nadać priorytety. Gdzie te schody? [...] Nie mamy w Polsce standardu dokumentowania projektów. Czegoś na co można się powołać. (Inżynieria wymagań ? certyfikat | Michał Wolski). jak to mówią "święte słowa". Jednak mamy standard dokumentowania wymagań, który można wykorzystać. Jaki? Moje początkowe opory do stosowania "kolejnej notacji" były jednak chyba przesadzone. SysML to obiektowe (w sensie paradygmatu) rozszerzenie UML. Pomijając kwestie samej notacji, jeden z jej diagramów, diagram wymagań, pozwala…

Czytaj dalejInżynieria wymagań ? model tego co chcemy

Ile tego ma być … analiza i model procesów biznesowych

Tak więc analiza organizacji i opracowanie jej modelu to trudna, praca, nie raz długa, ale nie powinny to opasłe księgi. Dobry model organizacji to właśnie broszurka, która odpowiada na pytanie "dlaczego". Jeżeli wynikiem analizy są opasłe księgi to znaczy, że mamy jedynie dziesiątki nagrań kolejnych partii szachów a nie reguły tej gry... a wtedy nadal nie wiemy "dlaczego".Co ciekawe, każda organizacja ma, lub powinna mieć, taką instrukcję: jest to lista stanowisk (struktura organizacyjna) i reguły gry w postaci wewnętrznych zarządzań i procedur. Ale powinna ona być spójna i kompletna. Przypomnę, że każda organizacja jakoś funkcjonuje, a mało która ma mapy procesów biznesowych. Po co więc te modele procesów?Wróćmy do wspomnianej na początku "piramidy". Jej szczyt to cele, model biznesowy: chcemy grać w szachy i wygrywać. Jej najniższa warstwa to figury i reguły gry. Czym jest środkowa warstwa, czym są te modele procesów biznesowych? Dobry szachista ma pewne z góry przewidziane scenariusze, są to "gotowe" rozwiązania na pewne powtarzająca się sytuacje na szachownicy. One oczywiście nie są w stanie zastąpić szachisty, ale bardzo ułatwiają mu grę, raz przećwiczone i uznane za "dobre" i skuteczne scenariusze, stosuje zawsze gdy napotka "standardową sytuację".Organizacje także je mają, to właśnie procesy biznesowe, ale nie jest to recepta na pracę firmy, takiej nie jesteśmy w stanie stworzyć. Procesy biznesowe, te udokumentowane by służyły firmie, to wszystkie te przewidywalne, powtarzające się scenariusze, które stanowią tak na prawdę nasze organizacyjne know-how. Cała reszta to kompetencje naszych pracowników a tych nie modelujemy, z nich korzystamy.

Czytaj dalejIle tego ma być … analiza i model procesów biznesowych

Semiotyka – czyli dlaczego sama notacja to za mało

Tym razem krótki wpis po pewnym spotkaniu projektowym, dla tworzących i czytających diagramy: Semiotyka, ogólna teoria znaku związana z logiką i lingwistyką. Jej współczesna postać pochodzi od Ch. Morrisa, który uznał, że semiotyka powinna stanowić podstawę badań nad związkami między wszelkimi działaniami ludzkimi i ich odzwierciedleniem w systemie znaków. Semiotyka dzieli się na:1) semantykę (w węższym sensie), czyli naukę o znaczeniowej stronie języka, o tym, jakie relacje zachodzą między znakami i ich znaczeniem (sensem).2) syntaktykę rozpatrującą związki zachodzące między znakami i między systemami znaków.3) pragmatykę badającą warunki użycia określonych znaków.(za Semiotyka…

Czytaj dalejSemiotyka – czyli dlaczego sama notacja to za mało

Business Model Canvas vs. Business Motivation Model

Jak widać, "klasyczny" model biznesowy pokazuje tylko "co jest przedmiotem działalności i kluczowym źródłem zysku". Model taki jest modelem procesu, ten proces jednak to tylko opis tego co, jaką wartość dodaną, dana organizacja dostarcza swoim klientom i gdzie się zaopatruje. Model to-Be opisuje stan pożądany, nie daje żadnej wiedzy o tym, jak do niego dojść. Model As-is i To-be ma lukę pomiędzy tymi As-Is i To-be. Tę lukę wypełnia moim zdaniem kompletny model BMM - każe "opracować" strategię, taktykę, analizę SWOT, ryzyka i inne mające wpływ na osiągnięcie celu, a nawet na to czy jest on w ogóle osiągalny.Po co to wszystko? Bo dobra analiza, powinna być sama dla siebie dowodem słuszności jej wyników (dlatego nie raz tu napisałem, że powinna być prowadzona "metodą naukową").

Czytaj dalejBusiness Model Canvas vs. Business Motivation Model

Rachunek kosztów działań ABC ? model procesu niezbędny

O procesach biznesowych i ich modelowaniu napisano już wiele, jednak w większości przypadków pisze się o tym w kontekście albo wdrożeń systemów IT albo w kontekście reorganizacji. Jakiś czas temu znalazłem się na konferencji związanej z zarządzaniem kontrolingiem i finansami. Usłyszałem coś co mnie nieco i zdziwiło, pewna pani zajmująca się właśnie metodami kontrolingu, w swoim referacie, zwróciła uwagę na dziwne jej zdaniem zjawisko: bardzo wiele firm wdraża metody zarządzania kosztami działań nie mając modelu procesów biznesowych, czy to nie jest wróżenie z fusów, zapytała? Czym jest zarządzanie kosztami działań albo inaczej, na czym polega metoda ABC ([[Activity Based…

Czytaj dalejRachunek kosztów działań ABC ? model procesu niezbędny

Koniec treści

Nie ma więcej stron do załadowania