Desktopowe oprogramowanie korporacyjne w modułowy SaaS z mikroserwisami dla redukcji kosztów wsparcia o 40%
Profil klienta
Klient jest europejskim dostawcą kompleksowego rozwiązania IT dla organizacji z branży opieki społecznej. Misją klienta jest pomoc w automatyzacji i usprawnieniu kluczowych przepływów pracy w przedsiębiorstwie, takich jak rekrutacja i wdrażanie, rozliczanie płac, fakturowanie usług, zarządzanie dokumentami, wsparcie IT i inne.
Wyzwanie
Przez lata klient dystrybuował swoje rozwiązanie jako licencjonowane, monolityczne oprogramowanie desktopowe. Jednak z czasem ten model dystrybucji zaczął przynosić klientowi niepewność co do dalszego rozwoju produktu. Raporty dotyczące problemów z instalacją i aktualizacją rosły wraz z bazą użytkowników. Ponieważ różni klienci końcowi napotykali różne problemy z powodu korzystania z własnych środowisk, koszty wsparcia klienta były stale wysokie i stale rosły.
Pomimo ciągłego napływu nowych użytkowników, wskaźnik retencji stale spadał. Nawet długoterminowi klienci, niezadowoleni z charakteru oprogramowania opartego wyłącznie na komputerach stacjonarnych i niskiego poziomu konfigurowalności, zaczęli wyrażać zamiar przejścia na rozwiązania konkurencji. Użytkownicy chcieli produktu opartego na Internecie i bardziej konfigurowalnego, który pozwoliłby im wybrać moduły przepływu pracy do zainstalowania.
Rozwiązanie
Ryzykując utratę lojalnych klientów i płacąc już zbyt wysoką cenę za wdrażanie nowych, klient poprosił SaM Solutions o pomoc w pełnej modernizacji swojego stacjonarnego oprogramowania dla przedsiębiorstw i przekształceniu go w modułowy SaaS oparty na chmurze.
Faza discovery i planowanie projektu
Współpraca rozpoczęła się od szczegółowej oceny specyfikacji wymagań klienta. Nasz zespół przeprowadził szczegółową ocenę techniczną istniejącego rozwiązania, wskazując jego mocne strony funkcjonalne, a także możliwości ulepszeń technicznych, a następnie ściśle współpracował z Product Ownerem klienta w celu sfinalizowania dokumentacji projektowej. Specyfikacja została dostarczona w czasie krótszym niż 2 miesiące:
- Łatwo skalowalna architektura mikroserwisów przyszłego rozwiązania.
- Podstawowa logika oprogramowania.
- Ponad 10 oddzielnych modułów funkcjonalnych (zarządzanie dokumentami, księgowość płacowa, usługi rozliczeniowe itp.) do wyboru przez użytkowników i tworzenia niestandardowych zestawów funkcjonalnych.
Zakres prac został odpowiednio zaplanowany: najpierw programiści mieli zbudować podstawową infrastrukturę w oparciu o nasz niestandardowy produkt RollingStack podobny do Kubernetes, następnie opracować podstawową logikę rozwiązania SaaS i przystąpić do przeprojektowania modułów funkcjonalnych, jeden po drugim.
Rozwój i testowanie
Zespół SaM Solutions składający się z 6 programistów full-stack, 2 ekspertów QA i 1 inżyniera DevOps pracował w ścisłej współpracy z wewnętrznym zespołem programistycznym klienta jako rozszerzone środowisko pracy Agile. Przez cały czas trwania projektu prowadzili cotygodniowe prezentacje dla klienta i przestrzegali początkowego harmonogramu projektu:
- 3 miesiące na zbudowanie podstawowej infrastruktury i funkcjonalności SaaS.
- do 2 miesięcy na każdy moduł (czas różnił się w zależności od złożoności każdego modułu).
- 2 miesiące na ostateczne zapewnienie jakości (w tym UAT) i pełne wydanie rozwiązania.
Aby zmniejszyć ryzyko przyszłych przeróbek, które mogłyby potencjalnie opóźnić pełne wydanie produktu, eksperci SaM Solutions ds. kontroli jakości przeprowadzili zautomatyzowane i ręczne testy równolegle z rozwojem. Po opracowaniu i dokładnym przetestowaniu każdej strategicznie zaplanowanej jednostki, nasz specjalista DevOps wdrożył ją w chmurze.
RollingStack (nasze niestandardowe rozwiązanie podobne do Kubernetes) pomogło klientowi skonfigurować własny pipeline CI/CD dla przyszłych aktualizacji i przeszkolić zespół wewnętrzny w zakresie zarządzania DevOps. Rozwiązanie jest kompatybilne z wdrożeniami lokalnymi i w chmurze, posiada intuicyjny interfejs użytkownika, który upraszcza i przyspiesza szkolenia wewnętrzne.
Technologie
Backend: .NET Core, Web API, Swagger OpenAPI, PostgreSQL, MongoDB, Kafka, REST.
Frontend: Blazor, CSS.
Środowisko, serwery i inne technologie: Webpack, Docker, Sass, Kubernetes, RollingStack, Elasticsearch, Wix, FluentD, Kibana, Keycloak, Prometheus, Grafana, YAML, NuGet, Nginx, HAProxy.
Kontrola źródła: GitLab, SonarQube.
Śledzenie zadań: Jira.
Sukces
W pełni zmodernizowane oprogramowanie zostało wydane 18 miesięcy po rozpoczęciu projektu, zgodnie z planem. Obecnie 3 ekspertów SaM Solutions nadal zapewnia wsparcie i doradztwo techniczne dla wewnętrznego działu IT klienta.
Łatwy dostęp online, który nie wymaga ręcznej instalacji ani aktualizacji, pomógł już klientowi obniżyć koszty wsparcia o 40%. Architektura mikroserwisów i wykorzystanie niestandardowego narzędzia DevOps firmy SaM Solutions również przyspieszyły dostarczanie aktualizacji przez klienta z 1 miesiąca do zaledwie kilku dni. A co najważniejsze, wysoki poziom konfigurowalności nowej koncepcji modułowej pomógł nie tylko przywrócić wskaźnik retencji, ale także zwiększyć go do 95%.