Cykl życia oprogramowania – Software Development Life Cycle

Cykl życia oprogramowania (and. Software Development Life Cyckle – SDLC) jest usystematyzowanym podejściem do tworzenia, rozwoju oraz wycofywania danego programowania. Dzięki procesowemu podejściu wspartego przez narzędzia IT zarządzamy zarówno tym oprogramowaniem, podnosimy jakość, zmniejszamy dług technologiczny oraz zwiększamy dojrzałość organizacji wytwarzania oprogramowania.

SDLC może składać się z kilku procesów:

  1. Analiza wstępna – faza inicjalna dla każdego projektu biznesowego czy informatycznego. Określamy potrzeby, wymagania, potencjalne koszty, możliwości, zasoby potrzebne do realizacji czy ryzyka dla danego projektu. Jego potencjalne korzyści biznesowe, ramy czasowe czy opłacalność (ROI).
  2. Analiza szczegółowa, spis wymagań – szczegółowa analiza wymagań odnośnie systemów, ich integracji, kosztów, harmonogramu prac, zwrotów z inwestycji, ryzyk projektowych, itd. Analiza aspektów technologicznych, UX (User Experience), prawnych, bezpieczeństwa czy operacyjnych np. zmiany w procesach Biura Obsługi Klienta (BOK), itd.
  3. Projektowanie oprogramowania – projektowanie architektury systemów, ich integracji, bezpieczeństwa, skalowalności, zasad kodowanie, frameworków czy interfejsu użytkownika (UI – User Interface).
  4. Wytwarzanie oprogramowania (kodowanie) – najdłuższa faza projektu realizowania wg. wybranej metodyki zarządzania projektem np. Scrum. Podczas tej fazy jest tworzony kod aplikacji zgodnie z zasadami i wymaganiami ustalonymi we wcześniejszych fazach np. tworzenie testów jednostkowych czy automatycznych, dokumentacji, itd.
  5. Integracje i testy – testowanie zarówno interfejsów, szybkości działania, wydajności, bezpieczeństwa czy poprawności integracji danych.
  6. Wdrożenie na produkcję – wdrożenie oprogramowania na produkcję zgodnie z wcześniej ustaloną strategią wdrażania np. testy AB na mniejszej ilości klientów, itd. Testowanie poprawności systemu, integracji oraz infrastruktury tele-informatycznej.
  7. Utrzymanie systemów – utrzymanie systemów łącznie z wykrywaniem i łataniem błędów, zwiększonym ruchem czy większą ilością użytkowników. Zmiany w infrastrukturze tele-informatycznej oraz zwiększanie bezpieczeństwa systemu.
  8. Dalszy rozwój systemu – procedura zgłaszania zmian rozwojowych, ich wdrożenie, testowanie i ich wpływa na działanie systemu czy integracji.
  9. Wyłączenie systemów – upgrady systemów, ich archiwizacja, wyłącznie, migracja danych, itd.

Zapraszamy do zapoznania się z naszą ofertą doradztwa technologicznego i audytów aplikacji

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 300 zadowolonych klientów

Modernizacja systemów

Zaplanowania modernizacja systemów informatycznych często jest rezultatem nowej strategii biznesowej, dużych kosztów utrzymania i rozwoju systemów, niskiego poziomu bezpieczeństwa, wydajności czyli często określenia długu technologicznego. Określenie wielkości długu technologicznego i ryzyka z nim związane są często elementem zarządzania ryzykiem w firmie (Risk Management) oraz są uwzględnione w planie zachowania ciągłości biznesowej (Business Continuity Plan -BCP). Systemy zastane Legacy są obecnie jednym z poważniejszych wyzwań dla działów IT utrudniających rozwojów biznesowy.

