PracaAplikacjeCIOProgramowaniePolecane tematy

Inżynieria wydajności – nowa kultura organizacyjna

Prawdopodobieństwo rezygnacji z wejścia na stronę internetową wzrasta o 32%, jeśli czas jej wczytywania wydłuży się z sekundy do 3 sekund, ustalił Google. Z kolei kanadyjska firma Mobify wyliczyła, że skrócenie czasu ładowania jej strony zaledwie o 100 milisekund zwiększyło jej roczne przychody o 380 tys. dol. Rosnące wymagania użytkowników co do szybkiego i stabilnego działania aplikacji wpływają na przychody firm i zmieniają podejście do wytwarzania oprogramowania, wprowadzając jednocześnie inżynierię wydajności.

Inżynieria wydajności – nowa kultura organizacyjna

Skoro czas skupienia ludzkiej uwagi zmalał w ostatnich latach z kilkudziesięciu do kilku sekund, to za szybkość, stabilność i dostępność aplikacji nie mogą już odpowiadać wyłącznie testerzy wydajności, uważają specjaliści, proponując jako rozwiązanie inżynierię wydajności. W podejściu tym nie odchodzi się od tradycyjnych testów wydajności, dla nich cały czas jest miejsce, zmienia się natomiast myślenie o tym, kto odpowiada za wydajność aplikacji w procesie jej tworzenia. Zamiast przerzucania całej odpowiedzialności na testerów, przenosi się ją na każdą osobę w zespole projektowym. Na każdym etapie powstawania aplikacji cały zespół angażuje się w analizę współdziałania wszystkich jej elementów. Dzięki temu inżynieria wydajności sprawdza nie tylko wydajność, ale też bezpieczeństwo, użyteczność, współpracę z różnym sprzętem i oprogramowaniem, konfigurację i wartość biznesową nowej aplikacji, podkreślają eksperci.

„Inżynieria wydajności może decydować o jakości i wydajności całej firmy. To bardziej kultura organizacyjna niż schemat działania. Od każdego pracownika w zespole IT wymaga się znajomości pełnego obrazu systemu, zrozumienia każdego elementu i poznania kryteriów jego oceny. W takich warunkach lepszej jakości oprogramowanie powstaje bez dodatkowych nakładów finansowych, a jedynie z odpowiednio dobranymi ludźmi”  – wyjaśnia Małgorzata Wiśniewska, Country Manager Avenga Poland.

Nowe trendy w testowaniu

Inżynieria wydajności zaczyna się już na etapie tworzenia architektury systemu – jeszcze przed stworzeniem projektu i rozpoczęciem kodowania ocenia się np. możliwości wydajnościowe każdego elementu nowo przyjętej koncepcji, wskazują przedstawiciele Avenga. Na każdym etapie powstawania produktu przeprowadza się testy wydajnościowe, sprawdza czy modyfikacja oprogramowania lub nowy jego przyrost nie wpłynęły na pogorszenie czegoś, co wcześniej działało (regresja wydajności), wykorzystując do tego platformy do automatyzacji testowania na poziomie protokołu. Istota testowania pozostaje więc taka sama. „Nowym trendem jest automatyzacja tworzenia modeli testowych na podstawie obserwacji rzeczywistego systemu, działającego na etapie produkcji. Dzięki temu powstają skrypty testowe i przepływy zadań, które reprezentują rzeczywisty wzorzec użytkowania systemu” – tłumaczy Jacek Chmiel, dyrektor Avenga Labs.

W tradycyjnym podejściu inżynierowie testujący próbowali przewidzieć rzeczywiste wzorce, a faktyczni użytkownicy zawsze ich później zaskakiwali. Tworząc złożoną strukturę różnych przypadków użycia, prognozuje się wydajność systemu w kolejnych tygodniach i miesiącach – jak poradzi sobie z nagłym wzrostem zainteresowania ze strony użytkowników (np. Czarny Piątek w systemach e-commerce). Dzięki temu problemy z wydajnością można wykryć i naprawić na etapie testowania, zanim faktycznie staną się problemem produkcyjnym.

Szybsze wykrywanie problemów

W ramach inżynierii wydajności można przetestować więcej różnych scenariuszy, minimalizując pojawienie się nieoczekiwanych błędów w przyszłości. Przykładów, w których rzeczywistość zaskoczyła IT, nie brakuje, zwłaszcza w czasach pandemii: nagłe skoki ruchu, popularność różnych wzorców użytkowania, zwiększone zakupy produktów SaaS (software as a service) czy nagłe przejście z produktów tradycyjnych na produkty cyfrowe. Inżynieria wydajności pomaga właśnie w dużo szybszym wykrywaniu problemów z wydajnością i wcześniejszym doskonaleniu jakości oprogramowania, podkreślają specjaliści.

To nowe podejście stosowane jest w organizacjach z różnych branż i sektorów. Częste zmiany prawa i regulacji oraz gwałtowne wahania obciążenia systemów powodują, że z inżynierii wydajności najbardziej mogą skorzystać firmy farmaceutyczne czy instytucje finansowe. I tak, nowe rozwiązania, proponowane przez Avenga, wykorzystały już m.in. takie firmy jak: GSK, Roche Poland, Polpharma Biologics, QPharma, M3Health czy Instem Clinical.

Deweloperzy pełnego cyklu

Inżynieria wydajności wpisuje się także w megatrend IT jakim jest rozwój deweloperów pełnego cyklu, czyli specjalistów, którzy są przygotowani do pracy od powstania koncepcji po wspieranie działającego już rozwiązania. W tradycyjnym modelu deweloperzy niechętnie weryfikowali jakość własnej pracy, przerzucając tę odpowiedzialność na testerów oprogramowania. Praca odbywała się zatem sekwencyjnie. Deweloper pisał kod, specjalista Quality Assurance koncentrował się na znajdowaniu błędów, a DevOps miał automatyzować wdrażanie i zwykle nie dbał o to, co wdraża i jaki jest tego sens biznesowy. Na swoich kwestiach skupiali się też administratorzy oraz operatorzy.

Z kolei w ramach działań deweloperów pełnego cyklu, własność rozwiązania należy do wszystkich. Znika też sekwencyjność, bo wszystkie role i obowiązki w zespole są współdzielone. Każdy ma troszczyć się o siebie nawzajem oraz o jakość produktu, uważają specjaliści. Każdy może w ograniczonym zakresie odgrywać inne role – np. deweloper może być testerem, a tester – deweloperem. Do pracy w nowych warunkach nie poszukuje się jednak omnibusów, tylko ludzi otwartych na wiedzę. Cenione są zwłaszcza osoby, które są ciekawe innych ról, chętnie uczą się nowych rzeczy i lubią wychodzić poza swoje zwykłe obowiązki.

Nastawienie na produkt

Obranie właściwej strategii przy wytwarzaniu i utrzymaniu aplikacji może zadecydować o jej rynkowym powodzeniu. Nikt nie był gotowy na Covid-19 oraz zmiany, które były następstwem pandemii. Wiele gałęzi przemysłu zostało zmuszonych do przeniesienia części lub całości swojego biznesu na platformę cyfrową. Nie każdy system IT sprostał tym wyzwaniom. Dlaczego więc jedni byli lepiej byli przygotowani na taki scenariusza a inni mniej?

Zdaniem przedstawicieli firmy Avenga, właściciele aplikacji internetowych planując ich tworzenie lub rozwój powinni być gotowi na każdy scenariusz. Bowiem szybka adaptacja produktu do nowych wymagań rynku będzie czynnikiem decydującym o jego sukcesie lub porażce. W tych niepewnych czasach wygrają ci, którzy zrozumieją, że tylko nastawienie na produkt, inwestowanie w jego ciągły rozwój i udoskonalanie daje zabezpieczenie w postaci elastycznych i skalowalnych rozwiązań, podkreślają eksperci.

„Zapewnienie adaptowalności stało się podstawowym celem każdej firmy. Wyzwanie to stawia dziś sobie każdy zespół zajmujący się oprogramowaniem biznesowym oraz każda osoba, która w tym procesie uczestniczy. Inżyniera wydajności, zastępująca tradycyjne testowanie, jest najnowszym przejawem tego trendu” – podsumowuje Jacek Chmiel.

Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *