@technites_pl
Modelowanie
z wykorzystaniem
archetypów
modeli domenowych
@technites_pl
@technites_pl
Może to jednak dobrze, że nasz system
nie poleciał w kosmos ...
@technites_pl
Co jest ciekawego w tworzeniu
softu biznesowego ?
@technites_pl
Gdy się nie rozumie biznesu
to pewnie nic ...
MODELOWANIE
A do tego trzeba mieć narzędzia!
arche - typos
@technites_pl
Nie wszystko musi się starzeć tak szybko
jak frameworki JS
@technites_pl
Dojrzałe rozwiązania są stabilne
Ludzie naprawdę nie zaczęli prowadzić działalności gospodarczej dopiero w XXw
W starożytności również istniały przedsiębiorstwa organizujące handel i logistykę
w skali kontynentalnej
To chyba nic dziwnego, że po takim okresie testów
rozwiązania biznesowe są stosunkowo stabilne
@technites_pl
@technites_pl
na pewno ?
@technites_pl
Obserwowana cecha
Controling
Laboratorium
Pomiar
Badany przedmiot
Procedura pomiarowa
Predykcja
Weryfikacja / Falsyfikacja
Wiedza o związkach
przyczynowo - skutkowych
Możliwe rodzaje działań i informacji
są ograniczone przez naturę
fizycznej rzeczywistości
Sposoby prowadzenia
działalności gospodarczej
bazują na tych ograniczeniach
@technites_pl
@technites_pl
Archetypy opierają się na:
@technites_pl
@technites_pl
najczęściej spotykany archetyp w IT
@technites_pl
... a przecież użyłem Kubernetesa, Kafki,
Angulara 17 i jestem Cloud Native ...
... gdybym użył jeszcze Quarkusa
to by się na pewno udało ...
W biznesie ciągle przewijają się
te same problemy
Dlaczego tak trudno jest znaleźć
dobre rozwiązania ?
@technites_pl
@technites_pl
@technites_pl
Proste User Story ...
Jako kierownik sprzedaży, chciałbym żeby rabaty naliczały się w następujący sposób:
@technites_pl
Zapomnieliśmy jeszcze że ...
@technites_pl
I jeszcze "jedno" ...
Kto ma to dobrze zrobione ?
Czy wycena nie jest czasem czymś powszechnym ?
Co stanowi o przewagach konkurencyjnych:
fakt nakładania wielu rabatów,
czy konkretne warunki i parametry tych rabatów?
Czy zmiana zestawu rabatów, albo ich parametrów
powinna wpływać na model?
@technites_pl
@technites_pl
Provide Context
Modified
Choose Modifiers
Modifier
Pewnie dobrze określonych wymagań ...
Tylko co to znaczy dobrze określonych ?
@technites_pl
@technites_pl
Analiza to coś więcej
niż zbieranie wymagań
@technites_pl
@technites_pl
Rezerwacja biletów
Pasażer po zakupie biletu może wybrać
konkretne miejsce w samolocie.
Wybrane miejsce nie powinno być dostępne
dla innych pasażerów.
Samolot nie może zabrać więcej pasażerów
niż ma miejsc.
Rezerwacja miejsca może być anulowana
w każdym momencie przez klienta, linię, służby ;)
@technites_pl
Passenger
Seat
Plane
Ticket
Flight
@technites_pl
Model powinien być oparty
o głęboką analizę domeny,
a nie odizolowane wymagania,
które akurat realizujemy w tym sprincie
@technites_pl
Skuteczność analizy zależy od
umiejętności zadawania trafnych pytań
Tylko jak zadawać trafne pytania
gdy nie zna się biznesu?
@technites_pl
@technites_pl
@technites_pl
@technites_pl
@technites_pl
@technites_pl
Może super generyczny ERP jest jednak optymalnym rozwiązaniem ?
Wystarczyłoby połączyć archetypy i gotowe !
@technites_pl
prawie jak hotel ...
... "prawie" robi wielką różnicę
@technites_pl
The greatest value of custom software comes
from the total control of the Core Domain.
- Eric Evans
Core Domain to najczęściej
"jedynie" kompozycja archetypów
@technites_pl
Przewagi konkurencyjne zwykle
zależą od parametryzacji systemu
a nie samych jego operacji
@technites_pl
1996r.
2001r.
1997r.
@technites_pl
2004r.
2011r.
@technites_pl
Ograniczenie archetypów
do poziomu modelu danych
skazuje nas na
Table Driven Development
@technites_pl
@technites_pl
Entity
Attr. 1
Attr. 2
Attr. 3
...
==
!
!
!
!
To co najistotniejsze w modelowaniu to:
zachowania, reguły i procesy biznesowe
Dane "tylko" umożliwiają ich realizację
@technites_pl
@technites_pl
Nie tylko umowy:
umowa != umowa
@technites_pl
Brak abstrakcji
- konkretne przypadki
Abstrakcja od konkretnych przypadków
- model konkretnej firmy
Abstrakcja od specyfiki konkretnej firmy
- standardy branżowe
Abstrakcja od specyfiki branży
- wzorce analityczne
...
Siła abstrakcji płynie z tego
co zostało wyeksponowane
a nie z tego co zostało pominięte
@technites_pl
@technites_pl
Archetypy to narzędzie, które mają pomóc
w modelowaniu rzeczywistości,
a nie nagiąć rzeczywistość do siebie!
@technites_pl
@technites_pl
@technites_pl
@technites_pl
Archetypy modeli domenowych to
sprawdzone rozwiązania
powszechnych problemów biznesowych
@technites_pl
na tyle abstrakcyjne,
że da się je zastosować w wielu przedsiębiorstwach
na tyle konkretnych,
że da się ich użyć do eksploracji domeny
wspólnie z ludźmi z biznesu
@technites_pl
@technites_pl
???
Co jest skończonym zasobem,
którego dostępności
pilnuje system ?
@technites_pl
CC BY-SA 3.0 wikipedia.org/wiki/Plik:Overflowed_platform_of_Vyhino,_fore_part_3.jpg
@technites_pl
A może ten zasób wcale nie jest skończony ?
Eksploracji domeny nie da się zautomatyzować żadnym narzędziem
Archetypy to tylko jedno z nich
ale warto je mieć
w swojej skrzynce z narzędziami !
@technites_pl
Tylko czemu nie uczą tego na studiach ???
@technites_pl
Tworzenie softu biznesowego
to nie rocket science
Co nie znaczy,
że jest to proste i nudne
@technites_pl
Unikalność rozwiązań biznesowych
wynika głównie z kompozycji
powszechnie znanych koncepcji
i ich parametryzacji
@technites_pl
@technites_pl
Warto znać
archetypy modeli domenowych,
żeby biznes w kolejnym projekcie
był mniejszym zaskoczeniem
a modelowanie było
naprawdę efektywne
@technites_pl
blog - itlibrium.com
kod - github.com/itlibrium
slajdy - slides.com/technites_pl