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%.