Studium przypadku · Kocher+Beck Polska

Panel operacyjny dla Kocher+Beck Polska

Część modułów na serwerze firmy od IX 2026, część zbudowana · rozwijany iteracyjnie z zarządem

Zaprojektowałem i zbudowałem dla Kocher+Beck Polska, firmy produkującej na zamówienie, panel, który łączy dane z systemu MES i z SAP. Liczy termin realizacji z historii przelotów i pozwala prześledzić każdą liczbę do dokumentu źródłowego. Wdrożenie opisuję jako proces zarządczy: decyzje, role, zgody na odczyty i zmiany oraz bramki wydania.

Bez zrzutów ekranu i bez liczb z danych firmy. Liczby, które podaję, dotyczą mojego oprogramowania i mają datę. Architekturę i metody pokazuję w rozmowie.

Skala oprogramowania

Trzy liczby o samym panelu

  • ok. 70 ekranów w modułach stan na 19.09.2026, wg mojego rejestru ekranów
  • ponad 1,7 tys. testów automatycznych bez dostępu do bazy stan: wrzesień 2026, wersja 1.1.151, bez testów dotykających bazy i AI
  • 3 języki interfejsu stan: październik 2026, test pilnuje kompletności tłumaczeń

Te liczby opisują oprogramowanie. Nie są wynikiem biznesowym i nie zastępują pomiaru efektu, którego jeszcze nie mam (sekcja „Co jest potwierdzone, a co nie”).

Sytuacja wyjściowa

Jedna liczba, kilka definicji, brak drogi do dokumentu

Firma miała działające systemy: MES dla dokumentów sprzedaży, zamówień i produkcji oraz SAP Business One po stronie finansów, czytany przez Service Layer. Brakowało miejsca, w którym zarząd, handel i produkcja oglądają te same liczby i wiedzą, skąd się wzięły.

01 · Dwa systemy

Sprzedaż w jednym systemie, finanse w drugim

Zarząd potrzebował jednego widoku obu. W źródłach istniały dwie definicje sprzedaży, zamówienia w systemie produkcyjnym i faktury w finansach, bez jawnego zestawienia jednej z drugą.

02 · Definicja wskaźnika

Ten sam wskaźnik, różne wyniki

Pierwszy szacunek terminowości dostaw wyszedł zaniżony. Trzy sposoby liczenia dawały trzy różne wyniki: z pominięciem niewysłanych przeterminowanych, z pierwszym wydaniem zamiast domknięcia i względem przesuniętego terminu. Bez spisanej metodyki każdą z tych liczb dało się obronić i podważyć.

03 · Termin

Prognoza terminu odbiegała od przelotu

Prognoza terminu z systemu źródłowego odbiegała od faktycznych przelotów, bo nie uwzględniała kolejek. Handlowiec nie miał daty, na której można polegać.

04 · Historia danych

Wiarygodna dopiero od uruchomienia modułów

Dane historyczne są wiarygodne od momentu uruchomienia poszczególnych modułów. Raport sięgający wstecz musi to pokazywać, inaczej porównanie rok do roku wprowadza w błąd.

05 · Spór o liczbę

Liczba bez drogi do dokumentów

Gdy wartość sprzedaży z pulpitu jest kwestionowana, a nie da się jej prześledzić do dokumentów, nie ma jak rozstrzygnąć, której wersji wierzyć. Dyskusja o liczbie zastępuje wtedy dyskusję o decyzji.

06 · Obieg dokumentów

Wprowadzanie zamówień obciąża handel

Wymóg zarządu: odciążyć dział handlowy, przekazując wprowadzanie zamówień partnerom. Partnerzy mieli widzieć obciążenie produkcji w panelu.

Co zbudowałem

Moduły, role i status

Status „Na produkcji” oznacza, że moduł jest wdrożony na serwerze firmy (według notatek wydań z września i października 2026). Nie oznacza codziennego użycia: tego nie mam potwierdzonego dla żadnego modułu.

  • Na produkcji wdrożony na serwerze firmy
  • Zbudowany jest w kodzie, użycie niepotwierdzone
Moduły panelu operacyjnego, ich odbiorcy i status
ModułDla kogoStatus
Pulpit zarząduSprzedaż, finanse i produkcja w jednym miejscu, tempo względem celu miesięcznego, alerty „co wymaga uwagi”. Zarząd Na produkcji
Raporty sprzedaży i zamówieńPodziały według odbiorców, towarów, kanału i opiekuna, lejek ofert, uzgodnienie z systemem finansowym. Zarząd, handel Na produkcji
Terminowość dostawDwie wersje: względem pierwotnej obietnicy i po przeplanowaniu, z dokumentem metodycznym. Zarząd Na produkcji
Termin z pewnościąRekomendowana data realizacji w formularzu zamówienia i w widoku partnera. Handel, partner Zbudowany
Cel zamówień i lista działańSolver celu miesięcznego: otwarte oferty z powodem, dla którego warto do nich wrócić. Handel, zarząd Na produkcjiPierwszy etap, z listą działań.
Analiza produkcjiKolejka hali, kolejność robót, zlecenia bez ruchu, punkt zamówienia, szansa na czas i alarm „zwolniło”. Kierownik produkcji Na produkcji
Moduł handlowyOferty, zamówienia, odbiorcy i dostawcy, kalkulator cen. Dokument wystawia zalogowany pracownik, zapis idzie procedurami. Handel ZbudowanyProcedury zapisu są na produkcji, faktyczne użycie przez handel jest niepotwierdzone.
Portal partnera B2BZamówienia, oferty, produkcja, kalendarz, wysyłki, status liczony ze zdarzeń. Partner widzi wyłącznie swoje dane. Partnerzy B2B Zbudowany, wdrażanyWdrażany. Dostęp dla partnerów jest w przygotowaniu.
AdministracjaUprawnienia, dostęp partnerów, cele i progi, stan systemu. Właściciel procesu steruje nimi bez udziału programisty. Właściciel procesu Na produkcjiCzęść zakresu.
Warstwa AIKomentarz do zagregowanych liczb i asystent analityczny pracujący na agregatach. Zarząd ZbudowanyWłączana po akceptacji zasad przetwarzania danych.
Dostęp mobilnyOdczyt na telefonie, jako aplikacja instalowana z przeglądarki. Użytkownicy wewnętrzni Na produkcji

Mechanizmy

Sześć mechanizmów panelu

Każdy odpowiada na jeden problem z sekcji wyjściowej.

  1. 01

    Termin z pewnością

    Panel nie ufa prognozie systemu źródłowego. Liczy datę z historii przelotów w grupie wyrobów, według percentyla P80, czyli „w ośmiu przypadkach na dziesięć termin zostanie dotrzymany”, i dolicza kolejkę gniazd. Wąskim gardłem jest gniazdo z najdłuższym czekaniem.

    Zamówienia jeszcze niezakończone liczę jako obserwacje niepełne (metoda Kaplana–Meiera). Bez tego liczyłyby się tylko zamówienia, które już się skończyły, i termin wyszedłby zbyt optymistycznie. Partner widzi samo „+X dni”, handlowiec widzi rozbicie.

  2. 02

    Uzgodnienie z systemem finansowym

    Ekran uzgodnienia pokazuje warianty liczenia sprzedaży, różnice między nimi i to, z czego powstaje liczba. Definicja panelu stoi obok definicji systemu finansowego, więc spór o to, która jest właściwa, toczy się na widoku. Raport „Analiza sprzedaży wg odbiorcy” odwzorowany w panelu zgadza się z SAP co do grosza w sześciu ustawieniach raportu, co sprawdziłem czterema niezależnymi drogami (stan: październik 2026). Kwot nie podaję.

  3. 03

    Każda liczba klikalna do dokumentu

    Wskaźnik prowadzi do raportu, raport do listy dokumentów, lista do pojedynczego dokumentu. Przy procentach jest też kwota bezwzględna. Gdy brakuje źródła, ekran pokazuje komunikat o braku danych.

  4. 04

    Cel zamówień jako rachunek i monitor tempa

    zamówienia=liczba ofert×skutecznośćלrednia wartość

    Taką formułę da się sprawdzić z rzeczywistością miesiąc po miesiącu. Sprawdzenie na danych historycznych odrzuciło punktową prognozę w połowie miesiąca, więc panel porównuje dwa tempa, dotychczasowe i potrzebne, a prognozę podaje tylko jako widełki z historycznym błędem metody. Dźwignie liczy ze stałego okna dojrzałych ofert. Moją wcześniejszą tezę obaliło to samo sprawdzenie i ją usunąłem.

  5. 05

    Spisana metodyka i granice wiarygodności danych

    Terminowość ma dokument metodyczny z przypadkami brzegowymi: trzy daty (zamówienia, obietnicy, logistyczna), przeterminowane niewysłane, dostawy częściowe, pokrycie, tolerancja. Okresy, w których dane źródłowe są niewiarygodne, są oznaczone na ekranie, a porównania rok do roku w tych okresach wygaszone. W takich okresach asystent AI nie dostaje porównań rok do roku.

  6. 06

    Testy niezmienników

    Testy sprawdzają niezmienniki: suma raportu domyka się z niezależnym zapytaniem, udziały nie przekraczają całości, klasyfikacja statusów pokrywa wszystkie wartości. W ten sposób wyłapałem własne błędy, między innymi fałszywą skuteczność ofert wynikającą z błędnej definicji „wygranej”.

