Przejdź do treści
Wszystkie wpisy
Blog

Podorganizacje, oddziały i grupy — i kiedy potrzebna jest która

Podorganizacja to tenant podrzędny. Oddział to wewnętrzne drzewo, w dół którego spływają role. Grupa to jednostka, przez którą zapisuje się ludzi. Kiedy używać której.

The Lurno teamAugmental9 min czytania

Podorganizacja to pełna organizacja podrzędna zagnieżdżona w innej, z własnymi ludźmi, programami, rolami, identyfikacją wizualną i domeną. Oddział to drzewo wewnątrz jednej organizacji — kampusy, działy, regiony — w którym rola nadana na oddziale obowiązuje we wszystkim, co leży poniżej. Grupa to kohorta, klasa lub zespół, przez które ludzie są faktycznie zapisywani. Prawie każda platforma sprzedaje jedno lub dwa z tych trzech pojęć pod tym samym słowem i prawie każdy kupujący prosi o wszystkie trzy, nie rozróżniając ich.

To nie są warianty tego samego. Działająca konfiguracja używa wszystkich trzech naraz, na różnych wysokościach: podorganizacje dla granic, oddziały dla zakresu uprawnień, grupy dla zapisów. Umieszczenie fragmentu struktury na niewłaściwej wysokości nie jest katastrofą, ale odwrócenie tego kosztuje, bo zanim to Państwo zauważą, ludzie mają już historię przypiętą do bytu, z którego chcą ich Państwo teraz wyprowadzić.

  • Podorganizacja — czy ta część struktury potrzebuje własnej marki, własnej domeny, własnych administratorów albo własnej granicy w czyimś przeglądzie bezpieczeństwa? Wtedy jest to podorganizacja.
  • Oddział — czy ta część istnieje po to, by można było postawić kogoś na czele wycinka organizacji? Wtedy jest to oddział.
  • Grupa — czy ta część istnieje po to, by pewien zbiór osób mógł być razem zapisany, uczony i oceniany, między dwiema datami? Wtedy jest to grupa.

Kolejność ma znaczenie. Podorganizacja to odpowiedź najcięższa i najtrudniejsza do cofnięcia, więc to ona powinna wymagać uzasadnienia. Grupa jest najlżejsza, a zaskakująco duża część tego, o co ludzie proszą w dokumencie wymagań, okazuje się grupą o poważnie brzmiącej nazwie.

ORGANISATION  Northwind Academy               one tenant, one contract
 SUB-ORG      Acme Corp                       own domain, own admins, own boundary
  BRANCH      EMEA                            a role granted here reaches all below
   BRANCH     Dubai office
    GROUP     Compliance intake, September     40 people, one programme, two dates

Czytane z góry na dół, każda warstwa odpowiada na inne pytanie. Kto jest oddzielony od kogo. Kto za co odpowiada. Kto uczy się tego, razem, teraz.

Podorganizacja: granica, którą można komuś przekazać

W modelu podorganizacji organizacja jest pełnoprawnym rekordem, a organizacja może mieć rodzica. Identyfikacja wizualna, domena, użytkownicy, role, treści, zapisy i raportowanie wiszą właśnie na niej. Rodzic widzi wnętrze swoich dzieci; dziecko nie widzi ani w górę, ani na boki. Zagnieżdżenie sięga tak głęboko, jak głęboka jest Państwa rzeczywista struktura — grupa szkół, każda szkoła, a u niektórych organów prowadzących federacja ponad grupą.

Wielodostępność

Jedna instalacja platformy obsługująca wiele organizacji, w której każda organizacja widzi wyłącznie własnych ludzi, własne treści, własną identyfikację wizualną i własne raportowanie. Podorganizacja to wielodostępność zastosowana wewnątrz klienta: tenant podrzędny z własną granicą, umieszczony pod rodzicem, który widzi jego wnętrze. Testem nie jest to, czy tenant dostaje inne logo. Testem jest to, czy rozdzielenie przetrwa pomyłkę — nowy punkt końcowy eksportu napisany bez filtra powinien zwrócić pustkę, a nie cudzych uczestników.

To ostatnie warto docisnąć u każdego dostawcy, u nas także. Jeśli tenant jest kolumną w wierszu, rozdzielenie jest tym, o czym kod aplikacji pamiętał przy filtrowaniu, i trzyma się do najbliższego wdrożenia kolejnej funkcji. Jeśli reguła siedzi w bazie danych, zapytanie bez filtra zwraca pustkę.

Ciężar podorganizacji jest realny. Każdą konfiguruje się raz: identyfikacja wizualna, domena i jej certyfikat, administratorzy, role, ustawienia retencji i zgód. W zamian dostają Państwo coś, co da się komuś przekazać. Podorganizacja ma właściciela, którym nie są Państwo, a rozstanie z nią to poddrzewo do usunięcia, a nie lista kontrolna użytkowników, grup, kursów i raportów, o której ktoś ma nadzieję, że jest kompletna.

Czym różni się podorganizacja od oddziału?

Podorganizacja rozdziela dane. Jest zagnieżdżoną organizacją z własnymi użytkownikami, własną identyfikacją wizualną, domeną, administratorami i raportowaniem oraz z granicą między nią a jej rodzeństwem. Oddział kształtuje zasięg. Jest węzłem w drzewie wewnątrz jednej organizacji, nie ma osobnej identyfikacji wizualnej ani domeny i istnieje po to, by rola nadana w tym węźle obowiązywała we wszystkim, co pod nim leży. Pytanie rozstrzygające brzmi: czy tę część struktury mógłby kiedykolwiek prowadzić ktoś spoza Państwa administracji. Jeśli tak, to podorganizacja. Jeśli jest to wyłącznie wewnętrzny kształt na Państwa własnym schemacie organizacyjnym, to oddział.

Oddział: gdzie kończy się nadanie uprawnień

Oddział to węzeł operacyjny wewnątrz jednej organizacji. Kampusy, działy, wydziały, regiony, centra realizacji, centra kosztów, obszary franczyzowe — cokolwiek naprawdę mówi Państwa schemat organizacyjny. Oddziały dzielą markę organizacji, jej domenę, jej użytkowników i jej bibliotekę treści. To, co niosą, to zakres.

Cały sens tkwi w spływaniu uprawnień w dół. Nadanie komuś roli na oddziale EMEA obejmuje EMEA i wszystko pod nim, dziś i po otwarciu dwóch kolejnych biur. Bez drzewa, w którym uprawnienia spływają, ta sama osoba potrzebuje nadania na każdym węźle, a nadania przeżywają swój powód. Nikt nie pamięta, by odebrać nadanie na Dubaj, gdy biuro w Dubaju się zamyka, bo nikt nie ma listy.

Lurno

Region jest węzłem w drzewie, więc dyrektor regionalny to jedno nadanie, które obejmuje już kampus otwierany w przyszłym roku.

Not this

Region jest konwencją nazewniczą, więc dyrektor regionalny to dziewięć nadań i arkusz kalkulacyjny pilnujący, które z nich mają jeszcze obowiązywać.

Drzewa oddziałów psują się na głębokości. Drzewo ma odzwierciedlać schemat organizacyjny, a nie plan zajęć. Każdy dodany poziom to decyzja, którą człowiek podejmuje przy każdej nowej osobie, a pięciopoziomowe drzewo z jednym kierownikiem w środku to administracja bez odbiorcy. Jeśli na jakimś poziomie nigdy nikomu nie zostanie nadana rola, ten poziom jest filtrem w raporcie, a nie oddziałem.

Grupa: jednostka, przez którą zapisuje się ludzi

Grupa to zbiór osób, które uczą się czegoś razem. Klasa 4B. Wrześniowy nabór na szkolenie zgodnościowe. Rocznik absolwentów. Zespół projektowy przechodzący szkolenie produktowe przed premierą. Grupa ma zmieniający się skład, zwykle przypięty program i koniec.

To w grupach należy trzymać rotację i to jest argument za oddzieleniem ich od pozostałych dwóch. Skład zmienia się co tydzień. Ktoś dołącza z opóźnieniem, ktoś się przenosi, ktoś powtarza moduł z kolejnym naborem. Nic z tego nie powinno przepisywać uprawnień danej osoby ani przenosić jej między organizacjami. Przeniesienie uczestnika między grupami to drobiazg; przeniesienie uczestnika między podorganizacjami to migracja.

Czy grupa może decydować o tym, co ktoś widzi?

Nie powinna, a system, który na to pozwala, nauczy Państwa administratorów złych nawyków. Grupa odpowiada na jedno pytanie: kto uczy się tego, razem, teraz. Uprawnienia pochodzą z ról, nadawanych na organizacji albo na oddziale. Gdy grupy zaczynają nosić uprawnienia, następują dwie porażki. Ludzie są dopisywani do klas, w których ich nie ma, po to, by mogli zobaczyć raport — co psuje każdy wskaźnik ukończeń, jaki ta klasa wytworzy. A usunięcie kogoś z klasy po cichu odbiera dostęp do czegoś zupełnie niezwiązanego, czego nikt nie łączy ze zmianą, która to spowodowała. Grupa rozstrzyga o zapisie; rola rozstrzyga o zasięgu.

Trzy przykłady rozpisane

Grupa szkół

Organ prowadzący dwie szkoły albo wydawca prowadzący 114 z nich mają ten sam kształt, tylko o innej szerokości. Każda szkoła jest podorganizacją: ma nazwę, którą rozpoznają rodzice, dyrektora będącego właścicielem własnej listy pracowników, zwykle własną domenę, a często własną kontrolę i własną umowę o finansowanie. Organ prowadzący stoi nad nimi i widzi w dół.

Wewnątrz szkoły etapy edukacyjne i zespoły przedmiotowe są oddziałami — kierownik zespołu przedmiotów przyrodniczych to jedno nadanie obejmujące każdą klasę przyrodniczą w szkole. Klasy, zespoły wychowawcze i grupy poziomowe są grupami.

Riverside Trust                             the group
├── Riverside Primary       SUB-ORG         own domain, own head, own inspection
│   ├── Early years         BRANCH
│   └── Key stage 2         BRANCH
│       └── Class 4B        GROUP           28 pupils, one form tutor
└── Riverside High          SUB-ORG         own domain, own head
    ├── Sciences            BRANCH          head of department scoped here
    └── Humanities          BRANCH
        └── Year 10 history, set 2   GROUP

Pułapką są tu roczniki. Ktoś chce wyników w podziale na roczniki w całym organie prowadzącym, więc roczniki powstają jako organizacje i nagle każdy uczeń siedzi w niewłaściwym rodzaju pojemnika, a ustawienia marki i domeny każdej szkoły trzeba powtórzyć dla każdego rocznika. Rocznik jest atrybutem grupy i wymiarem w raporcie. Nie jest tenantem.

Akademia korporacyjna

Weźmy akademię korporacyjną prowadzącą szkolenia dla 15 firm klienckich z jednego tenanta. Każda firma kliencka jest podorganizacją. Dostaje własną domenę, własnych administratorów, którzy mogą publikować i pobierać raporty bez pisania do akademii, własną identyfikację wizualną i granicę, która trzyma, gdy dział bezpieczeństwa klienta zapyta o pozostałych 14.

Wewnątrz klienta jednostki biznesowe i regiony są oddziałami, bo własny dyrektor szkoleń klienta potrzebuje jednego nadania obejmującego je wszystkie, a dyrektor regionalny — jednego obejmującego wycinek. Wrześniowy nabór wdrożeniowy, coroczna tura szkolenia antykorupcyjnego, dwanaście osób na programie przywództwa — to są grupy, tworzone i zamykane bez przerwy.

Pułapką jest tu podorganizacja na każde zlecenie. Klient podpisuje umowę na trzy kursy, więc powstają trzy organizacje, każda z własną identyfikacją wizualną do skonfigurowania i własnymi administratorami do zaproszenia, a potem klient prosi o jeden raport obejmujący wszystkie trzy i nikt nie umie go wytworzyć. Jeden klient, jedna podorganizacja. Trzy kursy to trzy grupy.

Firma szkoleniowa

Firma szkoleniowa prowadzi mieszankę i to właśnie mieszanka sprawia, że model zarabia na siebie. Jest katalog publiczny z otwartymi zapisami pod własną marką firmy. Są kontrakty korporacyjne, z których każdy chce akademii wyglądającej jak klient. Są programy akredytowane ze stałymi kohortami, egzaminatorami i instytucją certyfikującą, która poprosi o dokumentację.

Your training company                       everything below is yours to administer
├── Public catalogue        BRANCH          open enrolments, your own brand
│   └── Project management, Nov intake      GROUP
├── Acme Corp               SUB-ORG         learn.acme.com, Acme's own admins
│   ├── EMEA                BRANCH
│   └── Americas            BRANCH
└── Borden Group            SUB-ORG         training.bordengroup.com
    └── Borden Manufacturing    SUB-ORG     a subsidiary with its own brand

Dwie rzeczy warte uwagi. Katalog publiczny jest oddziałem, a nie podorganizacją, bo to Państwa marka, Państwa domena i Państwa pracownicy — nie ma tu czego rozdzielać. I trzeci poziom jest prawdziwy: klient ze spółkami zależnymi mającymi własną tożsamość to dla firmy szkoleniowej normalny przypadek, a zarazem ten, którego model subkont o głębokości jednego poziomu nie potrafi wyrazić bez konwencji nazewniczych.

Cztery pytania przed narysowaniem drzewa

  1. Dla których części przeglądarka obcej osoby musiałaby pokazać inną markę i inny adres? To są podorganizacje.
  2. Które części wymagają postawienia na czele konkretnej osoby z nazwiska? To są oddziały.
  3. Które części mają datę początku i datę końca? To są grupy.
  4. Które części istnieją wyłącznie dlatego, że jakiś raport potrzebuje filtra? To żadne z tych trzech.

Czwarte pytanie oszczędza najwięcej pracy. Bardzo dużo struktury powstaje dlatego, że ktoś chce liczb pociętych w określony sposób, a struktura to najdroższy możliwy sposób na uzyskanie filtra. Zakres raportowania ma iść za drzewem oddziałów i za grupą, a nie odwrotnie.

Czy każdy kampus powinien być osobną podorganizacją?

Tylko wtedy, gdy kampus ma coś, co granica chroni: własną markę i domenę, własnych administratorów, którzy nie powinni widzieć pozostałych kampusów, albo własnego regulatora, własną kontrolę czy własną umowę. Kampus dzielący markę, listę pracowników i jeden zespół administracyjny jest oddziałem. Praktyczna różnica dotyczy tego, kto wykonuje pracę — podorganizacje konfiguruje się pojedynczo, a oddziały rysuje się raz i wszystko dziedziczy. Grupy szkół o osobnych nazwach zwykle kończą z podorganizacją na każdą szkołę. Jeden uniwersytet z czterema lokalizacjami zwykle kończy z oddziałami.

Jak to działa w Lurno

Lurno ma wszystkie trzy jako osobne prymitywy i dlatego ten tekst jest wart swojej długości. Podorganizacje zagnieżdżają się dowolnie głęboko, każda z własną identyfikacją wizualną i własną domeną z automatycznym TLS — strona marki i domeny jest opisana w white-label. Wewnątrz organizacji istnieje drugie, osobne drzewo oddziałów, a rola nadana na oddziale spływa w dół. Grupy są prymitywem zapisu i same nie niosą żadnych uprawnień.

Granica jest egzekwowana w Postgresie, a nie w kodzie aplikacji: 868 polityk bezpieczeństwa na poziomie wierszy w 676 migracjach, więc zapytanie, które zapomni o filtrze, zwraca pustkę. To jest twierdzenie, które warto sprawdzić u każdego dostawcy — szczegóły są na stronie o bezpieczeństwie.

Dwa ograniczenia, powiedziane wprost, bo zmieniają sposób planowania wdrożenia. Konta zakłada się na zaproszenie — samodzielna rejestracja i płatności są w budowie, więc organizację klienta się zakłada i fakturuje, a nie kupuje ona sama siebie. Logowanie partnerskie (silent SSO) jest dziś dostępne, natomiast SAML i OIDC są na mapie drogowej i nie zostały wdrożone; jeśli dział IT klienta już zdecydował, jak będą uwierzytelniać się pracownicy, warto poruszyć to wcześnie. Model dostarczania dla firm odsprzedających szkolenia jest opisany na stronie dla firm szkoleniowych.

Wersja krótka

Podorganizacje rozdzielają. Oddziały wyznaczają zakres. Grupy zapisują. Gdy nie wiadomo, czym jest dany fragment struktury, warto zapytać, co się zepsuje przy pomyłce: postawienie granicy tam, gdzie należał się oddział, kosztuje powtarzaną konfigurację i raport, którego nie da się uruchomić, a postawienie oddziału tam, gdzie należała się granica, kosztuje rozmowę z czyimś działem bezpieczeństwa. Proszę narysować drzewo przed wczytaniem danych i kazać komuś obronić każdą podorganizację na liście.