Software maintenance: case study

Andrew Radcliffe

Co-founder and CEO of Spyrosoft Ltd.

Po poprzednich artykułach dotyczących strategii konserwacji w 2020 roku i ich znaczeniu w kryzysie chcemy pokazać wam, jak działają one w praktyce. Opowiemy więc bardziej szczegółowo o rodzaju produktów i usług, nad których rozwojem pracujemy.

Z góry warto zaznaczyć, że działania związane z software maintenance mogą obejmować przeglądy i restrukturyzację dokumentacji projektowej oraz hosting, a także audyty infrastruktury oraz wsparcie i poprawki serwisowe.

Audyt i aktualizowanie infrastruktury oprogramowania

Naszym klientem jest jeden z największych dostawców oprogramowania działających w branży retail. Jego unikalne rozwiązanie upraszcza procesy zarządzania sklepami i kategoriami produktów, a także zapobiega stratom poprzez wykorzystanie osobistego cyfrowego asystenta (PDA). Urządzenie automatycznie skanuje przedmioty i jest już powszechnie stosowane, służąc zarówno wygodzie, jak i większym sklepom. Firma pracuje również nad rozwojem urządzeń dla nowych kategorii - rozrywki i gier komputerowych - oraz dla innych branż.

Jaka jest rola Spyrosoft w tym projekcie?

Zrealizowaliśmy kilka zadań związanych z software maintenance - w tym zadania z zakresu dokumentacji i infrastruktury projektu.

Musieliśmy pracować z legacy code, a to wymagało stworzenia nowej architektury i dokumentacji. Początkowo zakres naszej pracy koncentrował się na ustaleniu, które elementy rozwiązania sprawnie funkcjonują, jaki jest sposób ich działania, jakie są możliwe zagrożenia dla bezpieczeństwa i jak dalej rozwijać ten projekt. Największym wyzwaniem dla klienta było to, że na tym etapie rozwoju rozwiązanie nie było na tyle wydajne, by sprostać wymaganemu poziomowy obciążenia.

Zespół Spyrosoft nie tylko podjął wyzwanie, lecz w efekcie wręcz przekroczył wymagania projektu. Nasz wstępny audyt ujawnił obszary wymagające poprawy. Po ich ustaleniu rozpoczęliśmy planowanie nowej architektury. Kiedy zaczynaliśmy pracę nad rozwiązaniem, nie było testów jednostkowych ani integracyjnych. Istniejące środowisko testowe w połączeniu z ciągłą integracją i rozwojem znacząco obniżały stopień niezawodności narzędzia.

Pierwszym zadaniem było uporządkowanie kodu i dostarczenie dokumentacji - dało nam to podstawę do stworzenia listy najpilniejszych zmian. W ciągu ostatnich sześciu miesięcy byliśmy w stanie stworzyć środowisko programistyczne, monitorując ciągłą integrację i rozwój. Stworzyliśmy również nowe środowisko testowe.

Kolejnym etapem było poprawienie wydajności rozwiązania bez dodawania nowego sprzętu i maksymalne uproszczenie obsługi. Skupiliśmy się na połączeniu aplikacji o tym samym celu, a następnie na podzieleniu największych monolitów na mikroserwisy. We wszystkich nowo tworzonych aplikacjach korzystamy z platformy .NET Core i najnowszego frameworka .NET przy zachowaniu starych kodów. W ten sposób możemy zapewnić zespołowi naszego klienta niezbędną pomoc techniczną.

Jeśli chodzi o dalszy rozwój, nieustannie szukamy nowych możliwości, ponieważ zmienia się zarówno zakres, jak i wymagania projektu. Naszym celem jest w tej chwili dostarczenie rozwiązań, które pomogą zespołowi wsparcia klienta oraz pracownikom magazynu. W miarę możliwości aktywnie przygotowujemy też integracje i automatyczne testy UI.

Dla aplikacji panelu pomocy (Support Dashboard), która będzie centrum łączącym wszystkie inne elementy projektu, jako Frameworka UI używamy technologii Blazor. Technologia jest nowym dodatkiem do rodziny .NET, zaimplementowanym po raz pierwszy przez Spyrosoft.

Rozwój i utrzymanie aplikacji mobilnych

Innym naszym klientem jest znana brytyjska instytucja, działająca z powodzeniem jako firma od lat 90. XVIII wieku. Zależy jej na tym, by być stale na bieżąco w erze cyfrowej, jednocześnie osiągając ambitne cele rozwoju.

Firmie tej przyświeca jednak także znacznie ważniejszy cel. Według badań przeprowadzonych przez Sport England, 20 milionów ludzi w Wielkiej Brytanii chce angażować się w więcej aktywności na świeżym powietrzu – wystarczy ich do tego zachęcić. Zespół naszego klienta chciał przekształcić tę zachętę w swoją podstawową misję na następne 5 lat. Jednym z tematów wspierających nowy kierunek rozwoju była tendencja do częstszego występowania otyłości w Wielkiej Brytanii, związana z oszałamiającym spadkiem wskaźników aktywności dla dzieci w wieku 7-15 lat oraz dla prawie wszystkich grup wiekowych osób dorosłych.

Zespół naszego klienta chciał rozwiązać te problemy, opracowując zestaw 7 cyfrowych narzędzi, które zachęciłyby większą liczbę osób do tego, by po prostu wyjść na zewnątrz. W tym momencie zespół Spyrosoft wszedł do gry w roli partnera i wsparcia technicznego.

Nasz ponad 30-osobowy zespół inżynierów: programistów, specjalistów QA, projektantów UX/UI, analityków biznesowych i kierowników projektów zajmuje się hostingiem i ciągłym rozwojem zestawu narzędzi. Do ich zadań należy również dbanie o utrzymanie i konserwację różnych produktów (platforma backendowa, aplikacje webowe i mobilne) w ścisłej współpracy z zespołem klienta.

Obecnie nasz zespół posiada wszechstronne kompetencje i może w razie potrzeby przemieszczać się między projektami.

Rdzeniem projektu jest hosting i stworzenie oraz rozwój aplikacji. Jeśli chodzi o zadania konserwacyjne, nasi inżynierowie zapewniają wsparcie serwisowe drugiej linii w dni powszednie w godzinach od 8:00 do 20:00 czasu brytyjskiego. Usługi w trybie gotowości są wykonywane 24 godziny na dobę i uzupełniane w razie potrzeby.

Twój ruch

Niezależnie od tego, czy potrzebujesz zewnętrznego zespołu zajmującego się software maintenance, czy po prostu chcesz wiedzieć, od czego zacząć - w obu sytuacjach możemy Ci pomóc. Sprawdź nasze poprzednie posty na temat strategii utrzymania oprogramowania i zalet software maintenance, aby uzyskać więcej informacji.