Audyt i doradztwo CMS (Content Management System)

Systemy CMS (Content Management System) służą do zarządzania treścią zarówno w sklepach internetowych, stronach internetowych, stronach mobilnych jak i w platformach SaaS (Software as a Service). Są często nazywane Backend i oddzielone często od Frontendu poprzez np. API (Application Programming Interface).

Systemy CMS spotykane w organizacjach często charakteryzują się dużym długiem technologicznym, który powoduje wiele negatywnych skutków dla pracy zespołu programistów i firmy. Dług technologiczny powoduje:

  • Podatność systemów na ataki zewnętrzne i wewnętrzne spowodowane brakiem aktualizacji bezpieczeństwa i narażenie firmy na wyciek danych (patrz Audyt RODO) i utratę zaufania klientów i reputację firmy. Ataki te np. DDoS (Distributed Denial of Service – patrz Testy Penetracyjne) mogą także spowodować zatrzymanie się stron www czy sklepu internetowego i narazić zyski firmy (Business Continuity).
  • Zmiany funkcjonalne w startych systemach CMS powodują zarówno opór zespołów programistycznych, którzy lubią pracować w nowoczesnych technologiach jak i zwiększone koszty zmian z powodu braku dokumentacji, znajomości kodu przez nowych programistów, brak kompetencji starych technologii itd.

Obecnie spotykane systemy CMS to przeważnie otwarte platformy Open Source lub systemy dedykowane. Popularne platformy CMS to:

  • WordPress ze sklepem internetowym WooCommerce
  • Wix
  • Squarespace
  • Joomla
  • Shopify
  • Drupal
  • Prestashop
  • Blogger
  • Magento
  • Bitrix
  • Typo3
  • Textpattern
  • itd.

Audyt platformy CMS pozwala na zmniejszenie długu technologicznego, określenie i ocena ryzyka używania takiej platformy, wskazuje rekomendacje zmian lub migracji na inną platformę CMS, itd.

Przykładowy zakres audytu CMS:

  • Analiza Core CMS
  • Analiza code review pod kątem zgodności ze standardami wytwórczymi CMS
  • Audyt Architektury systemu CMS
  • Ocena Maintability (łatwość konserwacji)
  • Ocena Violations (naruszenia)
  • Ocena bezpieczeństwa platformy CMS
  • Ocena zastosowania dobrych praktyk dla wdrożeń CMS
  • Audyt API (Application Programming Interface)
  • Audyt Frontend PWA, RWD, mobile, itd.
  • Ocena hostingu dla platformy CMS
  • Ocena dostawcy platformy CMS

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Zwinne wytwarzanie oprogramowania Scrum i Kanban

Zwinne wytwarzanie oprogramowania (Agile Software Development) na dobre zagościło w polskich firmach. Obecnie mało, w której nie stosuje się jakiegoś “zwinnego” procesu  wytwarzania oprogramowania. Dlaczego tak się dzieje? Dlaczego firmy odchodzą od tradycyjnych metod prowadzenia projektów na rzecz bardziej elastycznych lub je łączą? Powodów jest wiele. A więc od początku.

W 2001 roku powstał manifest zwinności, który obecnie brzmi “Wytwarzając oprogramowanie i pomagając innym w tym zakresie, odkrywamy lepsze sposoby wykonywania tej pracy. W wyniku tych doświadczeń przedkładamy:

  • Ludzi i interakcje ponad procesy i narzędzia.
  • Działające oprogramowanie ponad obszerną dokumentację.
  • Współpracę z klientem ponad formalne ustalenia.
  • Reagowanie na zmiany ponad podążanie za planem.

Doceniamy to, co wymieniono po prawej stronie, jednak bardziej cenimy to, co po lewej.

Od tego się zaczęło. Od tamtego czasu powstało wiele odmian metodyk zwinnych takich jak XP (Extreme programming), Crystal Clear, Scrum i inne. Jednakże dopiero Scrum został tak szeroko przyjęty przez programistów i organizacje. Tzw. “wdrożenie” Scruma nie jest łatwe, gdyż zmienia on sposób myślenia i funkcjonowania nie tylko samego działu deweloperskiego, ale i całej organizacji. Scruma możemy wykorzystywać stale w procesie wytwarzania oprogramowania lub w przypadku wyjątkowo ważnych projektów, które charakteryzują się dużą zmiennością, ograniczonym czasem i obarczonych dużym ryzykiem.

Zacznijmy od najważniejszego: ludzi. Scrum składa z trzech ról: właściciela produktu (Product Owner), zespołu oraz Scrum Mastera. Właściciel produktu reprezentuje osoby zainteresowane produktem np. sponsor, zarząd, dział sprzedaży, itd. Ustala on priorytety i odbiera wytworzone produkty. Zespół deweloperski jest odpowiedzialny za wykonanie zadań i ponosi grupową odpowiedzialność za ich realizację. Zespoły budujemy w zależności od czekających nas zadań tak, aby znaleźli się w nim specjaliści o kompetencjach umożliwiających wykonanie zleconych im zadań. Scrum Master jest rolą odpowiedzialną za realizowanie całego procesu scrumowego i “ochronę” jego przed próbami łamania zasad. Ta rola nie jest ani Team Leaderem ani Project Managerem.

Zobaczmy jak wygląda proces wytwarzania oprogramowania w Scrumie:

  • Planowanie (Sprint Planning), spotkanie inicjujące, które składa się z dwóch części. Pierwsza część to prezentacja przez product ownerów zadań do wykonania, celów, priorytetów, itd. Druga część to analiza przez zespół programistyczny czasochłonności, trudności wykonania, możliwej do zastosowania technologii lub architektury. Wynikiem tego jest Sprint Backlog – lista zadań wybrana na jeden sprint z Product Backloga.
  • Codzienne spotkania (Daily Scrum lub Daily Standup), krótkie kilkuminutowe spotkania członków zespołu, zazwyczaj w godzinach porannych. Każdy z zespołu odpowiada na 3 pytania, co zrobił wczoraj, co zrobi dzisiaj i czy są tematy, które blokują jego pracę.
  • Przegląd sprintu (Sprint Review) to spotkanie pod koniec każdego sprintu, gdzie zespół oddaje wykonaną pracę w postaci działającego produktu.
  • Analiza sprintu (Sprint Retrospective) to spotkanie, na którym możemy omówić, co się nie udało podczas tego sprintu, co należy poprawić, itd. Bardzo ważne spotkanie, które często jest pomijane ze względu na brak czasu (spotkanie można realizować np., co drugi lub trzeci sprint, ale nie wolno pomijać jego zgodnie z procesem samodoskonalenia).

Zatem jak “wdrożyć” Scruma w kilku krokach:

  • Podziel ludzi na małe zespoły (kilku osobowe w zależności od skali organizacji i projektów) posiadających w sobie różne kompetencje.
  • Wyznacz rolę właściciela projektów lub zadań (Produkt Owner) oraz Scrum Mastera.
  • Podziel zadania lub projekty na mniejsze zadania, ustal z Product Ownerami ich priorytety i oszacuj potencjalny czas ich realizacji, zrób z tego kolejkę lub listę zadań (Product Backlog).
  • Wyznacz czas jednego sprintu (czas, w którym będziemy pracowali a na koniec jego oddawali zlecone zadania) zależnie od skali zadań od jednego do kilku tygodni.
  • Rozpocznij sprint zgodnie z procesem opisanym wyżej.

Co daje nam Scrum? W teorii są to: łatwość reagowania na zmiany i łatwość realizacji zadań, zwiększona produktywność i jakość, szybsze reagowanie na pojawiające się ryzyka, wcześniejsze uzyskiwanie półproduktów, poprawę komunikacji pomiędzy biznesem a działami IT, większe zaangażowanie całej organizacji w prace rozwojowe, zmniejszenie kosztów realizacji projektów i jeszcze kilka innych. Oczywiście jest to tylko teoria i wszystko zależy od ludzi i chęci zmiany aktualnej rzeczywistości w organizacji.

Czym jest Kanban i w czym może nam pomóc? Kanban wywodzi się z systemów produkcyjnych, głównie z branży motoryzacyjnej. Pozwala śledzić postępy prac nad poszczególnymi produktami na liniach montażowych. Kanban należy do tzw. systemów “ciągnionych” (pull), które różnią się od systemów “pchanych” (push) realnym zapotrzebowaniem na wytwarzanie niż z góry wytyczoną polityką produkcji. Proces wytwarzania oprogramowania może zostać porównany z linią montażową w hali produkcyjnej, dlatego Kanban idealnie nadaje się, jako technika sygnalizacyjna przy zarządzaniu realizacją zadań czy projektów.

Wszystkie zadania poruszają się zgodnie z przepływem (flowem) w jednym kierunku (np. z lewa do prawa) i przechodzą przez kolejne etapy (np. analiza, implementacja, testowanie, wdrożenie, itd.) . Każdy z etapów posiada określone zasoby (pracownicy o odpowiednich umiejętnościach) oraz możliwość przerobu (ilość możliwej do wykonania pracy w tej samej jednostce czasu). Dzięki takiemu podejściu szybko widzimy, na jakim etapie znajdują się zadania, gdzie mamy ograniczenia oraz co musimy zrobić, aby zwiększyć przerób, czyli produkcję oprogramowania.

Kanban posiada kilka podstawowych zasad:

  • Wizualizacja – stworzenie i rozrysowanie (na tablicy lub za pomocą oprogramowania) procesu wytwarzania oprogramowania ze statusami działań np. analiza, wytwarzanie, testowanie, wdrażanie, zadania skończone.
  • Limit pracy w toku (WIP – Work in Progress) – nie możemy pracować nad większą liczbą zadań niż jesteśmy w stanie wykonać w tej samej jednostce czasu oraz jeśli nie dostaliśmy zlecenia na wykonanie pracy przez jednostkę zlecającą. Jest to zasada wywodząca się z systemów “ciągnionych” (pull).
  • Zarządzanie strumieniem – monitorowanie i raportowanie o etapach wykonywania zadań, prędkości i płynności wykonywania zadań. Idealny proces charakteryzuje się dużą prędkością wykonywania zadań i płynnością oraz przewidywalnością.


Jak zacząć? Zastosowanie Kanbana jest bardzo proste. Poniżej kilka kroków, jakie należy uczynić, aby móc sprawnie zarządzać zadaniami w procesie wytwarzania oprogramowania.

  • Rozrysuj aktualny proces wytwarzania oprogramowania np. na tablicy lub dużej powieszonej na ścianie kartce papieru. Kolumny będą oznaczały kolejne elementy procesu.
  • W pierwszej kolumnie (np. nazwanej listą zadań, backlog-iem lub wish listą) umieść karteczki z zadaniami. Powstanie kolejka zadań. Nadaj im priorytety. Podziel zadania na kategorie zadań np. błędy, zadania, poprawki, itd.
  • Nazwij kolejne kolumny np. analiza, programowanie, testowanie, wdrażanie i zadania skończone.
  • Określ możliwy przerób na każdym etapie (tzw. WIP) np., jeśli posiadamy jednego testera to możemy przyjąć, że na etapie testowania będziemy mogli równocześnie testować tylko jedno zadanie.
  • Podziel oznaczone już etapy (kolumny) na dwa statusy: w trakcie, skończone.
  • Zacznij działać. Pobieraj zadania z kolejki zgodnie z możliwościami przerobu (WIP). Przesuwaj zadania zgodnie ze zmianami statusów do lewa do prawa, aż do kolumny zadania skończone (wdrożone).

Co dalej? Kanban pozwala na analizę czasu potrzebnego na wykonania zadań. Dzięki takiej wiedzy i grupowaniu zadań nie musimy szacować czasochłonności wykonania zadań a określać wielkość zadań za pomocą prostych miar np. duże, małe, średnie. Zaoszczędzi to nam bardzo dużo czasu na estymację, która i tak będzie błędna. A co w przypadku pisania oprogramowania dla klienta zewnętrznego? Tutaj warto przyjrzeć się połączeniu Scruma i Kanbana, co zrobimy w dalszej części. Kanban pozwala wykrywać wąskie gardła w procesie od pojawienia się pomysłu, aż do wdrożenia oprogramowania. Często wąskie gardła znajdują się poza procesem wytwarzania oprogramowania np. w dziale biznesowym, który jest odpowiedzialny za testy akceptacyjne wytworzonych produktów.

