poniedziałek, 23 stycznia 2017

Czy architektura korporacyjna jest potrzebna?

Minął już ponad rok od mojego ostatniego postu tutaj. Długo już nic nie napisałem. Ale chciałbym się usprawiedliwić - to wszystko przez architekturę...

Mniej więcej w marcu 2015 roku wpadłem na pomysł, że napiszę artykuł pt. „O istocie architektury”. Zacząłem go więc pisać: pisałem, pisałem, pisałem, … i utknąłem. Po napisaniu kilkunastu stronu stwierdziłem, że do sedna sprawy nawet się nie przybliżyłem a dodatku wciąż pojawiały się nowe aspekty. Później próbowałem ten artykuł dokończy jeszcze kilka razy, ale z podobnym skutkiem. Także na zdefiniowanie sedna architektury korporacyjnej muszę jeszcze poczekać – okazuje się bowiem, że to nie jest takie proste.

Zamiast więc pisać o tym, co to jest architektura, postanowiłem ponownie odpowiedzieć na pytanie, czy architektura korporacyjna jest potrzebna.

Czy architektura korporacyjna jest potrzebna?

Na pytanie o potrzebę posiadania architektury korporacyjnej próbowałem odpowiedzieć po raz pierwszy w październiku 2013. Opisałem wtedy model Niemanna obrazujący zależność potrzeby posiadania architektury korporacyjnej od cech organizacji.

Źródło: K.D. Niemann, From Enterprise Architecture to IT Governance, Elements of Effective IT Management, Vieweg, Wiesbaden, 2006.

Z modelu Niemanna wynika, że architektura korporacyjna nie jest potrzebna w organizacjach o niskiej zmienności. Jej potrzeba pojawia się wtedy im organizacja jest bardziej złożona lub im bardziej zmienna.

Dzisiaj, będąc o 3 lata mądrzejszy, twierdzę jednak, że pytanie, czy architektura korporacyjna jest potrzebna, czy nie, jest źle postawionym pytaniem. A dokładniej: jest pytaniem nie wystarczająco precyzyjnym, bo – jak się okazuje – pod pojęciem „architektura korporacyjna” można rozumieć różne rzeczy.

Trzy ujęcia architektury korporacyjnej

W swojej książce pt. „Architektura korporacyjna - Aspekty teoretyczne i wybrane zastosowania praktyczne” Prof. Andrzej Sobczak zauważa, że termin „architektura korporacyjna” jest rozumiany wieloznacznie. Prof. Sobczak wyróżnia trzy znaczenia tego terminu:
  1. Ujęcie czynnościowe: architektura korporacyjna, to dyscyplina, praktyka albo działalność w zakresie definiowania, reprezentacji i zarządzania kluczowymi właściwościami korporacji (zarządzanie).
  2. Ujęcie rzeczowe: architektura korporacyjna, to formalny opis struktury i funkcji komponentów korporacji, wzajemnych powiązań między tymi komponentami oraz pryncypiów i wytycznych zarządzających ich tworzeniem i rozwojem (modele).
  3. Ujęcie atrybutowe: architektura korporacyjna, to zbiór właściwości danej organizacji i relacji między nimi, które stanowią o zdolności do realizacji jej misji oraz celów strategicznych (logika „ułożenia” komponentów organizacji). Taka architektura istnieje zawsze. Nie jest opcjonalna.

Architektura korporacyjna jest zawsze

Architektura korporacyjna rozumiana jako logika „ułożenia” komponentów organizacji (ujęcie atrybutowe) zawsze jest. Gdziekolwiek spotyka się grupa ludzi, których łączy realizowanie jakiejś misji i osiąganie wspólnych celów (enterprise), tam pojawia się architektura. Do jej stworzenia nie jest potrzebny żaden architekt korporacyjny. Architektura pojawi się z i jak i bez jego pomocy.

Teraz, jeśli się z tym zgadzamy, to lepszym pytaniem będzie: czy chcemy nią zarządzać? Jakie będą korzyści z formalnego zarządzania architekturą korporacyjną zamiast postawienia spraw swojemu biegowi? Jak dobrze i efektywnie chcemy to robić (wymagana dojrzałość)?

To są już kompletnie inne pytania, które mogą pomóc:
  • sponsorom zrozumieć i wyrazić cele, które chcą osiągnąć za pomocą zarządzania architekturą
  • architektom zrozumieć wartość, którą wnoszą do przedsiębiorstwa, zaprojektować metamodel i dobrać odpowiednie narzędzia pracy.

Update: Po co więc zarządzać architekturą korporacyjną?

Wg Wikipedi, zarządzanie, to "sztuka bądź praktyka rozumnego stosowania środków dla osiągnięcia wyznaczonych celów". Zarządzamy projektami, aby zmniejszyć ryzyko nie zmieszczenia się w budżecie, zakresie i czasie przeznaczonymi na wytworzenie produktu końcowego. Z architekturą korproacyjną jest podobnie - zarzamy nią formalnie po to, aby zmniejszyć ryzyko nie zrealizowania celów. Jakich ceów? To już zasadniczo zależy od organizacji, choć w ogólności można powiedzieć, że: takich, których osiągnięcie wymaga spójności zaplanowania i "zgrania" realizacji zmian w zarządzanych domenach architektury (technologi i/lub aplikacji i/lub danych i/lub biznesowej) danego enterprise.


Bibliografia

  • Roger Evernden, Do We Need Enterprise Architecture?, Good e-Learning, 2017.
  • K.D. Niemann, From Enterprise Architecture to IT Governance, Elements of Effective IT Management, Vieweg, Wiesbaden, 2006.
  • Gerben Wierda, Losing a Limpet – What happens when we don’t have Enterprise Architecture?, 2015.
  • Andrzej Sobczak, Architektura korporacyjna - Aspekty teoretyczne i wybrane zastosowania praktyczne, Ośrodek Studów nad Cyfrowym Państwem, 2013.
  • Wikipedia, Zarządzanie, https://pl.wikipedia.org/wiki/Zarządzanie, [2017-01-23].

sobota, 9 maja 2015

O typach strategii i IT - prezentacja

Miałem nie dawno okazję uczestniczyć w warsztacie, na którym dyskutowano kierunek rozwoju środowiska systemów IT zbudowanego dla dużej jednostki biznesowej. W dyskusji i wyborze tego kierunku pomocna okazała się koncepcja typów strategii biznesowych, o której pisałem tutaj i tutaj.

Podczas warsztatu udało się zidentyfikować typ strategii omawianej jednostki. Dzięki temu określono, które elementy środowiska IT są dla jednostki najistotniejsze i jaki zasadami należy się kierować przy planowaniu ich rozwoju.

Na potrzeby ww. warsztatu przygotowałem krótką prezentację zawierającą opis ww. koncepcji. Zapraszam do lektury: http://www.slideshare.net/BogdanGluszkowski/jakie-it-dla-jakich-strategii-biznesowych.

sobota, 11 kwietnia 2015

Model operacyjny - zobaczyć i dotknąć

Koncepcja modelu operacyjnego, o której pisałem tutaj i tutaj (a swego czasu nawet opowiadałem), została opracowana przez badaczy z MIT CISR już 10 lat temu (w 2005 roku). Pomimo to widzę, że wciąż nie jest do końca zrozumiała.

Przygotowałem więc dodatkową prezentację zawierającą przykład transformacji modelu operacyjnego hipotetycznego Banku X, która pozwoli lepiej tę koncepcję zrozumieć. Zapraszam do lektury: http://www.slideshare.net/BogdanGluszkowski/modele-operacyjne-zobaczy-i-dotkn-07.

Jeszcze o Międzynarodowym Forum Badań MIT CISR w Warszawie

W poprzednim moim wpisie przedstawiłem relację z konferencji pt. Międzynarodowe Forum Badań MIT CISR w Warszawie (ang. MIT CISR International Research Forum) (http://bogdangluszkowski.blogspot.com/2015/03/miedzynarodowe-forum-badan-mit-cisr-w.html), która odbyła się dniach 11-12 marca 2015 roku i w której miałem przyjemność uczestniczyć dzięki zaproszeniu od Przewodniczącego MIT CISR, Petera Weilla.

Tym razem zapraszam do lektury wywiadu z Peterem Weillem, którego udzielił on dziennikarzom IT WIZ. W wywiadzie tym Peter Weill rozwija dokładniej koncepcję przedsiębiorstwa następnej generacji, którą przedstawił podczas ww. konferencji w prezentacji p.t. "The Next Generation Enterprise: Consumer Intimacy & Digital Ecosystems". Serdecznie zachęcam do lektury wywiadu: http://itwiz.pl/digital-disruption-od-lancucha-wartosci-ekosystemu-przedsiebiorstw/.

niedziela, 15 marca 2015

Międzynarodowe Forum Badań MIT CISR w Warszawie

W dniach 11-12 marca 2015 roku odbyło się Międzynarodowe Forum Badań MIT CISR  (ang.: MIT CISR International Research Forum). Gospodarzem wydarzenia była firma Orange Polska i miało ono miejsce w Warszawie, w głównej siedzibie firmy. Link do opisu wydarzenia: http://cisr.mit.edu/events/calendar/eur2015/.

MIT CISR (ang. MIT Center for Information Systems Research), to instytut w Szkole Zarządzania MIT (ang. MIT Sloan School of Management), którego misją jest rozwój koncepcji i framework'ów pomagających w adresowaniu wyzwań związanych z zarządzaniem dużymi organizacjami coraz bardziej polegającymi na IT. Prace instytutu są finansowane przez organizacje sponsorujące, z którymi MIT CISR dzieli się wynikami swoich badań m.in. poprzez artykuły i konferencje.

Na tegoroczne Międzynarodowe Forum Badań MIT CISR przyjechali głównie CIO z firm sponsorujących a jego hasłem przewodnim było osiąganie sukcesu w gospodarce cyfrowej. Z kolei ze strony MIT CISR prelegentami konferencji byli Jeanne Ross, Peter Weill oraz Nils Fonstad.

Dzięki zaproszeniu od Petera Weilla miałem niepowtarzalną okazję uczestniczyć w tym wydarzeniu i ogromną przyjemność osobiście porozmawiać z Jeanne Ross i Peterem Weillem, którzy są światowymi autorytetami i badaczami tematu architektury korporacyjnej. To właśnie oni są twórcami takich koncepcji, jak model operacyjny (http://bogdangluszkowski.blogspot.com/2012/10/model-operacyjny.html) czy poziomy dojrzałości architektonicznej (http://bogdangluszkowski.blogspot.com/2012/11/poziomy-dojrzaosci-architektury.html). Dlatego spotkanie z nimi było dla mnie ogromnym przeżyciem.

Spotkanie zostało otwarte przez Prezesa Orange Polska, Bruno Duthoit i miało formę prezentacji wygłaszanych przez prelegentów, przeplatanych:
  • pytaniami ankietowymi do zebranych (wszyscy uczestnicy mieli urządzenia do głosowania)
  • wystąpieniami gości z firm, których doświadczenia prezentowano jako przykłady
  • warsztatami w mniejszych lub większych grupach mającymi na celu albo ustosunkowanie się do przedstawianych wyników badań lub wypracowanie rozwiązania na postawiony w prezentacji problem.

Jeanne Ross: Defining a Digital Strategy

Podczas prezentacji Defining a Digital Strategy, Jeanne Ross stwierdziła, że dostępne dzisiaj technologie SMACIT (social, mobile, analytics, cloud, internet of things) wszystkie razem a nie każda osobno, wpływają na przedsiębiorstwa. Firmy oczekują, że dzięki tym technologiom m.in. wzmocnią lub zbudują trwałą przewagę konkurencyjną. Jednak, żeby te efekty uzyskać, firmy - zamiast budować oddzielne strategie na każdą technologię, powinny nauczyć się budować i realizować zintegrowane, biznesowe strategie cyfrowe. Następnie przedsiębiorstwa powinny nauczyć się określać i budować dwa rodzaje zdolności (ang. capabilities):
  • zdolności nastawione na efektywność (zestandaryzowane procesy i dane; rzadkie zmiany)
  • zdolności nastawione na innowacje (szybkie i częste zmiany).
Jeanne Ross stwierdziła, że kluczową kompetencją przedsiębiorstw stanie się architektura biznesowa, czyli służące konkretnemu celowi (ang. purposful) projektowanie / przeprojektowywanie procesów, struktur, ról i systemów IT tak, aby wytworzyć spójność pomiędzy misją biznesową lub celami firmy i jej zdolnościami biznesowymi (ang. business capabilities). Jednak niespójności na pewno będą się pojawiać, dlatego firmy będą potrzebować nowych metod zarządzania aby sobie z nimi radzić: innych struktur, nowych rodzajów nadzoru i nowych sposobów współpracy wewnątrz firmy.
Na koniec Jeanne Ross przypomniała model poziomów dojrzałości architektonicznej przedsiębiorstw (patrz http://bogdangluszkowski.blogspot.com/2012/11/poziomy-dojrzaosci-architektury.html) i stwierdziła, że o ile w erze przed-cyfrowej, przedsiębiorstwa mogły pokonywać kolejne poziomy dojrzałości architektonicznej w swoim własnym tempie, to era gospodarki cyfrowej powoduje pilną potrzebę dojścia na poziom czwarty. Bo dopiero na poziomie modularności biznesu firma, jako całość, uzyskuje wymaganą zwinność.

Przemyślenia:
  1. w erze cyfrowej zwinność firm, jako całości, stanie się źródłem ich przewagi konkurencyjnej
  2. stopień zwinności firmy jako całości determinowany jest poziomem dojrzałości architektonicznej przedsiębiorstwa, więc:
  • inwestowanie w architekturę firmy jest inwestowaniem w zwinność firmy
  • zarządzanie architekturą korporacyjną jest metodą / sposobem budowy tej zwinności.

Peter Weill: Mobile First? Effectively Engaging Customers with Mobile Apps

W prezentacji Mobile First? Effectively Engaging Customers with Mobile Apps Peter Weill przytoczył badania, z których wynika, że średni amerykański konsument większość swojego czasu korzystania z telefonu komórkowego spędza w aplikacjach. Wniosek – firmy będą musiały te aplikacje budować. Peter Weill przytoczył cztery strategie budowania tych aplikacji (ang. Mobile first,  Brand enhancement, Omni-channel, Targeted segment) oraz przedstawił filary sukcesu ich budowania, jednym z których jest istnienie oraz zasady korzystania z platformy reużywalnych procesów, danych i technologii. Platformy projektowanej i rozwijanej centralnie.

Przemyślenia:
  1. tutaj podobnie, jak w poprzedniej prezentacji pojawia się temat celowej budowy i utrzymania platformy reżywalnych procesów, danych i technologii, której istnienie jest jednym z filarów szybkiego budowania aplikacji mobilnych dla klientów
  2. czyli jeszcze raz odczytuję tutaj tezę, że najważniejszym celem / wartością wnoszoną przez zarządzanie architekturą korporacyjną jest zwiększenie zwinności firmy jako całości.

Nils Fonstad: Meeting the Growing Demand of Digital Leaders

W prezentacji Meeting the Growing Demand of Digital Leaders, Nils Fonstad poruszył kwestię cyfrowego przywództwa w przedsiębiorstwie. Stwierdził, że cyfrowy przywódca jednocześnie realizuje dwa cele: budowa lokalnych rozwiązań oraz synergie ogólnofirmowe.

Przemyślenia:
  • ww. osiąganie synergii ogólnofirmowych jest niczym innym, jak budową ww. platformy reużywalnych procesów, danych i technologii – reużywanych przez lokalne rozwiązania
  • czyli najlepszym wsparciem dla cyfrowych liderów przy projektowaniu, budowaniu i utrzymaniu potencjału ww. platformy będą architekci korporacyjni.

Peter Weill: The Next Generation Enterprise: Consumer Intimacy & Digital Ecosystems

W prezentacji The Next Generation Enterprise: Consumer Intimacy & Digital Ecosystems Peter Weill przedstawił metodę oceny wpływu digitalizacji na firmę. Następnie przedstawił wyniki badań MIT CISR na próbce 105 firm, w śród których ponad połowa oceniła ten wpływ jako bardzo wysoki, nazwany przez badaczy z MIT CISR "czerwoną strefą" (ang. red zone).
W reakcji na to zagrożenie / okazję rynkową firmy ewoluują od bycia dostawcami sprzedającymi przez agentów i nie znających swoich klientów (przykład: P&G) do bycia otwartymi platformami zapewniającymi doskonałe doświadczenia, doskonale znanego im klienta, z łatwym włączaniem produktów firm trzecich, platformami dopasowującymi znane potrzeby klienta ze znanymi i odpowiednimi dostawcami (przykłady: Amazon, Aetna).
Z badań MIT CISR wynika, że model platformowy jest najbardziej opłacalny (największy wzrost przychodów, największa rentowność netto). Jednak model ten stawia przedsiębiorstwom największe wymagania na zwinność. Dlatego tak trudno go zbudować - wg badań częściej udaje się małym firmom, dużym rzadziej.

Przemyślenia:
  1. model platformowy kojarzy mi się z konfiguracją sieci wartości, którą opisywałem tutaj: http://bogdangluszkowski.blogspot.com/2013/10/konfiguracja-wartosci-czyli-co-telekomy.html
  2. zarządzanie architekturą korporacyjną będzie najważniejszą umiejętnością przyszłych przedsiębiorstw, decydującą o uzyskaniu i utrzymaniu ich przewagi konkurencyjnej, gdyż:
  • model platformowy jest najskuteczniejszą odpowiedzią firm na cyfrową gospodarkę
  • stawia on jednak przedsiębiorstwom największe wymagania na zwinność (zbudowanie i utrzymanie)
  • więc wysoki poziom zwinności staje się elementem przewagi konkurencyjnej
  • więc zarządzanie architekturą korporacyjną, jako metoda budowy i utrzymania tej zwinności, będzie narzędziem uzyskiwania tej przewagi.


Jeanne Ross: Beyond Governance: How Top Performers Shape IT Demand

W prezentacji Beyond Governance: How Top Performers Shape IT Demand Jeanne Ross postawiła tezę, że jakość portfela inwestycji IT wpływa na wydajność finansową przedsiębiorstwa oraz wymieniła cztery cechy portfela dobrej jakości: 1) zawiera tylko przedsięwzięcia absolutelly must do, 2) tylko z absorbowalną zmianą biznesową, 3) buduje reużywalne zdolności IT lub biznesowe (ang. capabilities) 4) inteligentnie ułożone w czasie. Następnie stwierdziła, że jakość portfela inwestycji w IT zależy od jakości „konwersacji” na temat IT wewnątrz firmy, którą wspierają trzy rzeczy: 1) zrozumienie IT przez kierownictwo firmy, 2) ład IT zawierający decyzje o tym, które procesy i dane będą standaryzowane oraz 3) praktyki kształtowania popytu. Z tych ostatnich najskuteczniejsze, to: transparentność kosztów, roadmapowanie, zarządzanie relacjami biznes-IT, metodyki zwinne, poimplementacyjne oceny wartości oraz zarządzanie programami strategicznymi. Te ostatnie, aby poprawiało jakość konwersacji na temat IT, powinno polegać na:
  • zidentyfikowaniu skończonej liczby celów strategicznych
  • przypisaniu lidera programu zarządzającego wszystkimi projektami związanymi z danym celem
  • przypisaniu do liderów odpowiedzialności zdefiniowania krytycznych zdolności koniecznych do realizacji danego celu
  • uprawnieniu liderów programów do przesuwania funduszy pomiędzy projektami w celu uwzględnienia zmieniającej się rzeczywistości

Zwróciłem uwagę na następującą rzecz: w zarządzaniu programami strategicznymi, które wspiera konwersację na temat IT, wymagania na (reużywalne) zdolności, czyli wymagania na sposób realizacji strategicznego celu biznesowego, nie są definiowane w poszczególnych projektach - są definiowane przed nimi, w ramach / na rzecz realizacji danego strategicznego celu biznesowego. To wyniesienie decyzji co do sposobu realizacji celu strategicznego z projektów "przed nawias" jest dokładnie tym, czym jest zarządzanie architekturą korporacyjną i jest to dokładnie odwrotnie, niż powszechna praktyka kaskadowania celów do projektów, które same decydują o sposobie ich realizacji.

Nils Fonstad: Building Business Agility: From Silos to Synergies

W prezentacji Building Business Agility: From Silos to Synergies, Nils Fonstad definiuje dojrzałość ww. platformy reużywalnych procesów, danych i technologii jako stopień ich standaryzacji i współdzielenia. Definiuje również pojęcie konkurencyjnej zwinności, jako zdolności firmy do przewidywania zmian rynkowych i szybkiego rozwoju nowych produktów i usług zarówno dla obecnych, jak i nowych klientów, zdolności lepszej, niż średnia rynkowa. Na koniec przytacza wyniki badań, z których wynika, że:
  • niska dojrzałość ww. platformy powoduje niską zwinność danej firmy i to praktycznie niezależnie od tego czy i ile dana firma inwestuje w usługi chmurowe; czyli inwestowanie w usługi chmurowe w celu podniesienia zwinności firmy jest w takim przypadku stratą pieniędzy
  • wysoka dojrzałość ww. platformy powoduje natomiast wysoką zwinność danej firmy; dodatkowe inwestowanie w usługi chmurowe tę zwinność jeszcze zwiększa.

Przemyślenia:
  • skoro zarządzanie architekturą korporacyjną jest metodą budowy i utrzymania konkurencyjnej zwinności, to będzie ono najważniejszą umiejętnością przyszłych przedsiębiorstw decydującą o uzyskaniu i utrzymaniu przewagi konkurencyjnej
  • z rozmów z Jeanne Ross: metody zwinne można i należy stosować w projektach lokalnych, do realizacji szybkich zmian; ale same platformy umożliwiające szybie dokonywanie tych zmian należy budować w sposób tradycyjny, waterfall’owo
  • z rozmów z uczestnikami: architektura korporacyjna zajmuje się tym, co niezmienne / wolno zmienne – w ramach zarządzania architekturą korporacyjną powinniśmy zajmować się budową ww. platformy w taki sposób, aby projekty zwinne wiedziały jak i czego muszą reużyć i to powinno być jedyne ograniczenie tych projektów ze strony architektury korporacyjnej; innymi słowy architektura korporacyjna ma swój koniec i jest nim zakres ww. platformy.

Zakończenie

Badacze z MIT CISR, to światowi orędownicy architektury korporacyjnej. Jednak zauważyłem, że podczas swoich wystąpień terminu "architektura korporacyjna" używali dość rzadko. Zamiast tego często używali takich sformułowań jak inwestowanie w zdolności (ang. capabilities), platforma reużywalnych procesów i danych, synergie ogólnofirmowe, podejmowanie decyzji, itp. Jeanne Ross wyjaśniła mi w przerwie, że powodem jest wciąż niska akceptacja tego terminu, który po prostu do słuchaczy nie trafia.

Pokazywane materiały były przeplatane wystąpieniami CIO z firm, których przykładami się posługiwano. W ich wystąpieniach można było zaobserwować elementy stosowania podejścia architektonicznego: dedykowane zespoły opracowujące architekturę poza (przed) projektami, podejmowanie decyzji o architekturze korporacyjnej poza (przed) projektami, ustanawianie pryncypiów architektonicznych sterujących decyzjami projektowymi, ścisłe powiązanie z celami strategicznymi, nastawienie na budowanie komponentów reużywalnych, itp. Jednak uczciwie muszę przyznać, że terminu "architektura korporacyjna" nie użył żaden występujących CIO.

Pomimo to prezentacje badaczy z MIT CISR pokazywane na konferencji utwierdzają mnie w moim obecnym rozumieniu wartości, celów i roli zarządzania architekturą korporacyjną w przedsiębiorstwie ery cyfrowej:
  • zwinność firmy, to zdolność (ang. ability) do szybkiej realizacji pewnej wiązki zmian, z wykorzystaniem posiadanych zdolności / kompetencji i z zarządzalnym ryzykiem i kosztem
  • firmy uzyskują zwinność poprzez zarządzanie architekturą platformy reużywalnych, wolnozmiennych, zestandaryzowanych procesów, danych i technologii oraz określenie zasad i sposobów ich reużycia przez projekty innowacyjne / lokalne
  • era cyfryzacji jak nigdy dotąd wymaga od przedsiębiorstw zwinności
  • więc zarządzanie architekturą korporacyjną będzie kluczową umiejętnością budowania trwałej przewagi konkurencyjnej przyszłych przedsiębiorstw
  • istotą zarządzania architekturą korporacyjną jest:
    - powtarzalne i metodyczne (a więc obarczone mniejszym ryzykiem)
    - kierujące się interesem przedsiębiorstwa jako całości a nie celami pojedynczego projektu (chodzi tutaj o interes długoterminowy, rozumiany jako przygotowanie się firmy na przyszłe zmiany typu wzrost i optymalizacja, np. nowa aplikacja mobilna, nowa oferta konwergentna, podłączenie nowego partnera, usprawnienie procesu biznesowego, itp.)
    - czyli osadzone w planowaniu strategicznym
    - podejmowanie poza (przed) projektami decyzji o sposobie realizacji celów strategicznych
    - sposobie wyrażonym w postaci wymaganej struktury i wymaganych relacji
    - komponentów platformy reużywalnych, zestandaryzowanych procesów, danych i technologii,
    - która zawiera istotę sposobu działalności przedsiębiorstwa oraz ułatwia realizowanie założonej wiązki zmian.
    Tylko tyle. I aż tyle.

sobota, 5 kwietnia 2014

O konfiguracji wartości raz jeszcze

W dniu 5 lutego na terenie kampus SGH odbyło się I Spotkanie Architektów i Analityków Biznesowych. Wydarzenie to zrealizowane zostało w ramach cyklu konwersatoriów  IMPKAT – czyli “Interdyscyplinarnych i metodycznych problemów architektury korporacyjnej”. Więcej informacji o Spotkaniu można znaleźć na stronie organizatora architekturakorporacyjna.pl.

Podczas Spotkania miałem przyjemność zaprezentować ciekawą i niezbyt znaną koncepcję konfiguracji wartości wymyśloną w 1998 roku przez C. Stabell oraz Ø. Fieldstad. Koncepcja konfiguracji wartości rozszerza znaną powszechnie koncepcję łańcucha wartości Portera o dwie nowe konfiguracje: warsztatu wartości oraz sieci wartości. Pisałem już o niej na tym blogu w październiku 2013 roku we wpisie pt. "Konfiguracja wartości, czyli co telekomy mają wspólnego z serwisami aukcyjnymi"

Każda z ww. konfiguracji wartości, to nie tylko specyficzna wartość kreowana przez firmę. To przede wszystkim niezbędny i specyficzny do wytworzenia tej wartości zestaw i układ aktywności firmy, czyli specyficzna architektura. Dlatego koncepcja konfiguracji wartości może pomóc architektom korporacyjnym, a w szczególności architektom biznesowym, lepiej zrozumieć nadrzędną logikę działania swojej firmy. Może przez to pomóc im konstruować lepsze, lepiej dopasowane architektury. Dodatkowo, ponieważ każda konfiguracja wartości dotyczy wielu branż, to jest to też doskonały sposób ukierunkowanego poszukiwanie inspiracji w innych firmach.

Zainteresowanych zapraszam do zapoznania się z przygotowaną i przedstawioną przeze mnie prezentacją: http://www.slideshare.net/slideshow/embed_code/33156093.

.

czwartek, 2 stycznia 2014

Złożoność EA (6) - Partycjonowanie architektury przy pomocy relacji równoważności

Po przerwie kontynuuję temat dot. złożoności architektury korporacyjnej. Dla przypomnienia - mówimy tutaj o złożoności architektury korporacyjnej w ujęciu atrybutowym (złożoności logiki „ułożenia” komponentów organizacji). Mówimy o metodach radzenia sobie z tą złożonością podczas projektowania architektury.

W pierwszej części tego cyklu przyjęliśmy, że estymatorem złożoności systemu / układu jest liczba znaczących stanów, w których może się on znaleźć. Im więcej możliwych stanów, tym większa złożoność. Zmniejszanie złożoności będzie więc polegało na zmniejszaniu liczby stanów tego systemu / układu.

Pierwszym opisanym sposobem zmniejszania liczby stanów układu było upraszczanie. Drugim opisanym sposobem było partycjonowanie. Dzisiaj piszę o szczególnym rodzaju partycjonowania - partycjonowaniu generującym układ o najmniejszej możliwej złożoności.

Partycjonowanie

Dla przypomnienia - partycjonowanie polega na podziale układu na niezależne podukłady. Przedstawiony w poprzednim wpisie przykład partycjonowania układu 4-rech systemów dzielił go na dwie partycje, z których każda zawierała po dwa systemy, plus usługi partycji sąsiedniej. Jednak jest to tylko jeden z 15 możliwych sposób podziału takiego układu.

W ogólności liczba możliwych podziałów zbioru elementów zależy od liczności tego zbioru i jest wyrażona liczbą Bella Bn, dla której zdefiniowano następujący wzór rekurencyjny:

Wzór rekurencyjny na liczbę Bella.

Pierwszych 11 wartości liczby Bella, to: B0 = 1, B1 = 1, B2 = 2, B3 = 5, B4 = 15, B5 = 52, B6 = 203, B7 = 877, B8 = 4140, B9 = 21147, B10 = 115975. Widać, że liczba możliwych sposobów podziału zbioru rośnie bardzo szybko wraz ze wzrostem liczby jego elementów. Układ tylko 6-ciu kostek można podzielić na 207 sposobów. Dla dużego systemu informatycznego, w którym liczba funkcjonalności jest duża, liczba możliwych podziałów na podsystemy będzie ogromna. Podobnie z procesami biznesowymi - liczba możliwych podziałów zbioru punktów decyzyjnych niezbyt skomplikowanego procesu będzie bardzo duża (np. B42 = 35742549198872617291353508656626642567).

Dodatkową trudnością przy partycjonowaniu funkcjonalności systemów informatycznych czy punktów decyzyjnych procesów biznesowych jest to, że poszczególne elementy systemu czy procesu są od siebie zależne. Tak więc przy poszukiwaniu najlepszego sposobu podziału, trzeba te zależności dodatkowo uwzględniać.

Partycjonowanie przy pomocy relacji równoważności

Z pomocą w wyborze jednego, najlepszego dla danego zastosowania sposobu podziału, przychodzi nam relacja równoważności. Relacja równoważności, to relacja dwuargumentowa, określona na pewnym zbiorze elementów, utożsamiająca ze sobą w pewien sposób jego elementy. Relacja równoważności R określona na zbiorze X posiada następujące cechy:
  • jest zwrotna: dla wszystkich x należących do X mamy, że x R x
  • jest symetryczna: dla dowolnych x, y należących do X z faktu, że x R y wynika, że y R x)
  • jest przechodnia: dla wszystkich x, y, z należących do X zachodzi wynikanie: jeżeli x R y oraz y R z, to x R z
Określenie relacji równoważności dla danego zbioru powoduje, że taka relacja ustanawia podział tego zbioru na rozłączne podzbiory (klasy równoważności) według tej relacji. Np. w zbiorze ubrań w sklepie relacją równoważności mogłaby być relacja kosztuje tyle samo. Taka relacja spowoduje podział całego zbioru ubrań w sklepie na podzbiory ubrań kosztujących tyle samo. Każde z ubrań znajdzie się w dokładnie jednym takim podzbiorze.

Partycjonowanie przy pomocy relacji synergiczności

Wracając do złożoności - szukając najprostszego układu funkcji biznesowych / funkcjonalności systemów (układu o najmniejszej złożoności), szukamy de-facto relacji równoważności na zbiorze tych funkcji / funkcjonalności, która wygeneruje układ o maksymalnej liczbie partycji i jednocześnie minimalnej liczbie zależności pomiędzy nimi. Relacją generującą taki układ jest relacja synergiczności.

Dwie funkcje przedsiębiorstwa są synergiczne, jeśli jedna potrzebuje drugiej a druga potrzebuje pierwszej do tego, aby działać efektywnie (relacja synergiczności jest relacją równoważności, więc jest zwrotna). Albo inaczej - dwie funkcje przedsiębiorstwa są synergiczne, jeśli nie można sobie wyobrazić sytuacji, gdy jedna z funkcji została użyta a druga nie została użyta.

Przykład:
Weźmy układ 8 funkcji biznesowych A..H, gdzie AxC, AxF, AxG, GxF, F/B, BxE, BxD, BxH, DxH oraz ExD („x” oznacza zależność w obie strony, czyli AxC oznacza, że A zależy od C a C zależy od A; „/” oznacza zależność w jedną stronę, czyli F/B oznacza, że F zależy od B).

Układ tych funkcji zamkniętych w jednej partycji przedstawia poniższy rysunek (zależności funkcji wewnątrz partycji nie są pokazane).

Układ ośmiu funkcji zamkniętych w jednej partycji.

Zgodnie ze wzorami na złożoność Sessions’a (patrz wpis Złożoność EA (2) - miary złożoności IT) złożoność takiego układu wynosi 644 SCU:
  • C(8 funkcji, 0 zależności między partycjami) = 8^3.11 + 0^3.11 = 644 SCU

Jeden z 4140 możliwych podziałów tych funkcji na partycje przedstawia poniższy rysunek (zależności funkcji wewnątrz partycji nie są pokazane; zależności funkcji pomiędzy partycjami reprezentuje strzałka; grubsza strzałka, to zależność w obie strony, cieńsza – w jedną stronę).

Jeden z 4140 możliwych podziałów 8 funkcji na partycje.

Zgodnie z ww. wzorami, złożoność takiego układu wynosi 562 SCU:
  • Lewa partycja: C(4, 6) = 4^3.11 + 6^3.11 = 338 SCU
  • Prawa partycja: C(4, 5) = 4^3.11 + 5^3.11 = 224 SCU
  • Złożoność całego układu: 338 + 224 = 562 SCU

Zatem po zastosowaniu partycjonowania (w sposób przypadkowy) uzyskaliśmy blisko 13% zmniejszenie złożoności układu początkowego. Jednak po wysokiej liczbie zależności pomiędzy partycjami można wnioskować, że nie jest to podział optymalny.

Po zastosowaniu metody partycjonowania za pomocą relacji synergiczności uzyskamy układ przedstawiony na poniższym rysunku (zależności funkcji wewnątrz partycji nie są pokazane; zależności funkcji pomiędzy partycjami reprezentuje strzałka):
.
Spartycjonowanie układu 8 funkcji przy użyciu relacji synergiczności.

Jest to układ o największej możliwej liczbie partycji i najmniejszej możliwej liczbie zależności między nimi - jest to układ o najmniejszej możliwej złożoności. Zgodnie ww. wzorami, złożoność takiego układu wynosi 149 SCU:
  • Lewa partycja: C(4, 1) = 4^3.11 + 1^3.11 = 75 SCU
  • Prawa partycja: C(4, 0) = 4^3.11 + 0^3.11 = 74 SCU
  • Złożoność całego układu: 75 + 74 = 149 SCU

Po zastosowaniu metody partycjonowania za pomocą relacji synergiczności uzyskaliśmy układ o złożoności blisko 77% mniejszej od złożoności układu wyjściowego. Żaden inny podział wyjściowego zbioru funkcji nie da lepszego rezultatu.

Cechy partycjonowania przy pomocy relacji synergiczności

Używając relacji synergiczności zdefiniowanej na zbiorze funkcji przedsiębiorstwa do partycjonowania jego architektury korporacyjnej uzyskujemy układ o najmniejszej możliwej złożoności. Dalsze zmniejszanie lub zwiększanie rozmiarów partycji będzie już powodowało wzrost złożoności z powodu rosnących zależności pomiędzy partycjami.

Używając relacji synergiczności zdefiniowanej na zbiorze funkcji przedsiębiorstwa do partycjonowania jego architektury korporacyjnej uzyskujemy również jedyny najprostszy możliwy układ. Oznacza to, że proces projektowania architektury przy użyciu relacji synergiczności funkcji biznesowych staje się powtarzalny. Może więc być walidowany i sprowadza się do podejmowania decyzji, czy dane dwie funkcje biznesowe są synergiczne, czy nie.

Przyjęcie takiego podejścia daje także dodatkowe korzyści: znakomicie zmniejsza liczbę dyskusji, które pojawiają się podczas projektowania architektury. Nie dyskutuje się już wtedy o formacie rekordów bazy danych, preferencjach technologicznych czy infrastrukturze komunikatów. Dyskusje sprowadzają się wtedy do ustalenia, czy dwie funkcje biznesowe są ze sobą synergiczne, czy nie (np. sprzedaż i biling). Dyskusje skupiają się na rzeczach naprawdę istotnych a stawiane problemy są łatwiejsze do rozwiązania, gdyż dyskusje stają się bardziej rodzajem współpracy niż konfrontacji.

Ostatnią ważną cechą partycjonowania architektury za pomocą relacji synergiczności jest to, że jeśli tę metodę stosujemy iteracyjnie lub pojawiają się nowe elementy, które trzeba do układu dołączyć, to struktura podziału się nie zmienia. Nigdy nie zajdzie sytuacja, że raz wykonany podział zostanie zmieniony. Nigdy nie zdarzy się, że:
  • daną partycję trzeba będzie usunąć,
  • daną partycję trzeba będzie podzielić,
  • dane dwie partycje trzeba będzie połączyć.

W praktyce okazuje się, że zbadanie synergiczności dla ok. 35% funkcji z pełnego zbioru funkcji przedsiębiorstwa powoduje wygenerowanie 90% docelowego struktury podziału.

Podsumowanie

W efekcie stosowania przedstawionych w tym cyklu metod upraszczania i partycjonowania daje się uzyskiwać zmniejszenie złożoności nawet do 99%. W praktyce tak ogromne rezultaty nie są osiągane i należy je raczej traktować jako teoretyczne maksima. W praktyce po zastosowaniu przedstawionych metod, udaje się osiągać ~80-90% zmniejszenie złożoności budowanych rozwiązań, co z kolei przekłada się na porównywalne zmniejszanie kosztów rozwoju IT.

Należy jednak pamiętać, że zmniejszanie złożoności architektury jest jedynie środkiem / narzędziem / enablerem a nie celem samym w sobie. Złożoność zmniejszamy m.in. po to, aby działanie i rozwój funkcji biznesowych / systemów kosztował nas mniej i był obarczony mniejszym ryzykiem. Ze zmniejszania złożoności nic nam nie przyjdzie jeśli pomimo to będziemy wciąż wykonywać tyle samo analizy czy tyle samo testów. Dlatego ostatnim ale równie ważnym krokiem jest zmiana sposobu rozwijania systemów utylizująca efekty zmniejszania złożoności architektury IT. Ale o tym już w następnym odcinku.

Bibliografia