Nowy standard. Twoje centrum tworzenia inteligentnego, szybkiego i zrównoważonego oprogramowania AI

Długofalowe partnerstwo w tworzeniu oprogramowania z Systems Engineering
Monterail pomógł Systems Engineering przepisać prototypową aplikację opartą na Ruby na produkt gotowy do zastosowań klasy enterprise, poprawiając jego możliwości, skalowalność i wydajność. Nasi deweloperzy pracowali też nad aplikacją mobilną klienta oraz migracją platformy webowej z Vue 2 do Vue 3.

Firma i produkt
Systems Engineering A/S dostarcza framework, który pomaga skutecznie projektować i dostarczać złożone systemy, zarówno od strony technicznej, jak i zarządczej.
Projektowanie systemów inżynieryjnych samo w sobie jest wymagającym zadaniem. Koordynacja wielu elementów nigdy nie jest prosta, a żeby system działał skutecznie, trzeba spełnić liczne normy i wytyczne, w tym ISO i IEC.
Dodatkowo proces inżynierii systemowej wiąże się z wyzwaniami komunikacyjnymi. Tak złożone systemy wymagają harmonijnej współpracy między różnymi dyscyplinami i zespołami, a także raportowania wyników interesariuszom przez inżynierów.
Rozwiązanie Systems Engineering ma dwa wymiary. Po pierwsze, firma gromadzi wszystkie narzędzia potrzebne do skutecznego projektowania złożonych systemów i usprawnia ich wzajemne połączenia. To offline'owa część ich pracy. Drugi wymiar jest online: zaawansowane oprogramowanie chmurowe wspierające korzystanie z tych narzędzi.
Opinia klienta

Monterail rozumie potrzeby biznesowe
Ta długofalowa współpraca po prostu się sprawdza, bo możemy liczyć na to, że deweloperzy rozumieją potrzeby biznesowe i przekładają je na wymagania techniczne. Udało nam się osiągnąć nawet więcej, niż się spodziewaliśmy: od firmy działającej jak startup staliśmy się organizacją, która dostarcza dojrzałe oprogramowanie.
Zakres i najważniejsze elementy
ZWINNA WSPÓŁPRACA I PŁYNNE PRZEKAZANIE WIEDZY
WEB I MOBILE, BACKEND I FRONTEND
VUE.JS, RUBY ON RAILS, NEO4J, REACT NATIVE

Wyzwanie
Nasze partnerstwo zaczęło się od przepisania istniejącego rozwiązania chmurowego tak, by było wydajne i skalowalne.
Systems Engineering A/S miało prototypową aplikację, która pomagała innym firmom rozwijać systemy techniczne różnego typu. Ruby po stronie backendu pozwalało spełnić wymagania biznesowe, ale prototyp okazał się zbyt mało skalowalny. Dało się w nim projektować systemy inżynieryjne, ale nie był w stanie obsłużyć skali wymaganej przez klientów. Celem było przetwarzanie miliardów elementów, podczas gdy prototyp radził sobie z dziesiątkami tysięcy.
Naszym pierwszym celem było przepisanie istniejącego prototypu tak, by zapewnić mu wydajność i skalowalność. Aby obsłużyć wymaganą liczbę elementów, nową aplikację połączyliśmy z wydajną grafową bazą danych Neo4J oraz z Vue.js po stronie frontendu. Z czasem pracowaliśmy też nad aplikacją mobilną i pomogliśmy przenieść platformę webową z Vue 2 do Vue 3.
Kluczowe wyzwania
Przeprojektowanie mobilnej aplikacji towarzyszącej i wsparcie migracji z Vue 2 do Vue 3.
Aplikacja mobilna pozwala użytkownikom szybko wyświetlać kluczowe informacje z aplikacji webowej, w tym szczegóły dotyczące elementów stanowiących podstawę projektu systemu. Interfejs aplikacji mobilnej wymagał przeprojektowania, żeby poprawić User Experience. Zmiany wymagała też wykorzystywana technologia, ze względów bezpieczeństwa i dalszej rozbudowy, z React Native JavaScript na React Native TypeScript.
Choć podstawowa funkcjonalność miała pozostać taka sama, potrzebne były też nowe funkcje, takie jak możliwość przełączania się między workspace'ami, a także integracja z nowym API głównej usługi webowej.
Później jeden z naszych front-end developerów pracował też nad migracją platformy webowej Systems Engineering z Vue 2 do Vue 3.

Proces
Proces tworzenia oprogramowania zaczął się od zebrania wymagań i user stories.
Wspólnie z Systems Engineering dzieliliśmy wymagania i pomysły na mniejsze, konkretne zadania.
Powtarzaliśmy ten proces iteracyjnie na każdym etapie: tworzenia prototypu webowego, refaktoryzacji aplikacji mobilnej i migracji z Vue 2 do Vue 3. Dzięki temu wprowadziliśmy szereg usprawnień technicznych i funkcjonalnych, takich jak wdrożenie testów end-to-end czy wypracowanie najlepszego sposobu dodania funkcji, która pozwala użytkownikom dołączać do workspace'ów.
Przepisując i skalując PoC, zaczęliśmy od zera: zaprojektowaliśmy architekturę backendowej bazy danych Neo4J i zbudowaliśmy frontend. Przebudowa PoC zajęła 2 miesiące. Następnie przeszliśmy do tworzenia nowych funkcji.
Stworzyliśmy dwa podstawowe moduły: jeden do projektowania systemów elektrycznych, a drugi do łączenia tego obszaru z dwoma innymi elementami całego systemu inżynieryjnego. Przygotowaliśmy też moduł, który umożliwia porównywanie dwóch podobnych wersji komponentu inżynieryjnego oraz akceptowanie lub odrzucanie różnic. Zaprojektowaliśmy i zbudowaliśmy również wersję aplikacji dla indywidualnych inżynierów, spoza firm.
Później wspieraliśmy migrację frontendu platformy webowej z Vue 2 do Vue 3. Dzięki temu możliwe było większe ponowne wykorzystanie kodu, usunięcie kilku zewnętrznych zależności oraz dokładne przejrzenie i debugowanie każdego elementu interfejsu.
Tak to zadziałało:
Regularne omawianie priorytetów i planów przez interesariuszy Systems Engineering oraz deweloperów.
Przekładanie wymagań na rozwiązania techniczne i iteracyjne dopracowywanie koncepcji.
Zwinna współpraca i skalowanie zespołu deweloperskiego w górę lub w dół zależnie od potrzeb klienta.
Stałe skupienie na kontekście biznesowym klienta i ścisła współpraca między naszym zespołem w Polsce a ich zespołem w Kopenhadze.
Głos zespołu

Najlepszy projekt, przy którym pracowałem
Systems Engineering to jeden z najlepszych projektów w całej mojej karierze. Lubię wyzwania techniczne, z którymi mierzymy się każdego dnia, ale ten projekt poszerzył też nasze spojrzenie na stronę biznesową. Kiedy po raz pierwszy dołączyłem do warsztatów z Product Ownerem, dowiedziałem się, jak zaprojektowano standard ISO 81346. Zamiast się przestraszyć, byłem pod ogromnym wrażeniem i dlatego zacząłem czytać książkę o tej metodyce. Nigdy wcześniej nie pracowałem przy tak interesującym projekcie i wierzę, że już w najbliższej przyszłości usłyszy o nim cały świat.

Efekt
Dzięki naszej współpracy aplikacje mobilna i webowa Systems Engineering są funkcjonalne, bezpieczne, przygotowane na przyszłe potrzeby i oferują optymalne User Experience.
Choć podstawowa usługa webowa znacząco się zmieniła, aplikacja mobilna pozostała w pełni funkcjonalna i nadal wspierała komunikację wokół projektowanych systemów. Wdrożona przez nas funkcja workspace'ów pozwala użytkownikom patrzeć na ten sam temat z różnych perspektyw i prowadzić dyskusję pod różnym kątem.
Dostarczone przez nas oprogramowanie obsługuje miliardy elementów w systemach inżynieryjnych, a przy tym pozostaje skalowalne i wydajne. Jedna z wprowadzonych aktualizacji przyspieszyła działanie aplikacji nawet 20-krotnie. Stworzyliśmy też mobilną aplikację towarzyszącą dla głównego oprogramowania i wsparliśmy migrację platformy webowej z Vue 2 do Vue 3.
Z czasem Systems Engineering rozbudowało swój zespół wewnętrzny odpowiedzialny za tworzenie oprogramowania. Na każdym etapie wspieraliśmy ich w tym procesie, dbając o płynne przekazanie wiedzy z naszego zespołu do ich wewnętrznych deweloperów. Według stanu na 2025 rok jeden backend developer nadal wspiera zespół Systems Engineering.
O sukcesie tego projektu przesądziły następujące czynniki:
Znajdowanie kreatywnych rozwiązań technicznych dla złożonych wyzwań platformy służącej do tworzenia wielkoskalowych systemów.
Zrozumienie kontekstu biznesowego i zwinna współpraca przy proponowaniu rozwiązań odpowiadających na zmieniające się potrzeby klienta.
Iteracyjna współpraca z Systems Engineering w poszukiwaniu jak najlepszych rozwiązań dla aplikacji mobilnej.
Wsparcie migracji platformy z Vue 2 do Vue 3 w sposób odpowiadający zmieniającym się wymaganiom.
Zbudowanie silnej międzynarodowej współpracy między zespołami z Polski i Kopenhagi.
Przeczytaj więcej case studies

Bezpieczny dashboard do zarządzania majątkiem dla 4,4 mln kont finansowych
InvestmentLink stworzył CashDeck, aby dać doradcom finansowym jeden widok aktywów klientów rozproszonych między bankami, pożyczkami, kredytami hipotecznymi, akcjami, funduszami emerytalnymi i kartami kredytowymi. Firma już wcześniej dostarczała dane o funduszach emerytalnych ponad 10 000 doradców finansowych obsługujących 4,4 mln członków w Australii i Nowej Zelandii. Monterail zbudował działający tylko do odczytu, w pełni szyfrowany dashboard w Ruby on Rails i AngularJS, wykorzystując D3 do wizualizacji danych oraz architekturę zorientowaną na usługi do połączenia poszczególnych usług inwestycyjnych.

Rozwiązanie do analizy danych dla branży infrastrukturalnej
Databout, firma inżynieryjno-konsultingowa, potrzebowała intuicyjnej aplikacji internetowej, która usprawni analizy przestrzenne w projektach infrastrukturalnych. Nasz zespół zaprojektował przyjazny interfejs, który upraszcza wizualizację złożonych danych i pozwala zarówno użytkownikom wewnętrznym, jak i zewnętrznym łatwo prowadzić analizy oraz prognozować wzorce przestrzenne.

Jestem tutaj, żeby zebrać twoje wymagania, odpowiedzieć na wszystkie pytania i jak najszybciej przejść z twoim pomysłem do tworzenia oprogramowania.
Grzegorz Hajdukiewicz | Chief Delivery Officer