Kanban pozwala zmniejszyć skutki wielozadaniowości poprzez stosowanie limitów WIP. Pozwala to na zajmowanie się zadaniami, które w rzeczywistości mają wysoki priorytet i które możemy rzeczywiście wykonać w jednej jednostce czasu.

Proces wytwarzania powinien charakteryzować się też płynnością wykonywania zadań. Monitorujmy zatem  i udoskonalajmy wszystkie elementy procesu. Pozwoli to w przyszłości do osiągnięcia dużej prędkości wytwarzania oprogramowania, unikania wąskich gardeł i nie tracenia cennego czasu.

Kolejne kroki? Mamy już działający Scrum. Widzimy także tablicę Kanbana. Jak to teraz połączyć i co dzięki temu zyskamy? Scrum działa w określonych okresach czasu tzw. iteracjach. Kanban to zmienia mówiąc, że zasoby są wolne i domagają się otrzymania kolejnych zadań. Praca w Scrumbanie zaczyna przypominać taśmociąg, który pracuje niezależnie od okresu czasu. Dzięki takiemu podejściu możemy wykonać więcej zadań niż w typowym sprincie. Możemy także mniej uwagi przywiązywać do estymacji czasu wykonania a bardziej bazować na priorytetach i kolejce. W praktyce w niedługim czasie zobaczymy, że wykonujemy więcej zadań niż pracując w typowym Scrumie.

Jakie są różnice pomiędzy Scrumem a Scrumbanem? Nie ograniczamy się do sprintu. Bierzemy pierwsze zadanie z kolejki. Tablica Kanbana może być stosowana dla wielu zespołów a także dla całych firm. W przypadku tablicy Scruma, korzysta z niej tylko zespół scrumowy. Jak widzimy tablica Kanbana poprawia komunikację i poszerza wiedzę o innych zadaniach i projektach wykonywanych przez inne zespoły, niekoniecznie informatyczne. W Scrumbanie nie patrzymy na wykres spalania (burndown chart) a bardziej na czas wykonania zadania. A co z codziennymi spotkaniami, sprint planningiem czy sprint review? Polecam kontynuowanie codziennych stand-upów, planowanie tylko wtedy, kiedy jest to potrzebne, a przeglądy regularnie, co kilka tygodni w z góry ustalonym terminie. Zachęcam do eksperymentowania i procesu ciągłego doskonalenia. Jestem też zwolennikiem adoptowania najlepszych elementów z różnych metodologii do istniejącej organizacji np. elementów Scruma, Princa2, PMI, CCPM lub Kanbana.

Zobacz naszą ofertę doradczą:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Metodyka rozwoju oprogramowania DevOps

Nazwa DevOps pochodzi od słów „development” czyli wytwarzanie oprogramowania i „operations” czyli operacje, eksploatacji systemów. Metodyka DevOps ma połączyć światy wytwarzania, testowania, wdrażania, administrowania i utrzymania, często inne, o innych celach i kompetencjach. Kładzie ona nacisk na komunikację pomiędzy działem utrzymania (administratorami systemów) oraz programistów i testerów oprogramowania.

Włączenie administratorów do rozwoju oprogramowania ma ewidentne zalety:

  • Pozwala na szybsze wdrażanie zmian „na produkcję” dzięki czemu biznes osiąga więcej korzyści np. częstsze wdrożenia zmian w platformie eCommerce (sklep internetowy) lub na platformie SaaS
  • Pozwala na lepsze wykorzystaniu posiadanych zasobów serwerowych i obniżeniu kosztów
  • Zwiększa wydajność i bezpieczeństwo systemów obniżając koszty utrzymania.

Metoda DevOps wykorzystuje szeroko zdalne narzędzia do komunikacji pomiędzy członkami zespołu jak wiki, wideokonferencje, czaty, itd. Dlatego bardzo dobrze sprawdza się w okresie pandemii wirusa corona Covid-19.

Metodyka i inżynierowie DevOps lubą pracować ze zwinnymi metodykami wytwarzania oprogramowania (Agile np. Scrum) czy z środowiskami chmurowymi (np. Microsoft Azure, Google GCP, Amazon AWS).

