Jak zrobić krzywdę firmie? Skopiować w niej model innej firmy, nawet najlepszej. Proponując jakiejkolwiek firmie jakiekolwiek zmiany było by kompletnym brakiem odpowiedzialności bazowanie wyłącznie na wyczuciu, doświadczeniu i dobrych praktykach, bo każda organizacja jest inna: inni ludzie, inna historia rozwoju, inna wewnętrzna kultura zarządzania. Doświadczenia zdobyte w innych firmach to tylko kolejna praktyka. To jak lekarz: każdego pacjenta bada, chce zrozumieć przyczynę choroby zanim postawi diagnozę i zaordynuje kurację. Lekarz, który stawiając diagnozy, ufa tylko temu czego się raz wyuczył jest złym lekarzem, to jak wystawianie recept na życzenie i pod dyktando pacjenta. Więc co robić?
Opiszę najpierw kontekst, pewne aspekty teorii komunikacji by pokazać role informacji w systemie – nie aż tak wielką jak to nie raz można przeczytać, potem wspomnę o spotykanych “ramach i szkieletach” budowania architektury korporacyjnej .
Od pewnego czasu wiem, że “od lat pisze prozą”: tworząc modele organizacji miałem zawsze jeden cel – zrozumieć tę organizację zanim zarekomenduję jakiekolwiek w niej zmiany. Jednak by zrozumieć należy poznać przyczyny obecnego stanu rzeczy. By cokolwiek proponować trzeba umieć przewidzieć skutki. Jak? Trzeba zbudować model danej organizacji. Ta “proza” (czyli coś co robię od dawna, a od nie dawna znam nazwę) to architektura korporacyjna.
Nie raz tu już pisałem, że model organizacji to procesy biznesowe wraz z ich wykonawcami i zasobami oraz ustanowionymi regułami i ograniczeniami. Organizacja to jej cele i to jak je realizuje. Wobec tego nie jest celem posiadania oprogramowania przetwarzanie i składowanie danych, celem jest wspieranie ludzi w ich zadaniach a to nie to samo. Dane i ich przetwarzanie to tylko ślad po tych działaniach. Mało jest danych, mających same w sobie “coś do zrobienia”, takim przypadkiem są np. systemy BI (hurtownie danych i raportowanie). Ale po kolei.
Zaglądamy do słownika j.polskiego PWN:
komunikacja: przekazywanie i odbieranie informacji w bezpośrednim kontakcie z drugą osobą
komunikat: informacja przekazywana w procesie bezpośredniej komunikacji z drugą osobą
znaczenie: treść, której znakiem jest wyraz lub wyrażenie
informacja: wiadomość o czymś lub zakomunikowanie czegoś
Jak widać informacja to treść mająca znaczenie, jej przesyłanie to komunikacja. To także dane przetwarzane przez komputery (a konkretnie przez ich oprogramowanie). O przetwarzaniu możemy mówić w oderwaniu od komputerów, nie zapominajmy, że nasze umysły także przetwarzają dane.
Tak więc człowiek mając jakiś cel, nie raz realizuje go wraz z innymi ludźmi. Aby było to możliwe musi im przekazywać swoje myśli jako cel wykonywanej pracy, np. kolejny krok do wykonania, oczekiwany rezultat i wiele innych swoich myśli (znaczeń).
Prosta prośba o podanie młotka wymaga najpierw wywołania (wskazania) osoby, którą o to prosimy. Należy ją nazwać, w myślach wiemy kogo chcemy poprosić, nie mogąc go dotknąć (szarpnąć za rękaw “ej Ty…”) musimy naszą myśl ubrać w unikalną nazwę (np. imię i nazwisko), użyć słów niosących to znaczenie, zrozumiałych przez odbiorcę tego komunikatu, który u wołanego odtworzy, w jego umyśle utworzy myśl, to co chcieliśmy mu przekazać.
Zwracam uwagę, że celem komunikacji nigdy nie są komunikaty jako takie, a osiągane efekty (wiemy o tym doskonale podczas nieporozumień). Możliwe jest, że będziemy chcieli jakieś komunikaty utrwalić, wtedy znaczenia należy zamienić na znaki, a te utrwalić. To pozwoli adresatowi (patrzącemu na te znaki) odebrać nasz komunikat mimo naszej nieobecności w tym miejscu i czasie (o… przecież tak “działają” książki :)). Tak więc ludzie wykonują jakieś zadania, współpracując poprzez zlecanie sobie zadań: komunikują się.
Ciekawe jest to, że paradygmat obiektowy ma wiele wspólnego z teorią komunikacji (jej malutki fragment, ideę, właśnie poznaliście).
Paradygmat obiektowy to najogólniej koncepcja mówiąca, że system to zespół komunikujących się obiektów w celu realizacji określonych zadań. Takie elementy jak abstrakcja, hermetyzacja, polimorfizm i dziedziczenie to już implementacja (tu wykorzystanie) pojęć z dziedziny teorii poznania i lingwistyki, bo tam jest mowa o takim pojęciu jak klasa (klasyfikator) oraz jego cechach, w szczególności dziedziczeniu i uogólnianiu (znaczeń). (przypomnę, że pojęcie system nie jest pojęciem informatycznym).
Pamiętajmy więc, że komunikat jest środkiem osiągania celu jakim jest osiągnięcie oczekiwanego rezultatu w kontakcie z innymi ludźmi. Komunikacja, składowanie danych itp. samo w sobie bardzo rzadko jest celem. Obiekty, w oprogramowaniu projektowanym zgodnie z obiektowym paradygmatem, komunikują się by zrealizować zadanie. Organizacja to także system obiektowy w tej konwencji.
Tak więc wiemy już, że organizacja to działania dla jakich powstała. Składa się z ludzi, narzędzi ich wspierających ale także z opisu tego do czego powstała, treści stanowiących opis tego, w tym jak działać. Celem istnienia organizacji są jej produkty a nie informacje jakie przetwarza, te są jedynie środkiem, narzędziem osiągania celu: są wtórne wobec powyższego celu.
Przypomne jeszcze znowu definicje pojęcia system:
System (stgr. ??????? systema ? rzecz złożona) ? obiekt fizyczny lub abstrakcyjny, w którym można wyodrębnić zespół lub zespoły elementów wzajemnie powiązanych w układy, realizujących jako całość funkcję nadrzędną lub zbiór takich funkcji (funkcjonalność). Z uwagi na fakt, że wyodrębnienie wszystkich elementów przynależących do systemu bywa w praktyce niekiedy bardzo trudne, dlatego do badania systemów wykorzystuje się ich uproszczone modele. Elementy przynależące do jednego systemu nie mogą jednak stanowić jednocześnie elementów przynależnych do innego systemu. (cytat WIKI)
Jeden etap wywodów za nami.
A teraz popatrzmy na tę definicję:
Architektura korporacyjna (Enterprise Architecture) ? jest to opis struktury i funkcji komponentów organizacji (takich jak: strategia, procesy biznesowe, jednostki organizacyjne, zasoby danych, systemy informatyczne oraz infrastruktura teleinformatyczna), wzajemnych powiązań pomiędzy tymi komponentami oraz pryncypiów i wytycznych zarządzających ich tworzeniem i rozwojem w czasie. (źr. dr hab. Andrzej Sobczak, http://architekturakorporacyjna.pl/)
Jak widać, jest to niemalże “parafraza” definicji pojęcia system, owe jednostki organizacyjne, zasoby danych itp. to konkretne elementy (obiekty, komponenty) systemu jakim tu jest organizacja.
Troszkę mnie “dziwi” zrównywanie tych wszystkich pojęć: “strategia, procesy biznesowe, jednostki organizacyjne, zasoby danych, systemy informatyczne oraz infrastruktura teleinformatyczna”. Osobiście stoję na stanowisku, że istnieje omawiana wcześniej hierarchia: cel, ludzie go realizujący oraz narzędzia tych ludzi. Oprogramowanie to między innymi te narzędzia. Powyższa definicja mówi czym jest architektura korporacyjna. Pozostaje mieć jakiś system formalizujący elementy tej definicji.
Niewątpliwie potrzebny jest model o jakim wspomniałem na początku: by przewidywać zachowania organizacji należy zrozumieć mechanizm jej działania. Teraz ciekawostka:
mechanizm: 1. zespół współpracujących ze sobą części maszyny lub przyrządu, wykonujących jakąś pracę, 2. sposób, w jaki coś powstaje, przebiega lub działa.
Tak więc model opisuje (wyjaśnia) mechanizm działania, tu organizacji (firmy). Bez niego nie można przewidywać, z akceptowalnym prawdopodobieństwem, zachowania się organizacji po wprowadzaniu jakichkolwiek zmian. Jak wspomniałem na początku, przewidywanie bazujące wyłącznie na wiedzy historycznej (co się działo ostatnim razem w podobnych warunkach) to niestety wróżenie z fusów – trendy to nic innego jak ocena tego z jakim prawdopodobieństwem powtórzy się historia. Ta metoda nie da nigdy wyniku w postaci czegoś nowego (literatura: metody indukcyjne).
Modelowaniem (dokumentowaniem) tych wszystkich omówionych aspektów zajmuje się własnie architektura korporacyjna. Mamy wiele metod jej opisu. Najczęściej można spotkać się z Siatka Zachmana i TOGAF’em. Jednak to nie jedyne metody. Z uwagi na to, że stanowią rodzaj opis koncepcji i pewien system pojęć (słownik, to nie notacje) same z siebie nie stanowię formalizmu (formalizmami są notacje takie jak np. UML, BPMN, BMM, ArchiMate).
Wpadła mi niedawno w ręce książka: How to survive in the jungle of Enterpice Architecture Frameworks (autor Jaap Schekkerman, na Amazon.com dostępny fragment w tym spis treści).
Dla mnie po lekturze tej książki nasuwa się jeden wniosek: moda na TOGAF to marketing prowadzony przez The Open Group. Są inne, moim zdaniem ani gorsze ani lepsze, “ramy” architektoniczne (książka opisuje także inne). Podtytuł książki wiele mówi: Creating or choosing an Enterprise Architecture Framework (Tworzenie lub wybór ram architektury korporacyjnej). W zasadzie wystarczy wziąć przytaczaną powyżej definicję AE i podjąć powyższą decyzję: stworzyć lub wybrać. Nie jest to – tworzenie – łatwe, większość więc wybiera gotowe, jednak to jedynie ramy dlatego i tak nie da się tu niczego zastosować jak recepty.
Recepty nie ma…a architektura to modele, te trzeba utworzyć a najpierw przeanalizować organizację: to analiza biznesowa. Zaryzykuję tezę, że
każdy projekt IT powinien się zaczynać od analizy i opracowania kompletnego modelu organizacji (lub skorzystania z wcześniej opracowanego). Bez tego zarówno wymagania jak i ocena tego co chcemy osiągnąć to dzieło przypadku, co statystyki zdają się potwierdzać.
Uważam, że architektura korporacyjna to opis organizacji, a nie coś co trzeba stworzyć. Tworzenie modeli organizacji nie tworzy tych organizacji a jedynie je opisuje. Odrębną kwestią jest ocena tego co zobaczymy i tego na ile te organizacje można optymalizować.
Co do pojęcia Architektura Korporacyjna, nabieram przekonania, że to “po prostu” pewna (organizacyjna, biznesowa) specjalizacja pojęcia System. Powyższą książkę gorąco polecam, jako źródło wiedzy o tym, że takich ram jest wiele, o tym czym one są, jakie mają wspólne cechy i czym się różnią.