Wdrożenie jako proces zarządczy

Decyzje, role, zgody i bramki

Technologia jest tu kontekstem. O powodzeniu decydowało, kto zleca, kto odpowiada za liczbę, na co ktoś wyraził zgodę i co musi się zgadzać, zanim wydanie trafi na serwer.

  1. 01

    Decyzje

    Kolejność wynikała z ryzyka: najpierw raporty, które niczego nie zmieniają w systemie źródłowym, potem portal partnera, na końcu zapisy.

    Zapis idzie własnymi procedurami, co daje niezależność od harmonogramu wydań dostawcy i zgodność z regułami aplikacji źródłowej. Dostawca modelu AI jest wymienny konfiguracją.

  2. 02

    Role i odpowiedzialność

    • Zarząd i właściciel zlecają, ustalają priorytety i odbierają. Ekran uznaję za gotowy, gdy jego liczba zgadza się z niezależnym zapytaniem do bazy i z systemem źródłowym.
    • IT firmy decyduje o kontach, serwerze, sieci i certyfikatach. Dostawca systemu MES odpowiada za swoje wydania i strukturę bazy, której nie zmieniam.
    • Ja jako wykonawca projektuję, buduję i odpowiadam za jakość. Decyzje o danych, strukturze bazy i kontach zostają po stronie ludzi, a instalacje na serwerze produkcyjnym wykonuje człowiek.
  3. 03

    Zgody na odczyty i zmiany

    Odczyty: odczyty z systemów firmy wykonuję w uzgodnionym zakresie, krótkimi zapytaniami o ograniczonym zakresie, bez blokowania. Ciężkie sondy uruchamiam po godzinach.

    Zmiany danych: wymagają osobnej decyzji i idą wyłącznie przez procedury w osobnym schemacie. Wgrywam je małymi falami, każdą najpierw na kopii testowej i po wyraźnej zgodzie.

  4. 04

    Bramki wydania

    Lista kontrolna wydania:

    • znacznik wersji w repozytorium i zielone testy w automatycznej kontroli (CI),
    • paczka wdrożeniowa z sumą kontrolną SHA‑256,
    • kopia danych i kluczy,
    • wdrożenie w oknie poza szczytem,
    • sprawdzenie kontroli stanu i kluczowych ekranów w przeglądarce,
    • ręczne nadanie uprawnień do nowych modułów.

Tryb pracy: krótkie iteracje, spotkania przeglądowe z numerowanym rejestrem próśb, wydania małymi fazami i krótki film pokazujący, co się zmieniło. Każdy ekran od pierwszej wersji powstaje w trzech językach.

Architektura i bezpieczeństwo danych

Panel uzupełnia system źródłowy