Metodyka DevOps pozwala na lepsze zarządzania cyklem życia aplikacji (oprogramowania), gdzie już w fazie planowania przewidujemy przyszłość i rozwój systemu w kolejnych latach.

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Testowanie aplikacji – rodzaje certyfikatów dla testerów (Software Quality Assurance)

Profesjonalne testy systemów tele-informatycznych i aplikacji biznesowych wymagają profesjonalnych testerów. Co wyróżnia certyfikowanego testera od zwykłego programisty? Certyfikaty i szkolenia dla testerów. Najbardziej popularne certyfikaty dla testerów w Polsce to ISTQB oraz ISEB.

  • ISTQB (International Software Testing Qualifications Board) – najbardziej popularne certyfikaty Software Quality Assurance. Organizacja non-profit założona w 2002 roku, obecnie z siedzibą w Belgii.
  • ISEB (Information Systems Examinations Board) – certyfikaty Software QA wydawane przez brytyjski British Computer Society na poziomach Foundation Level, Practitioner Level, Higher Level.

Przykładowe role jakie/stanowiska jakie mogą posiadać certyfikowani testerzy w zakresie Software Quality Assurance / Management: Tester zwinny, Kierownik testów, Analityk Testowy, Techniczny Analityk Testowy.

Przykładowe obszary, które są nauczane podczas szkoleń certyfikacyjnych:

  • abstrakcyjne przypadki testowe
  • akceptacyjne testowanie produkcyjne
  • analiza drzewa usterek
  • analiza dynamiczna
  • analiza dziedzinowa
  • analiza Pareto
  • analiza pokrycia
  • analiza przepływu danych
  • analiza przyczyn i skutków awarii
  • analiza statyczna kodu
  • automatyzacja testowania
  • cykl testowy
  • cykl Deminga
  • cykl życia oprogramowania
  • debagowanie
  • diagram Ishikawy
  • diagram przyczynowo-skutkowy
  • proces testowanie oprogramowania
  • proces tworzenia oprogramowania
  • jakość oprogramowania
  • emulacja
  • fazy testów
  • opis funkcjonalności
  • plan testów
  • harmonogram testów
  • user casy
  • kategorie błędów
  • jakość danych
  • przypadki testowe
  • kontrola jakości
  • koszty jakości
  • mapa myśli
  • model dojrzałości
  • modyfikowalność
  • narzędzia do testowania
  • pokrycie kodu
  • itd.

Jeśli potrzebujesz profesjonalnych usług testowania aplikacji i systemów zarówno w zakresie jakości kodu źródłowego, wydajności, bezpieczeństwa, usability (UX) zapraszamy do kontaktu.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Audytu efektywności kosztowej usług i infrastruktury tele-informatycznej

Każda firma zadaje sobie pytania czy nasze usługi i procesy nie tylko w obszarze informatycznym są rynkowe. Audyt efektywności kosztowej usług tele-informatycznych pozwala porównać koszty usług i procesów z innymi firmami. Pozwala na znalezienie oszczędności, wyeliminowania ryzyk operacyjnych (np. w umowach z dostawcami), itd. Poniżej przykładowe elementy audytu i benchmarkingu:

  • Audyt kosztów usług i procesów wewnętrznych działu informatycznego
  • Audyt architektury IT i jej wpływu na koszty
  • Audyt infrastruktury tele-informatycznej pod kątek kosztowym
  • Opcjonalnie Audyt Bezpieczeństwa pod względem kosztów związanych z wytycznymi, regulacjami, etc.
  • Struktury organizacyjnej działów informatycznych lub biura projektów
  • Audyt umów outsourcingowych pod kątem finansowym
  • Audyt kosztów poniesionych na działania R&D (B+R)
  • Audyt finansowy budżetu i wydatków na IT
  • Audyt procedur zakupowych w ramach procesów wewnętrznych
  • Audyt dostawców w tym umów
  • Benchmarking kosztów
  • Audyt kosztów backupów (Audyt Backup)

Zobacz więcej szczegółów z oferty doradczej:

 

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Jaki Software House wybrać?

Jaki Software House wybrać do współpracy z naszą firmą? Takie pytanie słyszymy prawie codziennie w naszej pracy doradczej. Projekty klientów są skomplikowane, kluczowe dla biznesu, kosztowne a Software House-ów w Polsce jest kilkaset. Z jakim Software Housem związać się na lata, na projekt, na utrzymanie, a może na zmianę Software House-u na inny?

Rynek Software House w Polsce

W Polsce kilkaset kilkaset małych, średnich, dużych i międzynarodowych Software Housów. Jest też duża ilość spółek oferujących zespoły programistyczne, programistów np. body leasing czy team leasing lub sam usługi np. testowania. Duże zagłębia, gdzie są zlokalizowane Software Hous’y to Warszawa, Wrocław, Gliwice, Katowice, Kraków, Lublin, Poznań czy 3city. Dodatkowo w każdym mniejszym mieście znajdują się zarówno małe Software Hous’y jak i oddziały, filie większych firm informatycznych, często międzynarodowych.

Jakiej usługi potrzebujemy?

Pierwsze pytanie jakie należy sobie zadać to jakiej usługi potrzebujemy. Czy doświadczonej firmy programistycznej, czy pojedynczych programistów, którzy wesprą nasz dział developmentu czy cały zespół na konkretny projekt. A może jesteśmy niezadowoleni z jakości, cen, terminowości obecnego Software House-u? Powodów może być wiele a wybór jest ogromny.

Typy usług oferowanych przez Software Housy:

  • Usługi programistyczne
  • Usługi administracji serwerami
  • Usługi utrzymania serwerów i aplikacji (rozwój, wydajność, bepzieczeństwo)
  • Usługi doradztwa architektury rozwiązań
  • Usługi usability (UX)
  • Usługi graficzne
  • Usługi testowania (testy bezpieczeństwa, testy jakości kodu, testy wydajności, testy UX, etc.)

Doradztwo Software House

Doradzamy naszym klientom jaki Software House wybrać. Kierujemy się wymaganiami klienta, analizą projektu oraz istniejącej architektury, aplikacji, znajomości technologii przez klienta, kosztami produkcji oprogramowania, utrzymania czy licencjnowania.

Typowy proces Doradztwa Software House w GoTechnologies:

  • Analiza potrzeb klienta (projekt, aplikacje, wymagania, harmonogram, budżet, posiadane zasoby, technologii, etc.)
  • Długa lista Software House – wybór wg. przyjętych kryteriów np. bliskość lokalizacji do klienta, etc.
  • Krótka lista Software House (short list) – wybór najbardziej pasujących Software Housów.
  • Sporządzenie zapytania ofertowego dla Software Housów
  • Wysłanie wysłania ofertowego do Software Housów z short listy
  • Analiza otrzymanych ofert
  • Spotkania z oferentami
  • Negocjacje wymagań, cen i harmonogramu
  • Wsparcie przy tworzeniu umowy z dostawcą (produkcja i utrzymanie)

Dodatkowo dla klientów realizujemy:

  • Analiza przygotowanej architektury przez Software House
  • Ustalenie z Software House najlepszych praktyk programowania dla klienta
  • Co miesięczny nadzór nad jakością kodu na przykładzie przesłanego sampla kodu w zakresie code stylingu, bezpieczeństwa, wydajności.

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Błędy w aplikacjach mobilnych – bezpieczeństwo, konwersja, usability

Ilość aplikacji mobilnych, platform, wersji systemów czy telefonów oraz postęp powodują duże koszty tworzenia oraz utrzymywania aplikacji mobilnych. Przewagi aplikacji mobilnych w stosunku do stron przystosowanych do urządzeń mobile jest dużo, jednakże są też znaczące minusy. Na etapie tworzenia aplikacji mobilnej powinno się określić cykl życia aplikacji, czyli okres do kiedy użytkownicy będą jej używali i do kiedy trzeba ją utrzymywać.

Utrzymanie aplikacji mobilnej jest procesem cyklicznych modyfikacji w aplikacji zarówno w obszarze bezpieczeństwa, wydajności oraz poprawy błędów zgłaszanych przez użytkowników korzystających z coraz to nowych urządzeń mobilnych.

Konsekwencjami braku odpowiedniej polityki utrzymania lub updatów aplikacji mobilnych może być wiele:

  • Wyciek danych klientów
  • Wyciek danych firmowych
  • Utrata reputacji firmy
  • Duże koszty naprawy aplikacji, updatów lub jej całkowitego przepisania
  • Koszty utraconych przychodów (eCommerce) , ilości użytkowników (SaaS), etc.

Zobacz zakres Audytu Aplikacji Mobilnej

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Dług technologiczny w systemach i aplikacjach

Definicja długu technologicznego

Dług technologiczny jest świadomym lub nieświadomym zaniedbaniem w aktualizowaniu i rozwoju systemów informatycznych zarówno pod kątem technologicznym, wydajnościowym, bezpieczeństwa, itd.

Kiedy powstaje dług technologiczny

Dług technologiczny jest często świadomym działaniem przy szybkim projektowaniu i wytwarzaniu systemów będącym konsekwencją czasu wdrożenia, budżetu, braku wystarczających zasobów, nacisków biznesu, itd. Dług jest wtedy rozpoznany i rozpisany i świadomie planowany jest powrót do jego minimalizacji w przyszłości. Często oczywiście odwlekanym aż do granicy osiągnięcia ryzyka zatrzymania systemów lub biznesu. Drugiem powodem często tez świadomym, jest nie aktualizowanie systemów i pozostawienie ich sobie samemu z powodów kosztów, braku zasobów i uzasadnienia biznesowego.

Konsekwencje posiadania długu technologicznego

Konsekwencje posiadania długu technologicznego w systemach corowych mogą być różne:

  • Duże koszty updatów czy nawet przepisania systemów w przypadku znacznego wzrostu biznesu
  • Duże koszty updatów poprawiadajność systemów
  • Duże koszty updatów bezpieczeństwa w przypadku pojawienia się zagrożenia nowych metod ataków na system
  • Obniżenie ceny sprzedaży biznesu wraz z dziurawymi i niesprawnymi systemami
  • Duże koszty integracji systemów nowych i posiadających dług technologiczny

Jak mierzyć dług technologiczny? Audyt długu technologicznego.

Audyty informatyczne w szczególności IT Due Diligence czy Audyt Kodu Źródłowego pozwalają na ocenę istniejącego długu technologicznego zarówno w aspektach ryzyka związanych z rozwojem biznesu, ryzyk utrzymania ciągłości biznesowej, ryzyk bezpieczeństwa, itd. W przypadku skomplikowanych systemów informatycznych lub kluczowych z punktu widzenia biznesu zaleca się wykonanie Audytu i oceny wraz z rekomendacjami Długu Technologicznego.

Zobacz zakresy powiązanych audytów:

Audytu Aplikacji Mobilnej,

Audytu Aplikacji i systemów informatycznych,

Audyt kodu źródłowego aplikacji

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Audyt aplikacji, systemu informatycznego – po co? Korzyści, ryzyka.

Istotne systemy biznesowe, działające w trybie ciągłym wraz z biznesem oraz w czasie wolnym, w którym są backupowane, tuningowane czy uaktualniane są kluczowym aktywem firmy. Aplikacje i systemy informatyczne w obecnych czasach są narażone na ciągłą pracę, brak czasu na rozwój, interfejsy zewnętrzne są narażone na ataki hackerów (tak powszechne w dzisiejszych czasach) a brak rozwoju i odpowiedniego utrzymania systemu powoduje duże koszty zmian w przyszłości oraz ryzyko tzw. „długo technologicznego” (zobacz Audyt Długu Technologicznego).

Rodzaje możliwych audytów aplikacji biznesowych, mobilnych i systemów tele-informatycznych:


  • Audyt wydajności aplikacji i systemów IT
  • Audyt jakości kodu źródłowego aplikacji i systemów IT
  • Audyt bezpieczeństwa aplikacji i systemów IT
  • Audyt architektury aplikacji i systemów IT
  • Audyt licencji aplikacji i systemów IT
  • Audyt serwerów i sieci tele-informatycznej
  • Audyt i wycena aplikacji i systemów IT
  • Audyt sklepu internetowego
  • Audyt usability (użyteczności) aplikacji lub sklepu internetowego
  • Audyt systemów typu CRM, ERP, WMS, MES, Marketing Automation, etc.

Zobacz zakresy powiązanych audytów:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów