Wprowadzenie
Podstawowe pojęcie w obszarze profesjonalnych analiz i projektowania to stosowane w nauce pojęcie “mechanizm” . Po co i kiedy używamy tego pojęcia? “Mechanizmów poszukuje się w celu wyjaśnienia, jak powstaje jakieś zjawisko lub jak działa jakiś istotny proces.” . Innymi słowy analizując lub projektując systemy, odpowiednio odkrywamy lub projektujemy mechanizmy ich działania. Ważna uwaga: system to nie tylko “system informatyczny”, systemem jest każde urządzenie, każda organizacja, każde państwo. To co nazywamy “systemem informatycznym”, bardzo rzadko jest samodzielnym systemem.
Kluczowym etapem analizowania lub projektowania systemu jest zrozumienie i ustalenie, czym ten system jest, gdzie są jego granice, oraz na co i jak reaguje. System informatyczny z zasady jest jedynie podsystemem organizacji, która go używa. Dlatego można analizować organizację pomijając system informatyczny (Computation Independent Model), ale nie można zaprojektować systemu informatycznego nie mając poprawnego modelu organizacji w jakiej będzie używany.
Rynek
Bardzo popularną metodą prowadzenia analiz są spotkania, wywiady i warsztaty. Czy to skuteczne? Wywiady i warsztaty z pracownikami badanej organizacji dadzą informacje o tym, jak oni sobie wyobrażają to co robią, z naciskiem na sytuacje wyjątkowe (incydenty), bo te dłużej zapadają w pamięć.
Wykazano, że wynikiem takiej analizy są jedynie niekompletne i niespójne zapisane wyobrażenia, nie raz bardzo dalekie od rzeczywistości . Taki model z zasady jest zły, a na jego podstawie nie da się zaprojektować i skutecznie wdrożyć, adekwatnego do potrzeb organizacji, systemu ERP.
Więc jak inaczej? Oprzeć się na faktach, “dowodach rzeczowych” jakimi są tu dokumenty operacyjne. To analiza treści dokumentów, a nie rozmowy, da obraz tego jak organizacja działa na prawdę. Praktyka pokazuje, że nie jest też prawdą, że organizacje tych dokumentów nie mają lub mają ich mało… (bo co więc mają w swoich wielkich szafach, szufladach i na dyskach komputerów?)
Modelowanie polega na abstrahowaniu od określonych szczegółów i stworzeniu idealizacji tak, by skupić się na istocie danej rzeczy. Dobry model opisuje wyłącznie mechanizm, gdyż sam zapis obserwowalnych zmian stanów ?maszyny? nie jest modelem jej działania.
Dlatego w toku analizy stosuję znane i stosowane metody oparte na faktach oraz modele opracowane naukowymi metodami .
Metodyka pracy
“Samo to, że nauczymy się kogoś naśladować nie wystarczy, aby skutecznie działać trzeba zrozumieć mechanizm tego działania. Zrozumieć zaś oznacza umieć narysować? .”
Często można spotkać oferty stosowania autorskiej metodyki wraz z tezą, że jest lepsza i skuteczniejsza o znanych standardów. Trudno obronić taką tezę. Stosowanie autorskich metod analiz i modelowania to odcinanie się od porównań, standardów i całkowite uzależnianie się od ich autora. Uważam, że to nieuczciwe, dlatego metody i narzędzia pracy jakie stosuję, to nie jest “moja metodyka”, to zestaw standardowych, znanych, dostępnych i skutecznych narzędzi. Moim wkładem jest tu ich dobór i uporządkowanie. Pełny opis jest dostępny w recenzowanej publikacji naukowej: Synthesis of MOF, MDA, PIM, MVC, and BCE Notations and Patterns .
Celowo opracowałem powyższą standaryzację jako publikacją naukową, by poddać ją ostrej krytyce innych (IGI Global ma potrójny system recenzowania publikacji). Publikacja ta stała się nawet elementem oficjalnego słownika pojęć metodycznych: https://www.igi-global.com/dictionary/computation-independent-model/44607.
Kolejnym, po metodach, istotnym elementem analiz i projektowania systemów jest architektura informacji. Architektura informacji jest mózgiem i centralnym układem nerwowym każdej dużej organizacji. Choć jest to prawdopodobnie najważniejsza część ekosystemu organizacji, architektura informacji jest jedną z najtrudniejszych do zrozumienia dla ogółu populacji, ze względu na potrzebę dogłębnego zrozumienia biznesu, a także szerokiej gamy obszarów specjalizacji IT obejmujących architekturę danych, dane referencyjne, dane podstawowe, zarządzanie danymi, zarządzanie danymi, odkrywanie danych, dane w ruchu oraz szereg powiązanych dyscyplin .
Dlatego uzupełnieniem jest kolejna moja recenzowana publikacja: Digital Documents as Data Carriers and a Method of Data Management Guaranteeing the Unambiguity of the Recorded Information: Ontology-Oriented Data Management and Document Databases .
Celem moim jest zapewnienie moim klientom maksymalnego bezpieczeństwa, jakości i niezależności. Dzięki standaryzacji, moi klienci dostają dokumenty zrozumiałe dla innych, nie są uzależnieni ode mnie. Jeżeli wyrażą taką wolę, mogą sami kontynuować dalsze prace nad aktualizacją przekazanej im dokumentacji.
Orientacja na fakty
Kluczowym problemem analiz jest zapewnienie ich obiektywizmu. Dlatego podstawowym materiałem są dokumenty operacyjne takie jak pisma klientów, oferty, faktury, zamówienia, umowy, zarządzenia. Ich uzupełnieniem są obowiązujące akty prawne dotyczące obszaru realizowanej analizy. Razem stanowią one tak zwane artefakty (artifact-centric paradigm, ). Zawierają one efekty pracy ludzi, informacje jakich potrzebują i jakie tworzą, także wszelkie istotne regulacje. To są fakty z życia organizacji. Badanie dokumentów, to najskuteczniejsza obecnie metoda analizy . Praca w oparciu o takie dokumenty pozwala także na przeprowadzenie projektu analitycznego w 100% zdalnie.
“Każda firma, niezależnie od tego, jakie fizyczne towary lub usługi wytwarza, opiera się na dokumentacji handlowej. Musi ona zapisywać szczegóły tego, co wytwarza w postaci konkretnych informacji. Artefakty biznesowe są mechanizmem zapisu tych informacji w jednostkach, które są konkretne, identyfikowalne, samoopisujące się i niepodzielne.”
https://ieeexplore.ieee.org/abstract/document/5386806
“W ciągu ostatnich kilku lat, coraz większe wymagania stawiane są efektywnym podejściom do projektowania, modelowania i wdrażania międzyorganizacyjnych procesów biznesowych. W procesie współpracy ponad granicami organizacyjnymi, organizacje nadal pozostają autonomiczne, co oznacza, że każda z nich może dowolnie modyfikować swoje wewnętrzne operacje, aby osiągnąć swoje prywatne cele, jednocześnie spełniając wzajemne cele swoich partnerów. Ostatnio udowodniono, że modelowanie procesów skoncentrowane na artefaktach zapewnia większą elastyczność w modelowaniu i realizacji procesów niż tradycyjne metody modelowania skoncentrowane na działaniach.”
https://www.sciencedirect.com/science/article/abs/pii/S0306437914001264
Dlatego od wielu lat z powodzeniem stosuję metody prowadzenia audytu i analizy oparte na dowodach (artifact-centric paradigm, evidence-based analysis), są to także w inżynierii oprogramowania, metody opierające się przede wszystkim na faktach, wywiady są jedynie ewentualnym uzupełnieniem .
Idealizacja
Modelowanie polega na abstrahowaniu od szczegółów i stworzeniu idealizacji tak, by skupić się na istocie danej rzeczy. Dobry model opisuje wyłącznie mechanizm. (Craver & Tabery, 2019)
Nadal bardzo często spotykam się z oczekiwaniem tworzenia modeli as-is i to-be. Ma to pomóc podjąć decyzję o planowanych zmianach. Tworzenie dwóch modeli to dodatkowa praca i czas. Detaliczna analiza stanu obecnego, tylko po to by zdecydować czego zaniechać to dodatkowa praca, zaś decydowanie “dzisiaj” o tym czego nie chcemy “jutro”, jest przysłowiowym “wróżeniem z fusów”. To typowe, od lat krytykowane, podejście zwane “water-fall”.
Modele – narzędzie a nie cel
“Podstawowym celem modelowania jest danie sobie okazji do myślenia przed podjęciem działania” (Scott Ambler)
Czasy obecne to zmiany na rynku zachodzące w skali miesiąca a nie dekady. Oznacza to, że analiza, bez względu na wielkość projektu, powinna trwać co najwyżej kwartał a dalszy ciąg projektu to cykl życia systemu zamiast wymagań. Rozwiązaniem problemu ograniczonego czasu jest skupienie się na audycie organizacji, którego celem jest opracowanie jej idealizacji czyli wizji przyszłego jej idealnego funkcjonowania. W efekcie mamy ściśle wyznaczony kierunek rozwoju i wdrażania nowych technologii, np. informatycznych, i nie tracimy czasu na dokumentowanie tego co zostanie odrzucone. Dokumentujemy na bieżąco tylko co co przybliża nas do celu .
Notacje
“Do korekty możesz użyć gumki na etapie modelowania, lub młota kowalskiego na etapie budowania”. Frank Lloyd Wright (parafraza)
Dość powszechne w firmach, używanie licencjonowanych lub opatentowanych metod pracy i narzędzi powoduje, że beneficjent takiej usługi staje się niewolnikiem usługodawcy. Jeżeli metody pracy są dodatkowo utrzymywane w tajemnicy jako tajemnica usługodawcy, nie jest możliwe sprawdzenie czy usługa została wykonana należycie.
Dlatego wykorzystuję wyłącznie otwarte standardy i notacje oraz metody nie wymagające opłat licencyjnych. Dzięki czemu dokumenty, które przekazuję jako produkty swojej pracy, są w 100% możliwe do dalszego, samodzielnego użytku. Są to w szczególności (skróty wyjaśnione w słowniku): MDA. MOF, UML, BPMN, SBVR. BMM, SysML.
W artykule Metoda naukowa w analizie biznesowej w 2011 roku opisałem czym jest metoda naukowa. Poniżej usystematyzowany opis sposobu prowadzenia audytów i analiz uzupełniony literaturą źródłową.
Fundamentem metod jakie stosuję są modele: proste, skomentowane ale sformalizowane schematy blokowe, zrozumiałe dla adresata. W efekcie analiza i komunikacja polega na: pozyskiwaniu materiałów o organizacji analizowanej, tworzeniu modeli opisujących tę organizację, oraz recenzowaniu ich przez osoby z analizowanej organizacji. Jest to skuteczna metoda analizy i modelowania działania organizacji .
[Jeżeli interesuje Cię mniej techniczny a bardziej biznesowy opis, przejdź teraz na stronę: Analiza, wymagania i usprawnianie organizacji.]
Analiza systemowa
Podstawowe pytania w analizie systemowej to: “jak jest i dlaczego jest tak jak jest” oraz “jak powinno być i co należy uczynić, aby było tak jak być powinno” , modelowanie zaś to narzędzie a nie cel .
Czym jest?
Analiza systemowa- jest to jawne i formalne badanie wspomagające działanie osób odpowiedzialnych za podejmowane decyzje lub linię postępowania, w ściśle określonej sytuacji charakteryzującej się niepewnością. Jej celem jest określenie pożądanych działań lub linii postępowania poprzez stworzenie i rozważenie dostępnych wariantów, jak także porównanie ich przewidywanych następstw.
(na podst.: )
Tak więc jets to pewne określone podejście do podejmowania decyzji. Takimi decyzjami są np. zmiany w organizacji, a wdrożenie nowych lub zmienionych procesów biznesowych czy też nowego oprogramowania jest taką zmianą. Jednak:
Celem analiz systemowych nie jest tworzenie ogromnej i kosztownej dokumentacji, jest nim tworzenie modeli i opracowanie rekomendacji w postaci możliwie zwięzłego opracowania.
Analiza systemowa organizacji nie powinna się opierać na subiektywnych relacjach jej pracowników, powinna być oparta w 100% na faktach . Dlatego stosuję metody bazujące całkowicie na dostarczanych dokumentach i autoryzowanych opisach, wywiady są jedynie ewentualnym uzupełnieniem tak pozyskanej wiedzy. Cała analiza oparta jest na kolekcjonowaniu faktów (prawo, regulaminy wewnętrzne, dokumenty operacyjne i ich szablony, wyniki audytów technicznych i ekspertyz, przekazywane przez zamawiającego w formie pisemnej). . Tak przeprowadzona analiza i jej efekty, są w maksymalnie możliwym stopniu obiektywne i wolne od subiektywnych ocen pracowników organizacji analizowanej.
Standardowa procedura przeprowadzenia analizy systemowej wygląda jak poniżej:
Jedną z możliwych rekomendacji może być opis rozwiązania w postaci oprogramowania, wyrażone jako jego projekt (patrz: wymagania na oprogramowanie).
Modele pojęciowe
Pierwszym i kluczowym etapem pracy jest analiza pojęciowa dziedziny problemu. Tworzenie modeli pojęciowych jest podstawowym etapem badania spójności treści i wyników każdej analizy i opisu rozwiązania. Model pojęciowy (przestrzeń pojęciowa, ang. namespace) to słownik kluczowych pojęć badanej dziedziny oraz wrażona graficznie ich struktura, obrazująca związki między tymi pojęciami: taksonomia i związki syntaktyczne, pozwalająca zagwarantować spójność i niesprzeczność nazewnictwa zastosowanego w toku analizy i dokumentowania jej wyników. . Proces analizy pojęciowej opisuje . poniższy diagram :
Kluczowe etapy analizy i usprawnienia organizacji
Określenie problemu
Pierwszym etapem jest sformułowanie problemu badawczego czyli określenie przyczyny i celu prowadzenia analizy. W sformalizowanej formie, także graficznej efekty tego etapu są dokumentowane jako Model Motywacji Biznesowej . Kluczowymi elementami tego modelu są wizja i misja firmy oraz strategia i cele biznesowe wyrażone określoną wartością i jej miarą.
Opracowanie modelu informacyjnego organizacji
Jakiekolwiek rekomendacje, jeżeli mają być świadome i poparte dowodem ich poprawności, muszą być poprzedzone zrozumieniem i udokumentowaniem mechanizmu działania organizacji.
Do opisu mechanizmu działania organizacji stosujemy sformalizowane modele wyrażone jako Architektura Biznesowa (modele procesów biznesowych, reguły biznesowe, modele infrastruktury IT i mapowanie procesów na oprogramowanie, struktury dokumentów w procesach). .
Model procesów biznesowych pokazuje, jakie zadania są wykonywane w ramach procesów i w jakiej kolejności, oraz produkty tych zadań. Zawiera informacje na temat ich wykonawców, dokumentów wykorzystywanych i tworzonych w ramach procesu, ich treści, zasobów niezbędnych do realizacji procesu (w tym systemów IT), może zawierać opisy wskaźników KPI (Key Performance Indicators) . (opis tego etapu w dokumencie Analiza i opracowanie architektury biznesowej).
Wszystkie elementy modelu organizacji powstają i są kontrolowane, jednocześnie, gdyż zbierane materiały źródłowe rzadko kiedy są uporządkowane. Kolejne, iteracyjnie uzgadniane, wersje prowadzą do powstania ostatecznego Raportu z Analizy zawierającego opis organizacji od ogółu do szczegółu j.w. oraz wymagania na rekomendowane rozwiązanie.
Opracowanie modelu informatycznego i projektowanie rozwiązania
Na bazie powstałej Architektury Biznesowej, opracowywane są rekomendacje do zmian wyrażone jako projekt rozwiązania (architektura systemu i realizowana logika biznesowa), stanowią wymagania dla dostawcy rozwiązania (patrz opis: Wymagania na oprogramowanie). .
Tworzenie kodu dla systemów intensywnie wykorzystujących oprogramowanie obejmuje wiele poziomów abstrakcji, prowadzących od wymagań do kodu. Posiadanie abstrakcyjnych koncepcji modelowania dostępnych jako wysokopoziomowe konstrukcje programistyczne pomaga zdefiniować kod i upewnić się, że kiedy system działa z oprogramowaniem wykonywanym przez maszyny, komponenty oprogramowania zachowują się w oczekiwany sposób. Wyjaśniamy w tym artykule, że mimo to pozostaje luka, której nie można wypełnić zwykłymi metodami programowania, ale którą można wypełnić, jeśli programowanie jest wspierane przez odpowiednie ramy modelowania (metodę projektowania i analizy oraz język).
Realizacja
Po zawarciu umowy z dostawcą rozwiązania, wspieram organizację prowadząc nadzór autorski, który polega na bieżącym aktualizowaniu dokumentacji opisującej model organizacji i rozwiązania. W dniu zakończenia wdrożenia stanowi on aktualną dokumentację uzyskanego efektu.
Dodatek:
Dlaczego metody naukowe?
Celem nauki jest obserwacja faktów i zrozumienie mechanizmu ich powstawania, celem inżynierii jest tworzenie konstrukcji wykorzystujących odkryte mechanizmy
Opisany powyżej proces to klasyczna analiza systemowa . Jest to zastosowanie zasad nauki do projektów biznesowych.
Analiza systemowa to proces naukowy, oparty na analizie faktów, stosowany w projektach o podwyższonym ryzyku (a projekty informatyczne do takich należą, ponad 70% tych projektów to niestety projekty nieudane). Podejście systemowe wymusza systematyczną i logiczną analizę realizowanych przez przedsiębiorstwo działań, stosując oparte na modelach podejście, pozwala zrozumieć stan obecny i jego przyczyny. Dzięki temu wyniki analiz systemowych są obiektywne.
Nauka to nie tylko, encyklopedyczne gromadzenie wiedzy, to metodyczne badania dziedziny, będącej przedmiotem zainteresowania.
Bardzo wiele książek zaliczanych do opracowań naukowych, powołuje się w pierwszych rozdziałach na znaczenia pojęć, gdzie zwraca się uwagę na to, że nauka to badania dążące do odkrywania praw, zaś inżynieria to tworzenie (rozwiązań) na bazie wiedzy o tych prawach.
W toku pracy badawczej określane są warianty (scenariusze) rozwiązania problemu. Aby wskazać (zarekomendować) wybrany wariant, opracowywany jest model organizacji (model jest testowany na zgodność z faktami). Na bazie modelu prowadzone są analizy wariantów, na bazie wyników tych analiz powstają rekomendacje. Mogą nimi być: zalecenia reorganizacji, zalecenia wdrożenia nowych technologii, wymagania na rekomendowane rozwiązanie informatyczne, itp. Wynik analizy ma postać opracowania naukowego: streszczenie, wprowadzenie (opis problemu), użyte metody, opis rezultatów, opis procesu ich powstawania, bibliografia.
(więcej o metodzie naukowej z artykule: Metoda naukowa w analizie biznesowej)
Modele, modelowanie i perspektywy
Proces analizy i modelowania jest znacznie mniej kosztowny, w porównaniu z metodami opartymi na “praktyce”, czyli prototypowaniu decyzji we własnej organizacji.
Projektowanie to proces prowadzący od sformułowania problemu do powstania wdrożenia rozwiązania:
Orientacja na modele (Model Driven Engineering, ) pozwala zarządzać złożonością projektów, panować nad ich zakresem, a kolejne fazy, będąc wynikiem śladowania czyli wywodzenia jednym modeli z drugich (transformacje) pozwalają stale testować poprawność koncepcji całego rozwiązania i projektu .
Standardowo stosuję notacje BMM, BPMN, SBVR i UML . Kluczowy etap to opracowanie przestrzeni pojęciowej (namespace) czyli dziedzinowego słownika pojęć. Na jego podstawie tworzony jest profil pojęciowy dla wszystkich schematów blokowych. Następnie tworzone sa modele opisujące działanie analizowanego i projektowanego systemu – wyrażone jako schematy blokowe i scenariusze testujące opracowane modele.
Istotnym elementem modelowanych organizacji są dokumenty: ich struktury i zawartość oraz reguły kontroli poprawności (system informacyjny organizacji). Obecnie są one z zasady są modelowane jako struktury XML.
Większość organizacji to złożone systemy ludzi i informacji mające stałe interakcje z otoczeniem. Są to więc także bardzo złożone modele (wiele elementów i wiele połączeń między nimi). Budowanie wielkich i szczegółowych schematów blokowych jest nieefektywne komunikacyjnie: ich zrozumienie jest trudne a dla większości ludzi po protu niemożliwe. Dlatego dokumentacje systemu opracowuje się jako zestaw wielu relatywnie prostych diagramów, stanowiących tak zwane perspektywy, czyli proste opisy ukierunkowane na jeden określony kontekst:
Poniżej prosty diagram, który obrazuje opisane podejście jako całość:
Analiza systemowa organizacji to proces prowadzący do zrozumienia tego jak działa analizowana organizacja. Powstały w toku tej analizy model opisujący tę organizację, to teoria wyjaśniająca zachowanie się organizacji i to jak ona na prawdę funkcjonuje. Mając taki model można przewidywać skutki planowanych zmian.
Można to podsumować tak:
Na zakończenie…
Zachęcam także to lektury:
Jaroslaw Zelinski. (3023, October 21). Metody [Professional Blog]. LinkedIn Blog. https://www.linkedin.com/pulse/metody-jaroslaw-zelinski-fru7e%3FtrackingId=11%252BHhe6oRsaJTiMo3ki33A%253D%253D/?trackingId=11%2BHhe6oRsaJTiMo3ki33A%3D%3D
Źródła
Aktualizacja: [last-modified]