Nowe strategie cyfrowe czy transformacje cyfrowe (Digital Transformation) wymagają od IT wysokoskalowalnych systemów, natychmiastowych zmian biznesowych, łatwych integracji oraz bezpieczeństwa danych. Dodatkowo presja na systemy IT jest ciągle w obszarze kosztów utrzymania tych systemów i ich rozwoju. Każda Strategia IT powinna obejmować elementy architektury systemów, ich rozwoju, a w przypadku długu technologicznego corowych systemów ich modernizację lub wymianę.

Modernizacja systemu jest często planowana na podstawie wykonanego audytu jakości kodu źródłowego, wydajności, architektury czy bezpieczeństwa.

Strategie IT realizowane przez Dyrektorów IT (CIO) odnosnie systemów Legacy

Strategie odnośnie systemów Legacy są związane m.in. z ważnością systemu, ilością wprowadzanych zmian, wystawieniem na ryzyko np. wycieku danych, ryzykiem wydajności systemu, itd. Strategie Legacy:

  • Strategia nie rób nic z systemem – utrzymanie
  • Eliminacja kluczowych problemów np. wydajnościowych czy bezpieczeństwa
  • Strategia modernizacji – refaktoring
  • Strategia wymiany systemu

Częste kierunki modernizacji systemów Legacy

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Architektura Cloud Native

Cloud Native to technologia wykorzystania chmury przy tworzeniu własnych aplikacji. Technologia korzystające z mikroserwisów, kontenerów czy usług bezserwerowych tzw. Serverless.

Planując architekturę Cloud Native należy zacząć m.in od pytania o stopień „przenaszalności” aplikacji pomiędzy dostawcami chmury (Vendor-lock). Kolejne pytania dotyczą apliakacji, które będziemy tworzyli lub przenosili. Dostawca chmury powinien być dopasowany do tych aplikacji, aby wykorzystać najlepiej ich możliwości.

W przypadku chęci uniezależnienia się od dostawcy chmury często stosuje się popularne kontenery np. na Kubernetes czy Amazon Elastic Container Service (Docker). Kontenery pozwalają na łatwą przenaszalność aplikacji pomiędzy środowiskami, budowanie mikroserwisów czy niemal nieograniczoną skalowalność.

Innym typem budowania aplikacji dla technologii Cloud Native jest wykorzystanie funkcjonalności chmur typu Serverless. Usługi tego typu są dostarczane przez wszystkich dostawców chmur jak AWS, Google GCP czy Microsoft Azure.

Aplikacje Cloud Native (Native Cloud Application – NCA) są tworzone zgodnie z zasadą rozdzielania zadań na usługi (mikroserwisy, mikrousługi) i zgodnie z zasadą oddzielania ich od infrastruktury np. z wykorzystaniem kontenerów czy funkcji serverless.

Jeśli potrzebujesz wsparcia w architekturze systemów czy audycie swoich aplikacji zapraszamy do kontaktu.

Zobacz także: doradztwo strategiczne IT

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Wydajność w systemach i aplikacjach

Wydajność jest jednym z ważniejszych elementów funkcjonowania systemów, aplikacji czy usług informatycznych. Problemy z wydajnością są odczuwalne od razu, widoczne przez klienta i potrafiące wpłynąć na nasze przychody czy zyski np. poprzez niezrealizowanie umownego poziomu SLA (Service Level Agreement).

Problemy z wydajnością mogą dotyczyć:

  • Niepoprawnie stworzonej aplikacji lub zapytań sql do bazy
  • Ataków na dostępność i wydajność usług (Ataki DoS i DDos – Denial of Service)
  • Niepoprawnych konfiguracji bazy danych
  • Braki w zasobach sprzętowych serwerów czy macierzy
  • Niepoprawne konfiguracje serwerów i ich usług

Najczęstsze problemy spotykany w ostatnim roku związane z systemami i wydajnością:

  • Mało wydajne środowisko serwerowe
  • Brak rozdzielanie serwerów bazodanowych od aplikacyjnych
  • Pojedyncze bazy danych, brak separacji
  • Niewydajne API
  • Niepoprawne konfiguracja baz danych np. mała alokacja pamięci RAM
  • Niezoptymalizowane zapytania do baz danych
  • Brak wykorzystania cachowania
  • Brak wykorzystania narzędzi typu CDN czy Cloud dla aplikacji internetowych
  • Brak wykorzystania modularności czy mikrousług w architekturze platform czy sklepów internetowych
  • Problemy wydajnościowe na poziomie intergacji i wymiany danych pomiędzy sklepami internetowymi a systemami ERP czy WMS.

Zobacz także:

Jeśli potrzebujesz wsparcia w zakresie architektury systemów, poprawy wydajności czy audycie kodu źródłowego zapraszamy do kontaktu.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Podstawy eCommerce – sklep internetowy

W internecie znajdziecie nieskończoną ilość przydatnych i nieprzydatnych informacji o tym jak zacząć być online czyli o pierwszych krokach w biznesie cyfrowym. Poniżej krótkie podsumowanie (check lista) o czym należy pamiętać dziś i w przyszłości zakładając biznes w internecie, dywersyfikując lub całkowicie transformując swój biznes offlinowy na online (Cyfrowa transformacja – Digital Transformation) lub zmieniając segmentacje klienta (B2B, B2C). Firmy działające w wielu światach (mobile, Retail, Social Media, Contact Center, Marketplace, eCommerce, itd.) często są nazywane Omnichannel.

Wejście w eCommerce może być dość tanie, należy jednak pamiętać o konsekwencjach „taniości” i w przypadku udanego wejścia, po 2-3 latach odczujemy skutki szybkiego i taniego wejścia związane z przebudową frontendu, integracjami z systemami ERP (Enterprise Resources Planning, WMS (Warehouse Management System) czy kosztami migracji na bardziej wydajną platformę eCommerce. Poniżej wskazówki jak wejść w cyfrowy biznes lub jak się już w nim jest.

Jeśli masz już swój eCommerce i potrzebujesz wsparcia w jego rozwoju

Często klienci zrobili już pierwszy krok, mają sklep internetowy, kanały social media. Biznes się rozwija, jednakże szybkie i tanie wejście w eCommerce spowodowało, że nie zastanawialiśmy się nad UX (User Experience) czy UI (User interface) a już tym bardziej nad systemami ERP (Enterprise Resources Planning), CRM (Customer Relationship Management) czy wydajnością sklepu internetowego.

Jeśli dopiero wchodzisz w eCommerce

Lista rzeczy, o których należy pamiętać:

  • Dobrej jakości zdjęcia i opisy produktów
  • Przemyślana strategia SEO – najlepiej ustalona lub prowadzona przez fachowców
  • Przemyślany target klienta B2B lub B2C – segmentacja klientów, persony
  • Przemyślany proces obsługi i kontaktu z klientami (email, czat, social media, Contact Center)
  • Przemyślany proces wysyłki towaru z magazynu własnego lub w modelu Dropshipping.
  • Przemyślane kanały sprzedażowe (własny sklep internetowy, Allegro, Amazon, itd.) – konkurencja, ceny, koszty sprzedaży, itd.
  • Odpowiednio wybrana technologia: sklep internetowy, marketplace, aplikacja mobilna, integracje systemami finansowo-księgowymi, magazynowymi, itd.
  • Przemyślana obecność w social media
  • Przemyślany proces zwrotów od klientów
  • Przemyślany proces zamawiania towarów od dostawców
  • itd.

Zobacz naszą ofertę doradczą dla eCommerce

Jeśli potrzebujesz wsparcia w eCmmerce, Retail zapraszamy do kontaktu. Posiadamy kilkunastoletnie doświadczenia z największymi biznesami eCommerce.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Bezpieczeństwo zakładu produkcyjnego

GoTechnologies wraz z partnerami z zakresu cyberbezpieczeństwa wspiera przedsiębiorstwa produkcyjne i logistyczne w zakresie kompleksowego wsparcia w zakresie bezpieczeństwa. Bezpieczeństwo podlegają zarówno infrastruktura krytyczna, systemy operacyjne, dane jak i serwisy internetowe.

Zakres usług doradztwa dla przemysłu w zakresie bezpieczeństwa

  1. Audyt i doradztwo z zakresie polityki bezpieczeństwa – ochrona sieci, systemów, danych, procedur bezpieczeństwa np. backupów, włamań, zapewnienie ochrony
  2. Audyt backupów danych i systemów kluczowych np. ERP, APS, MES, WMS, SCM, itd. – analiza procedur i konfiguracji odtworzenia backupów po awarii (Disaster Recovery – odtwarzanie awaryjne).
  3. Audyt sieci LAN, WiFi, LoRa, SigFox, NB-IoT, 5G – doradztwo i rekomendacje.
  4. Audyt ciągłości biznesowej (Business Continuity) – audyt sieci, Data Center, systemów redundantnych, dostawców.
  5. Audyt bezpieczeństwa dla pojazdów AGV
  6. Audyt bezpieczeństwa OWASP dla aplikacji i systemów IT/OT
  7. Audyt bezpieczeństwa systemów RFID
  8. Audyt architektury systemów IT/OT – szyny danych, hurtownie danych, BI (Business Inteligence), systemy klas ERP, CRM, WMS, APS, MES, MRP, SCM, Andon, SCADA, Kanban, itd.
  9. Audyt bezpieczeństwa systemów firmy SAP
  10. Audyt prawny licencji systemów np. firmy SAP
  11. Audyt jakości danych Big Data – analiza spójności, integralności, backupów baz danych w systemach i hurtowniach danych
  12. Audyt zgodności RODO
  13. Audyt środowisk i konfiguracji systemów domenowych np. Active Directory firmy Microsoft
  14. Audyt bezpieczeństwa chmur publicznych i prywatnych Google GCP, Microsoft Azure i Amazon AWS
  15. Audyt bezpieczeństwa API – audyt bezpieczeństwa API metodami OWASP, testy penetracyjne API
  16. Audyt bezpieczeństwa IoT – audyt bezpieczeństwa danych, ich przesyłania i zbierania
  17. Audyt bezpieczeństwa komputerów i urządzeń mobilnych
  18. Testy penetracyjne systemów i aplikacji – testy penetracyjne systemów webowych
  19. Audyt długu technologicznego aplikacji – ocena długu technologicznego, ryzyk z tym związanych oraz rekomendacje minimalizacji długu
  20. Audyt aplikacji mobilnej – audyt bezpieczeństwa, jakości kodu i wydajności aplikacji mobilnych
  21. Audyt wydajności systemów – testy obciążeniowe dla systemów wewnętrznych i webowych

Jeśli potrzebujesz wsparcia w zakresie audytu bezpieczeństwa Twojego zakładu produkcyjnego zapraszamy do kontaktu.

Zobacz naszą ofertę doradztwa technologicznego dla Przemysłu, Automotive

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

Audyt Licencji Systemów (Oprogramowania)

Audyt wykorzystania licencji przez systemy (indirect access) i użytkowników jest jednym z elementów polityki prawnej w obszarze IT. Wykorzystanie liczby posiadanych licencji (naruszenia licencyjne) jest powszechnym zjawiskiem m.in. z powodów braku blokad w systemach dużych dostawców systemów i możliwości ich wykorzystywania w większym zakresie niż posiadana liczba licencji. Jest to często celowe rozwiązania stosowane przez dostawców systemów, podobnie jak częste zmiany zasad i regulaminów wykorzystywania licencji. Wykorzystywanie licencji jednak powoduje zostawienie śladu w systemie lub nawet logi są automatycznie przesyłane do dostawcy, który zgodnie z zapisami umów licencyjnych często może upomnieć się o zaległe wynagrodzenie licencyjne, które może być wtedy dość wysokie.

Naruszenia licencyjne są nagminne i popularne i dlatego dostawcy rozpoczęli domaganie się pieniędzy za tego typu naruszenia. Rozpoczęły się także pierwsze batalie sądowe pomiędzy dostawcami a ich klientami. Przykładem może byś sprawa sądowa o naruszenia licencyjne z 2017 pomiędzy SAP a jednym z jego klientów w Wielkiej Brytanii a dotyczyła tzw. indirect access gdzie dwie aplikacje Saleforce i SAP były ze sobą zintegrowane.

Zespół GoTechnologies wraz partnerskimi kancelariami prawnymi wspiera klientów nie tylko w analizach i negocjacjach umów wdrożeniowych i utrzymaniowych ale także w negocjacjach umów licencyjnych i analizach zgodności architektury systemów i wymiany danych zgodnych z podpisanymi umowami licencyjnymi. Przeprowadzamy także Audyty Licencji np. systemów SAP i Audyty zgodności z RODO.

Zapraszamy do analizy naszych usług prawnych związanych z IT, systemami, oprogramowaniem, umowami z Software House, itd.:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Progressive Web Application (PWA)

Progressive Web Application (PWA) jest nowym standardem łączącym zalety stron internetowych i aplikacji mobilnych. Jest następcą standardu RWD (Responsive Web Design) czyli responsywnych stron internetowych dostosowujących się do różnych urządzeń szczególnie mobilnych takich jak smartphone czy tablety.

Dzięki PWA strony internetowe mogą zachowywać się tak jakby były aplikacją mobilną. Są szybkie, dostosowane do ekranu urządzenia mobilnego, z ikonką aplikacji na pulpicie czy z trybem pełnoekranowym bez menu przeglądarki. Frontend PWA może także cashować odwiedzane strony i działać offline w przypadku braku internetu lub jego zaniku. Strony PWA cechują się także lepszym interfejsem (UIUser Interface) bardziej dostosowanym do użytkownika (UXUser Experience).

Jeśli wahasz się czy wybrać PWA, RWD przy Twoim kolejnym redesignie strony www czy sklepu internetowego zapraszamy do kontaktu. Pomagamy wybrać technologię, wspieramy przy wyborze najlepszego Software House-u, wspieramy w project managemencie kluczowych projektów.

Zobacz także naszą ofertę doradztwa technologicznego:


Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Systemy IT a ciągłość biznesowa w czasach epidemii coronavirusa

Systemy IT w czasach epidemii koronawirusa zaczynają być kluczowymi elementami przetrwania firm. Główne wyzwanie to praca zdalna. Praca zdalna to bezpieczna komunikacja telefoniczna i internetowa, to bezpieczne przekazywanie dokumentów pomiędzy pracownikami, to wydajne systemy klas ERP, CRM pracujące przez przeglądarki internetowe lub terminale, to systemy EOD obiegu dokumentów, pozwalające na zachowanie ciągłości procesowej, itd.

Co warto zrobić w tych trudnych czasach z obszarów technologicznych?

  1. Dostarczyć sprawne, wydajne i bezpieczne narzędzia pracy zdalnej (np. w Cloud).
  2. Dostarczyć systemy bezpiecznej komunikacji (pracy zdalnej) dla pracowników.
  3. Uaktualnić Politykę Bezpieczeństwa o nowe systemy i zagrożenia.
  4. Uporządkować architekturę systemów (Audyt Systemów IT).
  5. Przygotować się do wdrożenia stabilnych systemów EOD / DMS (Elektroniczny Obieg Dokumentów / Document Management System).
  6. Zminimalizować dług technologiczny kluczowych aplikacji.
  7. Zapewnić bezpieczeństwo wszystkim systemom i danym (Audyt Bezpieczeństwa)
  8. Audyt kosztów usług i systemów informatycznych (IT)
  9. itd.

Jeśli potrzebujesz wsparcia w procesach zapewniania Business Continuity zapraszamy do kontaktu.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów