Działa? Nie dotykaj! O potrzebie ciągłych zmian
„ (…) Na tym świecie pewne są tylko śmierć i podatki” – cytat zaczerpnięty od Benjamina Franklina z całą pewnością można rozszerzyć o jeszcze jeden element – zmiany. Szczególnie w kontekście współczesnej inżynierii oprogramowania, gdzie tempo rozwoju nowoczesnych technologii sprawia, że zmiany są częste, szybkie i nieuniknione. Są one konieczne, aby zachować zgodność wykorzystywanych systemów informatycznych ze zmieniającym się prawem czy rosnącymi wymogami bezpieczeństwa.
Każda zmiana niesie jednak za sobą również pewne ryzyko, np. spadku wydajności lub destabilizacji systemu. I dlatego często zdarza się, że kolejne aktualizacje w oprogramowaniu są postrzegane jako niepotrzebne, kosztowne i nieprzynoszące realnej wartości biznesowej. Pojawia się pewien konflikt interesów: na bieżąco aktualizować wykorzystywane narzędzia i akceptować pewne ryzyko czy pozostać ze starą, ale dobrze znaną wersją programów komputerowych?
Strategia zmian
W rozważaniach, jaką strategię przyjąć w swojej organizacji, warto zastanowić się nad poniższymi pytaniami: Czy mogę sobie pozwolić na ryzyko korzystania z przestarzałego oprogramowania? Czy jestem w stanie akceptować zwiększający się koszt obsługi starego systemu?
Odpowiadając na nie, należy wziąć pod uwagę kilka czynników:
Bezpieczeństwo
Inżynieria oprogramowania rozwija się szybciej niż można to sobie wyobrazić, zarówno pod kątem zabezpieczeń jak i zagrożeń czyhających niemal na każdym kroku. Ochrona danych, szyfrowanie, zabezpieczenie dostępu – to tylko wierzchołek góry lodowej. Producenci oprogramowania każdego dnia mierzą się z kolejnymi sposobami cyberprzestępców na łamanie zabezpieczeń w tworzonych systemach, a więc korzystanie z przestarzałego oprogramowania naraża klienta na zwiększone ryzyko związane z przetwarzaniem danych – nieuprawniony dostęp, wycieki informacji wrażliwych.
Wydajność
Jest to zdolność systemu do przetwarzania informacji w jednostce czasu. Biorąc pod uwagę coraz większą liczba procesów biznesowych obsługiwanych przez wszelkiego rodzaju aplikacje można łatwo zauważyć, że ilość informacji przetwarzanych przez systemy komputerowe zwiększa się niewspółmiernie szybko w stosunku do rozwoju hardware’u. System, który jest zaprojektowany do przetwarzania tysiąca operacji na sekundę nie radzi sobie zbyt dobrze z milionami.
Jeśli proces zwiększania się wolumenu danych przebiega powoli, jest duża szansa, że użytkownicy nie zauważą spowolnienia systemu. Po prostu z każdym dniem przyzwyczają się do tego, że działa on minimalnie wolniej, zaakceptują to, nauczą się z tym żyć, inaczej wykorzystać czas oczekiwania na wynik zleconych operacji. Do czasu jednak, kiedy zobaczą różnicę.
Optymalizacja wykorzystywanych algorytmów pomaga w dostosowaniu oprogramowania do nowych warunków pracy, stosowanie nowych funkcjonalności baz danych, np. od Oracle lub języka programowania sprawia, że lepiej wykorzystywane są zasoby sprzętowe, dzięki czemu użytkownicy systemu szybciej wykonują niezbędne operacje w systemie i mogą poświęcić więcej czasu na inne zadania.
Zmiana procesów
Niełatwo nam zmieniać swoje przyzwyczajenia, w tym też procesy, które często były „doskonalone” przez lata i teraz sprawdzają się świetnie. Czy na pewno? Doświadczenie pokazuje, że aby pozostać na topie, należy ciągle się rozwijać. Z kolei, aby proces był skuteczny, musi on być nieustannie dopasowywany do otoczenia, które – czy tego chcemy, czy nie – ciągle się zmienia. Być może warto postawić na zmianę w wypracowywanych przez lata regułach i skorzystać z doradztwa ekspertów, którzy wskażą elementy do optymalizacji – możliwej dzięki nowym funkcjonalnościom systemu.
Bezpieczeństwo, wydajność i optymalizacja procesów w Unit4
W Unit4 wychodzimy naprzeciw zmianom w otaczającym nas środowisku. Nieustannie pracujemy nad rozwojem naszego oprogramowania, przede wszystkim pod kątem zgodności z wymogami polskiego prawa oraz funkcjonalnych wymagań naszych klientów.
Nie zapominamy jednak o zmianach niefunkcjonalnych, które obejmują opisane powyżej obszary: bezpieczeństwo, wydajność oraz optymalizacja procesów.
Zmiany w zakresie bezpieczeństwa prowadzone są we współpracy z zewnętrznym audytorem specjalizującym się w bezpieczeństwie oprogramowania. Aktualizacje sposobu zabezpieczania haseł użytkowników czy integracji z zewnętrznymi dostawcami tożsamości, takimi jak Microsoft czy Google znacząco wpływają na poprawę bezpieczeństwa danych w systemie Teta.
W zakresie wydajności wprowadzamy modyfikacje nie tylko w istniejących i sprawdzonych algorytmach. Obserwujemy nowości dostarczane przez różnych producentów, na czele z Microsoft i Oracle i wprowadzamy je do oprogramowania Teta, aby w pełni wykorzystywać możliwości głównych platform naszego systemu oraz redukować ryzyko powstawania i obsługi długu technologicznego.
Pracujemy nad standaryzacją procesów w celu redukcji kosztów obsługi oprogramowania. Wierzymy, że takie rozwiązanie oznacza dla Klienta mniej problemów, ponieważ Unit4 Polska gwarantuje jego sprawność oraz dostarcza ewentualne poprawki zgodnie z umową licencyjną.
Działania, nie tylko słowa
Zmieniamy również swoje procesy wypracowywane przez lata. W 2021 roku wprowadziliśmy znaczącą zmianę w wewnętrznych procesach wytwórczych. Dostosowaliśmy je do bieżących standardów rynku, zaktualizowaliśmy narzędzia wykorzystywane w procesie produkcji oprogramowania, tak, aby ułatwić nowemu pokoleniu inżynierów oprogramowania wdrożenie w pracę przy produktach Teta oraz usprawnić proces aktualizacji systemu naszym klientom.
Jest to kompleksowe podejście, które ma na celu dostarczenie realnej wartości biznesowej poprzez sprawne dostarczanie funkcjonalności na rynek, łatwą i samodzielną aktualizację systemu, a w efekcie szybkie rozpoczęcie korzystania z nowych możliwości systemu dla Klienta.