Zabawa z prawem Conway a. Łukasz Januszek Żółw

Podobne dokumenty
Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

Analiza biznesowa studium przypadku

Agile Project Management

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Testowanie oprogramowania

Cykle życia systemu informatycznego

omnia.pl, ul. Kraszewskiego 62A, Jarosław, tel

DESIGNER APPLICATION. powered by

Witamy! Górnicy 2.0. Kreatywne rozwiązania intnernetowe

Woom Welcome to the Woom World.

The development of the technological process in an integrated computer system CAD / CAM (SerfCAM and MTS) with emphasis on their use and purpose.

użytkownika 1 Jak wybrać temat pracy 2 Spis treści 3 Część pierwsza problematyka 4 Część druga stosowane metody 5 Część trzecia propozycja rozwiązania

Animacja i zarządzanie kulturą w NGO

System antyfraudowy w praktyce. marcin zastawa wiceprezes zarządu. Warszawa, października 2006r.

Narzędzia CASE dla.net. Łukasz Popiel

Optymalizacja, industrializacja, produkcja Oferta Fideltronik dla startupów

IP PBX / Asterisk Wdrożenia i Administracja

PROJEKT Z BAZ DANYCH

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

Bogdan Kępka. Bogdan Kępka

Jak zaprojektować firmę aby mogła się skalować i odnosić trwałe sukcesy? Warszawa, 13 listopada 2018 r.

HP Service Anywhere Uproszczenie zarządzania usługami IT

Feature Driven Development

Nowocześnie zaprojektowana e-usługa - studium przypadku

Struktura organizacyjna a strategia

GLOBAL4NET Agencja interaktywna

InPro BMS InPro BMS SIEMENS

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Informatyczne fundamenty

Naturalny Porządek Refaktoryzacji Java Developer Days 2012

Matulewicz Jolita Nowak Magdalena

Case study strona firmowa

Współczesna problematyka klasyfikacji Informatyki

Rynek Call/Contact Center w Polsce:

Elektroniczny Obieg Dokumentów edok Archiwum

Przykład wdrożenia Elektronicznej Legitymacji Studenckiej w SWPS

Spis treści. Istota i przewartościowania pojęcia logistyki. Rozdział 2. Trendy i determinanty rozwoju i zmian w logistyce 42

Nowoczesne narzędzia HR. Waldemar Lipiński DMZ-CHEMAK sp. z o.o.

Synchronizacja danych Centrala Oddział

Wydział Nauk Społecznych Plan studiów niestacjonarnych drugiego stopnia Kierunek: Zarządzanie kreatywne B. Moduły kierunkowe obligatoryjne

Zastosowania aplikacji B2B dostępnych na rynku zalety aplikacji online

ŚNIADANIE Z E-LEARNING.PL MECHANIZMY GRYWALIZACJI W PROCESACH E-LEARNGOWYCH

Opracowanie systemu monitorowania zmian cen na rynku nieruchomości

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

METODY WSPOMAGANIA DECYZJI MENEDŻERSKICH

3.1. NOWY SYSTEM B2B/B2C

Plan studiów stacjonarnych drugiego stopnia 2019/2021 Kierunek: Zarządzanie kreatywne B. Moduły kierunkowe obligatoryjne

Jarosław Żeliński analityk biznesowy, projektant systemów

1/ Nazwa zadania: Dostawa, wdrożenie i serwis informatycznego systemu zarządzania projektami dla Urzędu Miejskiego Wrocławia wraz ze szkoleniem.

Referat pracy dyplomowej

PR kwietnia 2012 Mechanika Strona 1 z 5. XTS (extended Transport System) Rozszerzony System Transportowy: nowatorska technologia napędów

Projekty BPM z perspektywy analityka biznesowego. Wrocław, 20 stycznia 2011

Formacyjne znaczenie programowania w kształceniu menedżerów

Szkolenie: Zarządzanie cyklem projektu w Jednostkach Samorządu Terytorialnego

WiComm dla innowacyjnego Pomorza

Ewolucyjna architektura

Interakcja i komunikacja a strony biblioteczne

REKOMENDACJE DOTYCZĄCE PLATFORMY ZARZĄDZANIA KOMPETENCJAMI

Spis treści. Przedmowa Karolina Zmitrowicz, Adam Roman. Część I. Organizacja i procesy 1

Metody Programowania

Tomasz Karwatka Janmedia Interactive ecommerce w czym tkwi siła naszych rozwiązań

Studentom zostaną dostarczone wzory lub materiały opisujące. Zachęcamy do wykonania projektów programistycznych w postaci apletów.

Analiza procesów współpracy z kontrahentami i ich optymalizacja przez ICT

Metody komputerowe w inżynierii komunikacyjnej. Wprowadzenie. dr inż. Tadeusz Zieliński doc. WIL r. ak. 2017/18

Jak opisać wymagania zamawiającego wybrane elementy

Architektura korporacyjna jako narzędzie koordynacji wdrażania przetwarzania w chmurze

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

NOWOCZESNE NARZĘDZIA DLA TURYSTY W JEDNEJ KIESZENI

PRZEWODNIK PO PRZEDMIOCIE

Scala Business Solutions Polska Sp. z o.o. Signature metodologia wdrażania Scali. Czego użytkownik potrzebuje najbardziej?

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Problematyka szkoleń w zakresie CAD/CAM/CNC w technicznej szkole średniej. mgr inż. Damian Sułkowski, mgr inż. Stanisław Pokutycki

Agenda. Zakres projektu. Harmonogram wdrożenia. Wspólne zadania i ograniczenia

Zad. 5: Sterowanie robotem mobilnym

Proces implementacji BIM z perspektywy firmy wdrażającej

TECHNOLOGIE JUTRA DZISIAJ NOWOCZESNE ZARZĄDZANIE MAJĄTKIEM

Zintegrowane Systemy Transportowe (ITS) Integracja oraz standaryzacja

OD MONOLITU DO MIKROUSŁUGI MICROSERVICES

XTrack SKOG: Nowoczesny system kontroli Operatorów w ramach wykonywanych zadań związanych z odbiorami odpadów na rzecz miasta i gminy..

Elektroniczny Obieg Dokumentów edok. I Mazowiecki Konwent Informatyków i Administracji Zegrze, 8-9 września 2016 r.

Założenia i stan realizacji projektu epuap2

Skuteczne zarządzanie projektami IT w otoczeniu uczelnianym. Piotr Ogonowski

Nauka o organizacji. Wykład 2. Struktura organizacji

Kierunek Informatyka. Specjalność Systemy i sieci komputerowe. Specjalność Systemy multimedialne i internetowe

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Zarządzanie usługami IT

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Platforma Cognos. Agata Tyma CMMS Department Marketing & Sales Specialist atyma@aiut.com.pl AIUT Sp. z o. o.

Projektowanie sieci metodą Top-Down

ZAMÓWIENIA GIS BY CTI

Użyteczność oraz User Experience

Założenia modelu dostarczenia wartości z budowy inteligentnego miasta

KATALOG PRZEDMIOTÓW (PAKIET INFORMACYJNY ECTS) KIERUNEK INFORMATYKA STUDIA PIERWSZEGO STOPNIA

windows XP n a j l e p s z e t r i k i

Modele bezpieczeństwa logicznego i ich implementacje w systemach informatycznych / Aneta Poniszewska-Marańda. Warszawa, 2013.

Zasady organizacji projektów informatycznych

Staże Ośrodka RENOWATOR

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network

Transkrypt:

Zabawa z prawem Conway a Łukasz Januszek Żółw

O mnie Aktywny programista: ~8 lat Procesy, struktury organizacji : ~1 rok Mechaniki gier (hobbystycznie): ~20 lat Future Processing

Agenda Problem potencjalnej duplikacji kodu Prawo Conway a Kilka struktur Kształtowanie struktury Podsumowanie

Skąd w ogóle ta prelekcja? bo miałem potencjalną duplikację kodu, której nie umiałem rozwiązać

Skąd w ogóle ta prelekcja? bo miałem potencjalną duplikację kodu, której nie umiałem rozwiązać

Czemu to jest problem? A, wsadźmy to sobie do folderu Struktura porządkuje i steruje Struktura zawiera sposób rozumowania o problemie

Duplikacja kodu, duplikacja intencji x = x + 1 Dodajmy nowy produkt do koszyka w sklepie Struktura definiuje ścieżki komunikacyjne Co do czego należy Co z czym się komunikuje Scoping (zakresowanie)

Duplikacja kodu, duplikacja intencji Problem struktury nie pasującej do potrzeb

Czemu to jest problem? Kiedyś ta aplikacja wyglądała tak:

Czemu to jest problem? I to tutaj zaczęło się mieszać i powstawał pająk:

Więc zgodnie z modelowaniem do domeny

Nowy model mentalny DomModel + DomServices => DomModel

I to miało działać dużo lepiej

Czas płynął, system hierarchiczny się rozrastał

a ta jedna linijka pokazuje problem. Gdzie powinna być ta linijka? Aktualna struktura jest nieadekwatna Symptom, nie jedna linijka

Prawo Conway a Melvin Conway, 1968 Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure.

Prawo Conway a po ludzku Istnieje silny związek między strukturą systemu a strukturą komunikacji grupy, jaka go zaprojektowała. Jeśli nie istnieje ścieżka komunikacji, struktura systemu też jej nie będzie zawierać. Pracujemy w firmach hierarchicznych. Tworzymy kod, który jest hierarchiczny.

Prawo Conway a graficznie Przypadek typowy

Prawo Conway a graficznie Przypadek poszerzony

Prawo Conway a ciekawostki Im więcej osób rzuci się na projektowanie problemu tym więcej sieci komunikacyjnych powstaje Trzy fazy rozpadu: System jest duży Dodajmy więcej ludzi Uruchamia się homomorfizm

Prawo Conway a ciekawostki Jeśli 5 inżynierów odpowiada za napisanie 5 modułów do monolitu i nikt nie odpowiada za integrację (nie rozmawiają ze sobą)

Prawo Conway a ciekawostki a jeśli nie ma monolitu? Smutek i żałość

Prawo Conway a ciekawostki jednak jak się komuś da odpowiedzialność dotyczy też refaktoryzacji ;-)

Klasyczne struktury organizacyjne Struktura promienista Najbardziej typowa Decydent wykonawcy Zwykle punkt startowy firmy

Klasyczne struktury organizacyjne Struktura promienista Typowa dla małych programów Szybka w implementacji Fatalnie się skaluje Kiepska równoległość pracy

Klasyczne struktury organizacyjne Struktura funkcjonalna + zawodowstwo, fachowość + redukcja kosztu (efekt skali) - nie pilnuje się całości - utrudnia adaptację - brak szerokich pracowników - nieporozumienia między działami

Klasyczne struktury organizacyjne Struktura funkcjonalna

Klasyczne struktury organizacyjne Struktura funkcjonalna

Klasyczne struktury organizacyjne Struktura funkcjonalna (kod) + skupienie na serwisach + silna separacja czynności - nie pilnuje się całości - utrudnia adaptację - brak miejsca na szerokie klasy - duplikacja DomModel?

Klasyczne struktury organizacyjne Struktura dywizjonalna + szybka adaptacja do zmian + szybsze decyzje + specjalizacja i szerokość + efekt skali - podwojenie zatrudnienia - rywalizacja dywizji - zwiększenie ogólnych kosztów

Klasyczne struktury organizacyjne Struktura dywizjonalna (modułowa)

Klasyczne struktury organizacyjne Struktura dywizjonalna (modułowa)

Klasyczne struktury organizacyjne Struktura dywizjonalna (modułowa) + szybka adaptacja do zmian + zmiany lokalizowane w modułach + ogólne => Centrala, unikalne => DomModel + efekt skali - możliwość nieświadomej duplikacji - możliwość niespójności - zwiększenie ogólnych kosztów

Klasyczne struktury organizacyjne Struktura macierzowa + struktura projektów + adaptacja + alokacja zasobów - wielość rozkazywania - kto jest odpowiedzialny? - interwencja arbitrażowa

Klasyczne struktury organizacyjne Struktura macierzowa

Klasyczne struktury organizacyjne Struktura tensorowa Struktura fraktalna Struktura ogniw łączonych

Kształtowanie struktury organizacyjnej Rozpiętość kierownicza Ile manager ma ludzi pod sobą? Na ilu rzeczach musi się znać? Zasada 3-5. a klasa?

Kształtowanie struktury organizacyjnej Kto ma prawo komunikacji? Czy pracownik z Centralą? Czy kierownik z Centralą? A nasze klasy?

Kształtowanie struktury organizacyjnej Zasada grupowania funkcji Rodzaj funkcji (metody, fazy procesu, rodzaj narzędzi) Przedmiot (rodzaj tworzywa, rodzaj odbiorców) Miejsce (wdrożenie?) Rozpiętość kierowania

Kształtowanie struktury organizacyjnej Wytyczne do wyboru typu organizacji Rysunek 1.8: Hanna Fołtyn (bibliografia)

Podsumowując Folder to nie tylko folder Istnieje korelacja między strukturą komunikacyjną a strukturą systemu (kodu) Sposób złożenia zespołu wpływa na wynikowe rozwiązanie może niech sam się dostosuje do potrzeb? Nowy świat rozwiązań? Nowe książki do czytania?

Dziękuję wszystkim za uwagę http://www.melconway.com/home/committees_paper.html Struktura organizacyjna Adam Nalepka Klasyczne i nowoczesne struktury organizacji Hanna Fołtyn Sprawne zarządzanie organizacją Witold Kieżun