RE: Duży monolityczny ERP czy integracja
Pojawiła się polemika do mojego artykułu Duży monolityczny ERP czy integracja (fragment, gorąco polecam cały wpis): Witam Kolegę Blogera i na powitanie mam małą polemikę. Otóż nie mogę się zgodzić na…
Pojawiła się polemika do mojego artykułu Duży monolityczny ERP czy integracja (fragment, gorąco polecam cały wpis): Witam Kolegę Blogera i na powitanie mam małą polemikę. Otóż nie mogę się zgodzić na…
W wielu firmach system zarządzania jest tak niespójny, że jedynym sposobem funkcjonowania tych firm, jest łamanie zasad przez jej pracowników. Niestety pierwsza wpadka często powoduje załamanie się całego systemu (a nie raz i firmy). Wiele Zarządów firm nie zdaje sobie nawet sprawy z tego, jak duże jest ryzyko ciągłości funkcjonowania ich firm.
Tak więc model procesu to nie algorytm działania firmy, wykazano nie raz, że algorytmizacja pracy ludzi jest niecelowa (wtedy stosujemy roboty).
Znaczna część tego co robią ludzie to efekt ich kompetencji, wiedzy i doświadczenia, a nie dyktowania im jak mają wykonywać swoja pracę.
Jeżeli wybierzemy drogę modelowania tego wszystkiego diagramami, to ilość tych diagramów szybko przekroczy granicę sensy całego projektu: nie będą czytane. Ich wartość będzie żadna.
W procesie dobrze przygotowanej analizy (jakiejkolwiek) modele tworzy się by je badać, a nie tylko po to by powstały za pieniądze sponsora projektu.
Należy też nabrać pokory: większość organizacji sprawnie funkcjonuje nie mając żadnych modeli procesów, więc teza, że ich brak szkodzi jest nie do obrony. Po co więc te modele? Żeby zrozumieć dlaczego tak jest i co się stanie, gdy zechcemy wprowadzać zmiany.
zły model to złe oprogramowanie….
Duży system ERP to setki i tysiące jego przypadków użycia, nie ma sensu ich specyfikowanie podobnie jak nie ma sensu pytanie o nie przyszłych użytkowników tego systemu bo nie są w stanie ich wyliczyć. Ma jednak sens zrozumienie tego jak firma działa. Po raz kolejny posłużę się metaforą [[Martina Fowlera]]: grę w snookera można opisać relacjonując (zapisując) setki kolejnych partii, ale i tak nigdy nie wyspecyfikujemy nawet ułamka możliwych zagrań. Zdecydowanie lepszą metodą jest przyjrzenie się kilku partiom i wychwycenie cech bili, ich ilości, wymiarów stołu oraz reguł gry, bo to będzie zgodne nie tylko z historią odegranych partii snookera ale z każda przyszłą partią.
Dlatego zamiast prowadzenia żmudnych wywiadów i tworzenie nieskutecznej listy setek szczegółowych opisów możliwego użycia oprogramowania, lepiej jest zrozumieć organizację, stworzyć jej model (dziedziny) i wyspecyfikować jakie usługi ma to oprogramowanie świadczyć użytkowników teraz (bo tak należy rozumieć pojęcie przypadku użycia systemu). Poprawny model dziedziny pozwoli także na obsługę przyszłych wymagań mimo, że nie znamy ich teraz. Podobnie jak stół bilardowy: nie zna przyszłych uderzeń ale wiemy, że na pewno zostaną “obsłużone”.
Technologia IT pozwala zapisywać ogromne ilości danych. W cytowanym na początku artykule namawia się nas na inwestycje w technologie, które dają szanse na “przerobienie” tego. A czy aby na pewno musimy gromadzić to wszystko? Mózg ludzki ma doskonała obronę przed nadmiarem informacji, jak wiemy radzimy sobie całkiem nieźle mimo tego, że wiele rzeczy zapominamy. To miliony lat ewolucji stworzyły ten mechanizm! Wystarczy go naśladować.
Zmierzam do tego, że projektowanie systemów informatycznych to także projektowanie tego jakimi danymi zarządzać i które zachowywać np. w hurtowni danych. Gdyby nasza firma zawierała nieskończoną ilość transakcji sprzedaży rocznie (:)) czy musimy analizować wszystkie by ocenić udziały w rynku, podział na regiony, najlepszych i najgorszych sprzedawców, nadużycia w transporcie? Nie! wystarczy mieć dane reprezentatywne, rejestrować do analiz tylko ustalona część ([retencja danych]]). Niestety nie jest łatwo podjąć decyzje, która to część i to jest (powinno być) tak na prawdę część analizy wymagań. A koszt takiej analizy nijak się nie ma, jest znacznie mniej kosztowna, niż systemy do przetwarzania wszystkich tych danych. Nie dajmy się zwariować z wydatkami na rosnące pojemności systemów składowania i przetwarzania danych.
Mało która firma ma modele procesów a każda jakoś istnieje! Można żyć bez map procesów, straszne! Co więc oferują firmy doradcze “sprzedające” usługę modelowania procesów biznesowych?
Sedno sposobu pracy organizacji to reguły biznesowe. One rządzą tym, co jest wykonywane i jak. Proces (to jak jest wykonywana praca) to abstrakcja, efekt istnienia ograniczeń (w tym właśnie reguł biznesowych). Tak wiec można zarządzać firmą nie mając modeli procesów podobnie jak można mieszkać w mieście nie mając jego planu.
W czym problem? Bez “mapy” nie rozumiemy wielu zjawisk mimo, że występują. Jednak przydatny model biznesowy to model procesów powiązany z pozostałymi czterema składnikami opisu organizacji (ludzie, prawo, wewnętrzne zarządzenia i procedury).
Model biznesowy to nie są dziesiątki i setki nieczytanych diagramów, pokazujących szczegółowo to co robię pracownicy bo mogą to robić na nieskończenie wiele sposobów. Istotne jest to co powstaje, po co i dlaczego akurat tak.
Na zakończenie: np. model pracy operacyjnej każdego urzędu można kompletnie opisać jednym diagramem. Jeżeli chcesz na prawdę poznać swoją firmę, opracuj jej model. Ale nie w postaci setek diagramów będących suchym zapisem wywiadu.
Rozłóż firmę na czynniki pierwsze i zrozum ją. Bez tego nie zarządzasz a próbujesz zarządzać!
Wykonaj sformalizowany notacjami i słownikiem pojęć, audyt firmy, sposobu funkcjonowania i zrozum jak na prawdę działa.
Hurtownia danych to model stworzony pod kątem przetwarzania faktów historycznych na prostym modelu danych (diagram powyżej, górny, to tak zwana kostka OLAP). Opracowanie takiego modelu wymaga specjalnej analizy i projektu, ale nie zapominajmy: analizę się robi raz a raporty stale…
Tak więc szanowni Państwo. Jeśli tylko Wasza firma jest bliżej czołówki niż ogona rankingu rynku w Waszej branży, nie dajcie się namówić na jeden zintegrowany ERP i jakiś model referencyjny, bo nawet jak uda się go wdrożyć, to zmiana czegokolwiek będzie trudna a upgrade do nowszej wersji niemożliwy. Opracowanie projektu systemu składającego się z komponentów, pozwoli Wam dobrać najlepiej spełniające Wasze wymagania aplikacje. Jak z klocków LEGO złożycie “dedykowany system” pomagający utrzymać przewagę na rynku, a nie cofający Waszą firmą do poziomu “innych podmiotów w branży”.
Mapa (model) procesów oraz struktura organizacyjna, by były jednoznaczne, muszą być także zestawem zdefiniowanych pojęć. Musimy wiedzieć co znaczy słowo: przełożony, podwładny, komórka organizacyjna czy jej kierownik. Jeszcze większym wyzwaniem zdefiniowanie systemu pojęć dla mapy procesów (proces, czynność, zdarzenie, dokument…). Budowanie systemów pojęciowych spełniających powyższe warunki jest bardzo trudne dlatego dla modeli procesów biznesowych najlepiej wykorzystać gotowy model pojęciowy: jest nim notacja. Najlepiej obecnie opracowanym takim modelem pojęciowym jest gotowa notacja [[BPMN]]. Tworzenie własnych jest kosztowne (czas i wiedza osoby opracowującej) i bardzo ryzykowne (może się nie udać). Dlatego używanie dzisiaj własnych lub innych (np. dostosowywane profilami diagramy UML) jest w moich oczach nieracjonalnym podejściem.
Model pojęć specyficzny dla danej organizacji niestety musi powstać “od zera”, podobnie jak powiązana z nim specyfiakcja reguł biznesowych. Jest to trudne bo tworzenie przestrzeni nazw wymaga utrzymania niezależności poszczególnych definicji i spójności i zupełności całego ich systemu. Niedochowanie tych wymagań prowadzi do niepełności a nawet sprzeczności reguł biznesowych, które w końcu są budowane (odkrywane i dokumentowane) z pomocą tych pojęć. Zanim wiec zaangażujesz kogoś do modelowania własnej firmy, upewnij się, komu zlecasz tę pracę…
W bardzo dużym więc skrócie:
procesy biznesowe to faktyczny, widoczny sposób pracy firm (ludzi w nich zatrudnionych),
procesy to efekt funkcjonowania ludzi w środowisku ograniczeń,
należy poznać tych ludzi,
ograniczenia to: procedury, prawo, zarządzenia wewnętrzne oraz specyficzne dla firmy wewnętrzne normy zwane regułami biznesowymi,
opracowanie biznesowego modelu firmy wymaga zrozumienia i opisania tego co powyżej opisałem,
nie istnieje droga na skróty.
…
Tak więc jest metoda, praktyka pokazuje, że sprawdza się. Praktyka pokazuje także, że niestety nie jest to łatwe (modelowanie biznesu metodami obiektowymi, tu niestety nie da się powiedzieć, że “nie święci garnki lepią”) dlatego powstały pewne zalecenia i wzorce projektowe. Należy je zrozumieć, nauczyć się stosować i stosować, co i tak nie zastąpi “projektowania” czyli twórczego pierwiastka w tym procesie. Dokładnie tak samo jak nie da się automatycznie tworzyć kodu programu, do tego potrzebni są (dobrzy) programiści.
Z przekorą powiem też, że nie wiem jak zwinność metod programistycznych ([[Agile Manifesto]]) miała by ten proces uzdrowić i uczynić lepszym (nadal uważam, że brak dokumentacji, w tym modeli, raczej psuje projekty). Podsumowując można by powiedzieć, że etapy tworzenia oprogramowania to:
Analiza biznesowa, której produktem są: model organizacji (CIM) oraz specyfikacja tego co ma powstać (PIM), to drugie to kompletne wymagania. Całość (sformalizowane modele) pozwala na przetestowanie czy tak określone wymagania spełniają potrzeby biznesu.
Wytworzenie oprogramowania polegające na: implementacji modelu PIM, rozwiązaniu problemów technicznych (wymagania niefunkcjonalne) oraz dostarczeniu i wdrożeniu.
Powyższe, tak udokumentowany projekt, pozwala także osiągnąć dodatkową korzyść: “wiedza organizacji” tkwi w modelu PIM i developer nie może jej przejąć bez zgody autora, Analityka Biznesowego i sponsora projektu (prawo autorskie).