To studium przypadku jest zanonimizowane. Budujemy systemy wewnętrzne, więc opisujemy rodzaj systemu i powód jego powstania, a nie dla kogo.
Sytuacja wyjściowa
Klientem jest średnia firma produkcyjna. Towar przychodzi, przechodzi przez produkcję, jest pakowany, składowany i wysyłany do klientów. Każdy z tych kroków był już zapisywany, tyle że na papierowych formularzach, w arkuszach i w głowach kilku doświadczonych osób.
Problemem nie był brak informacji, tylko to, że nie były ze sobą połączone. Zapis przyjęcia nie wiedział, która produkcja zużyła materiał. Zapis produkcji nie wiedział, ile ta produkcja kosztowała. Odpowiedź na proste pytanie, na przykład gdzie trafiła partia albo ile naprawdę kosztował miesiąc produkcji, oznaczała zbieranie papierów i ręczne składanie obrazu.
Co zbudowaliśmy
Jedną aplikację webową, która działa na telefonach i tabletach, które ludzie na hali już mają, oraz panel administracyjny dla kierownictwa. Jest zbudowana na Supabase: baza Postgres na rekordy, uwierzytelnianie i role do kontroli dostępu, magazyn plików na zdjęcia i dokumenty oraz funkcje serwerowe do obliczeń, które nie mogą działać w przeglądarce.
Aplikacja obejmuje główne procesy firmy:
- Przyjęcie. Przychodzący towar jest rejestrowany z partią, datą ważności, ilością i miejscem składowania, ze zdjęciami i podpisem na urządzeniu.
- Zapisy produkcji. Każda produkcja zapisuje, co weszło, co wyszło i co zużyto po drodze. Wyjścia są powiązane z wejściami, z których powstały, więc każdą partię da się prześledzić w obu kierunkach.
- Wysyłka. Wychodzące przesyłki są rejestrowane z klientem, danymi transportu i podpisem przy przekazaniu.
- Planowanie i zapisy jakości. Plan zmian i rutynowe kontrole wymagane przez dział jakości, każda z eksportem do dokumentu.
- Koszty produkcji. System zbiera składniki kosztu produkcji, więc kierownictwo widzi koszty z tych samych rekordów, które powstają na hali, a nie z osobnego arkusza.
Role decydują, kto co widzi. Osoba na hali dostaje ekrany do swojej pracy i nic więcej, kierownictwo dostaje przegląd. Formularze zapisują się w trakcie pisania, bo w połowie wypełniony rekord na tablecie nie może przepaść przez zerwane połączenie.
Jak to działa na co dzień
Ludzie zapisują pracę tam, gdzie się dzieje, na urządzeniu w ręku, zamiast na papierze, który ktoś później przepisuje. Partię da się prześledzić od dostawy do klienta po powiązaniach w danych. Na koniec okresu kierownictwo go sprawdza i zamyka, a zamknięty okres zachowuje migawkę wartości, na których się opierał, więc późniejsze zmiany po cichu nie przepisują historii.
W praktyce nikt już nie przepisuje papierowych zapisów do arkuszy, a pytania, które wcześniej zajmowały popołudnie szukania, obsługuje system.
Czego się nauczyliśmy
Brakująca wartość nigdy nie może wyglądać jak zero. Każde obliczenie zależne od danych referencyjnych, na przykład cen lub stawek zmieniających się w czasie, musi odróżniać „to nic nie kosztuje” od „nie wiemy, ile to kosztuje”. Gdy system po cichu traktuje brak danych jak zero, liczby wyglądają wiarygodnie i nikt niczego nie zauważa. Pokazujemy więc brakujące dane i blokujemy obliczenia, od których zależą wypłaty, dopóki dane nie są kompletne.
Sprawdź, czy obie połowy funkcji są połączone. Ekran wprowadzania i obliczenie, które ma z niego korzystać, mogą się rozjechać, gdy system rośnie. Zanim założysz, że ludzie wpisują dane źle, sprawdź, czy to, co wpisują, naprawdę trafia do obliczenia i czy pomoc w aplikacji opisuje system tak, jak faktycznie działa.
Zasady dotyczące pieniędzy potrzebują zabezpieczeń, nie tylko wzorów. Ustawień dających bezsensowny wynik nie powinno się dać zapisać, niekompletny rekord powinien mówić, czego brakuje, a wyniki wpływające na wypłaty są po zatwierdzeniu blokowane. Takie zabezpieczenia zwykle wynikają z pierwszych miesięcy prawdziwego użytkowania, dlatego planujemy drugą iterację i nie traktujemy startu jako końca.
Buduj pod urządzenie i człowieka. Duże przyciski dotykowe, mało pól na ekranie i automatyczne zapisywanie znaczą w magazynie więcej niż jakikolwiek szlif wizualny.
Której usłudze to odpowiada
To oprogramowanie na zamówienie: jeden system zbudowany wokół tego, jak konkretna firma przyjmuje, produkuje i wysyła, zamiast ogólnego produktu, do którego trzeba naginać proces. Jeśli Twoja firma działa na papierowych formularzach i arkuszach, które ze sobą nie rozmawiają, to dokładnie ten rodzaj problemu, do którego pasuje to podejście.