Zapisy do systemu MES przechodzą tylko przez własne procedury, które odtwarzają numerację i skutki uboczne zgodnie z regułami aplikacji źródłowej. Dokument z panelu powstaje tak, jak z systemu źródłowego.

Schemat architektury panelu operacyjnego Dane płyną z systemu MES i systemu finansowego przez warstwę danych, odczytywaną bez blokad, do reguł poprawności, a stamtąd do panelu wewnętrznego, portalu partnera B2B i warstwy AI. Zapisy do systemu MES przechodzą wyłącznie przez procedury zapisu. Warstwa AI dostaje tylko zagregowane liczby i opcjonalnie korzysta z dostawcy modelu poza środowiskiem firmy. Dostawca modelu AI chmura lub model lokalny ŚRODOWISKO PRODUCENTA ŹRÓDŁA DANYCH WARSTWA DANYCH I REGUŁ ODBIORCY System finansowy odczyt, wspólny limit równoległych żądań System MES dokumenty sprzedaży, zamówienia i produkcja odczyt bez blokad, krótkie zapytania o ograniczonym zakresie Warstwa danych odczyt bez blokad, cache z blokadą na klucz Reguły poprawności jedno miejsce dla definicji raportów i statusów Procedury zapisu osobny schemat, numeracja jak w systemie MES Warstwa AI tylko zagregowane liczby, włączana po akceptacji zasad Portal partnera B2B filtr z podpisanej tożsamości dostęp tylko do własnych danych Panel wewnętrzny zarząd · handel · produkcja interfejs w trzech językach opcjonalnie zapis wyłącznie przez procedury w osobnym schemacie Schemat architektury panelu operacyjnego (układ pionowy) Odczyt: system finansowy i system MES zasilają warstwę danych, odczytywaną bez blokad, a ta reguły poprawności; z nich korzysta panel wewnętrzny i portal partnera B2B. Zapis: procedury zapisu w osobnym schemacie prowadzą do systemu MES. Warstwa AI dostaje tylko zagregowane liczby i opcjonalnie korzysta z dostawcy modelu poza środowiskiem firmy. ŚRODOWISKO PRODUCENTA ODCZYT System finansowy odczyt, wspólny limit równoległych żądań System MES dokumenty, zamówienia, produkcja odczyt bez blokad, krótkie zapytania o ograniczonym zakresie Warstwa danych odczyt bez blokad repozytoria, cache z blokadą na klucz Reguły poprawności jedno miejsce dla definicji raportów Panel wewnętrzny zarząd · handel · produkcja Portal partnera B2B filtr z podpisanej tożsamości dostęp tylko do własnych danych ZAPIS Procedury zapisu wywoływane z panelu, osobny schemat numeracja jak w systemie MES System MES dokument powstaje tak jak z MES OPCJONALNIE Warstwa AI: tylko agregaty domyślnie wyłączona do akceptacji zasad przetwarzania danych Dostawca modelu AI chmura lub model lokalny opcjonalnie
Schemat uproszczony. Nazwy systemów ogólne, stan opisu: październik 2026. Przerywana ramka oznacza środowisko firmy; poza nim leży wyłącznie opcjonalny dostawca modelu AI.

Jak płyną dane

  1. Źródła. System MES i system finansowy są źródłami danych. Panel czyta je bez blokad, krótkimi zapytaniami o ograniczonym zakresie, a do systemu finansowego obowiązuje wspólny limit równoległych żądań.
  2. Warstwa danych i reguły. Repozytoria z pamięcią podręczną przekazują dane do reguł poprawności. To jedno miejsce, w którym są definicje raportowe, na przykład wykluczanie anulowanych i klasyfikacja statusów.
  3. Odbiorcy. Panel dla zarządu, handlu i produkcji oraz portal partnera B2B pobierają dane po regułach. Partner widzi wyłącznie swoje dane.
  4. Zapis. Dokument trafia do systemu MES wyłącznie przez procedury zapisu w osobnym schemacie.
  5. AI. Warstwa AI dostaje tylko zagregowane liczby i jest domyślnie wyłączona do akceptacji zasad przetwarzania danych. Dostawca modelu, chmurowy albo lokalny, leży poza panelem.

Zabezpieczenia i dyscyplina

Odczyt bez blokowania, limity w kodzie
Pula połączeń jest ograniczona, zapytania mają limit czasu, a do systemu finansowego obowiązuje wspólny sufit równoległych żądań. Aplikacja podpisuje sesje własną nazwą, więc widać ją w monitoringu serwera.
Zapisy tylko przez procedury
Dokumentów w tabelach źródłowych nie zmieniam inaczej niż przez te procedury.
Pamięć podręczna z blokadą
Blokada na klucz sprawia, że ciężkie zapytanie nie uruchamia się wielokrotnie naraz. Odświeżanie w tle i przygotowanie po starcie ograniczają czekanie ekranu.
Izolacja danych partnera
Filtr bierze się z tożsamości w podpisanym ciasteczku. W teście próbuję pobrać cudze dane i system musi odmówić. Hasła przechowuję w postaci zaszyfrowanej, z limitem prób logowania i śladem logowań.
AI wyłącznie na agregatach
Model nie ma dostępu do bazy, narzędzia zwracają mu zagregowane liczby. Interfejs zabrania wpisywania nazw klientów, numerów zamówień i danych osobowych, a pytania są ograniczone długością i tempem. Pod komentarzem widać listę liczb, na których powstał. Awaria AI jest cicha i nie przewraca ekranu. Funkcje AI wymagają dostawcy modelu, więc nie opisuję ich jako działających wyłącznie wewnątrz sieci firmowej.
Samowystarczalność
Brak zewnętrznych sieci dostarczania treści i skryptów, interfejs działa w sieci bez internetu.
Monitoring i wydania
Kontrola stanu sygnalizuje, gdy baza nie odpowiada. Dziennik plikowy z rotacją, ostrzeżenie o zbyt długich zapytaniach, osobna kopia danych aplikacji. Aktualizacja nie nadpisuje danych, kluczy ani certyfikatów.
Weryfikacja uprawnień
Nie ufam deklaracjom uprawnień, sprawdzam je. Dodaję też własne bezpieczniki.

Ryzyka i status danych

Co jest potwierdzone, a co nie

Pomiar efektu przed i po nie został jeszcze wykonany, dlatego nie podaję żadnych oszczędności ani poprawy wskaźników.

Potwierdzone

Zbudowane, część na serwerze firmy

  • Moduły oznaczone „Na produkcji” są wdrożone na serwerze firmy.
  • Zarząd przegląda ekrany i zgłasza uwagi na spotkaniach przeglądowych.
  • Liczby o oprogramowaniu (ekrany, testy, języki) mają datę i zakres.

Niepotwierdzone

Użycie

  • Codzienne użycie któregokolwiek modułu.
  • Liczba i role użytkowników.
  • Czy partnerzy logują się do portalu i składają zamówienia.

Nie deklaruję

Efektu przed i po

Nie mam pomiaru czasu przygotowania raportu zarządczego, liczby zapytań do handlu o termin ani terminowości dostaw.

Pierwsze dwa mierniki, które proponuję: czas przygotowania jednego raportu zarządczego oraz liczba zapytań do handlu o termin. Metodę trzeba uzgodnić z firmą.

Dla Twojej firmy

Zaczynam od jednego procesu i jednej liczby

Panel stawia się obok działającego MES lub ERP, więc system produkcyjny zostaje na miejscu. Punktem wyjścia jest liczba, której dziś nie da się obronić, albo termin, którego nikt nie umie uzasadnić. Warto porozmawiać, jeśli rozpoznajesz u siebie jedną z sytuacji:

  • Zarząd, handel i finanse liczą ten sam wskaźnik różnie, a spór kończy się pytaniem „skąd ta liczba”.
  • Handlowiec obiecuje termin, którego nie potrafi uzasadnić historią przelotów.
  • Status zamówień krąży w mailach zamiast w jednym widoku, który mogą otworzyć partnerzy.

Jak podchodzę do samych połączeń: odczyt z SAP Business One oraz dodatek do Autodesk Inventor dla działu konstrukcji (status: gotowy do produkcji, wdrażany w dziale konstrukcji).