Zasady kodowania w aplikacjach

Konwencje / standardy / zasady kodowania są niezbędnym elementem w poprawnym kodowaniu. To jak jazda samochodem z wiedzą o zasadach ruchu drogowego lub bez niego. Zasady kodowania pozwalają na pisanie kodu przez różnych programistów w ten sam sposób, dzięki temu łatwiej można go modyfikować np. poprzez nowych członków zespołu programistycznego. Dodatkowo jeśli korzystamy z zewnętrznych zasobów np. z Software House-u to jasne, z góry ustalone i zaakceptowane przez zespół zasady pomagają we wspólnej pracy. Stosowanie standardów kodowania powoduje też mniejsze starzenie się aplikacji, a dług technologiczny jest mniejszy.

Przykładowe zasady kodowania to:

  • Zasady dotyczące formatowania kodu – dla łatwej czytelności kodu źródłowego np. szerokość wcięć, maksymalna długość wierszy czy liczba pustych miejsc pomiędzy klasami czy funkcjami.
  • Konwencje nazewnicze – zarówno plików, funkcji, klas, zmiennych, modułów, przestrzeni nazw, itd.
  • Komentowanie kodu – bardzo ważny, a często zaniedbywany element zasad dobrego kodowania. Zasady opisywania algorytmów, czy komentowania zmian.
  • Konstrukcje programistyczne – zasady dla danego języka programistycznego.

Zobacz naszą ofertę doradczą w zakresie wytwarzania aplikacji:


Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Audyt Magento

Audyt Magento 1x i 2x jest audytem technologicznym sklepu internetowego analizującym stan platformy, ilość i jakość zmian, oceniający dług technologiczny, bezpieczeństwo oraz wydajność. GoTechnologies specjalizuje w technologii m.in. dla branży eCommerce.

Jesteśmy m.in. współautorem książki Technologia w eCommerce.

Przykładowy zakres Audytu Magento (Audyt sklepu internetowego):

  • Analiza Magento Core
  • Analiza code review (jakość kodu) pod kątem zgodności ze standardami wytwórczymi Magento
  • Audyt Architektury Magento
  • Ocena Maintability (łatwość konserwacji)
  • Ocena Violations (naruszenia)
  • Ocena bezpieczeństwa platformy Magento m.in. na ataki DDoS (Distributed Denial of Service) i wycieki danych
  • Ocena migracji danych z Magento 1.x do Magento 2.x
  • Ocena zastosowania dobrych praktyk dla wdrożeń Magento
  • Audyt API (Application Programming Interface)
  • Audyt PWA (Progressive Web Application)
  • Ocena hostingu Magento
  • Ocena dostawcy Magento
  • Ocena Długu technologicznego

Podsumowaniem jest raport z oceną stanu platformy Magento. Przykładowy raport z Audytu Magento zawiera:

  • Ocena Backend – Silnik Magento, code review, lista błędów – rekomendacje zmian
  • Ocena Frontend – PWA, RWD, itd. ocena prędkości ładowania się stron, ocena kodu i lista błędów – rekomendacje zmian.

Zobacz więcej oferty doradztwa technologicznego dla eCommerce i Omnichannel:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt wydajności, Testy obciążeniowe, Testy wydajności

Black Friday już za nami, przed nami Cyber Monday oraz grudniowe szaleństwo zakupowe. Czy Twój sklep internetowy, platforma lub system jest na to gotowy?

Testy obciążeniowe (ang. loading test) lub testy przeciążeniowe (ang. stress test) to symulacja określonych poziomów obciążenia celem zbadania zachowania się i reakcji poszczególnych elementów systemów na zadane obciążenie. Testom poddane są takie elementy jak aplikacja, bazy danych, serwery, komunikacja (internet, sieć) czy inna infrastruktura sieciowa np. load balancery.

Rodzaje testów wydajności:

  • Testy obciążeniowe – testy generujące dodatkowy, z góry założony poziom obciążenia, np. założony przez projektantów jako dopuszczalny.
  • Testy przeciążeniowe – testy pozwalające na analizę sytuacji przekroczenia dopuszczalnych poziomów obciążenia i analizy zachowania się sieci, serwerów, baz danych i aplikacji.
  • Testy normalnych warunków pracy – testy analizujące czasy czy odpowiedzi w normalnych warunkach biznesowych oraz aktualny stan wydajności zarówno aplikacji jak i serwerów.

Rezultaty testów wydajnościowych:

  • wykrycie wąskich gardeł dla zadanego obciążenia
  • wykrycie błędów w systemach czy architekturze

Zobacz naszą ofertą na Audyt Aplikacji i Systemów

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt Code Review (Audyt Inspekcji Kodu)

Code Review to przegląd (inspekcja) kodu napisanego przez programistę przez innego programistę, audytora, senor developera, architekta czy innego członka zespołu, który ma taką przypisaną rolę i kompetencje do przeprowadzenia audytu. Code Review przeprowadzamy przed dodaniem kodu do repozytorium, przed testowaniem.

Czemu ma służyć Code Review?

Code Review pozwala na zwiększenie jakości pisanego kodu poprzez ciągłe jego sprawdzania, udoskonalanie.

Jakie są wady Code Review?

Największą to czas powięcony na sprawdzanie kodu zarówno czas programistów jak i czas oddania kodu, aplikacji czy systemu na produkcję. Dlatego często code review jest wykonywany sporadycznie lub nawet bardzo rzadko.

Jakie są korzyści stosowania stałego Code Review?

  • Łatwość czytania kodu przez innych programistów – czyli łatwiejsze zmiany, łatwiejsze wprowadzenie nowych osób do zespołu, itd.
  • Świetna nauka i wymiana doświadczeń pomiędzy członkami zespołu o różnym doświadczeniu i stażu pracy nad systemem.
  • Wyłapanie błędów lub znajdywanie prostszych metod kodowania.
  • Dojrzałość systemów wymaga najlepszych standardów i praktyk, a zatem Code Review też jest potrzebny.

Audyt Code Review

GoTechnologies wykonuje Audyty oraz Doradztwo Code Review pod kątem najlepszych standardów przeglądu kodu.

Zobacz naszą ofertę na Audyt Aplikacji, Audyt kodu źródłowego, Audyt architektury systemów

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Audyt Backend

Audyty aplikacji webowych, sklepów internetowych czy systemów SaaS (Software as a Service) często dzielą się na audyt Frontend, Backend i API (Application Programming Interface). W skład takiego audytu może wchodzić audyt kodu źródłowego, audyt zastosowania najlepszych praktyk kodowania, audyt wydajności, audyt bezpieczeństwa czy audyt RODO.

Zakres audytów backend:

  • Ocena długu technologicznego związanego ze starą technologią, architekturą i konsekwencje wynikające z długu czyli zwiększające się koszty utrzymania systemu, zwiększające się koszty zmian i czasu potrzebnego na wdrożenie zmian, luki w bezpieczeństwie czy problemy wydajnościowe. Zobacz więcej o długu technologicznym
  • Ocena bezpieczeństwa systemu i aplikacji pozwala na ocenę jak nasz system jest odporny lub podatny na ataki z zewnątrz np. DoD (Denial of Service) lub DDoS (Distributed Denial of Service) czyli próby wyłączenia systemu poprzez generowanie dużego ruchu, ataki na bazy danych np. poprzez formularze czy wyciek danych np. danych osobowych. Zobacz więcej Audyt Bezpieczeństwa i Testy Penetracyjne OWASP.
  • Ocena jakości kodu i zgodności z najlepszymi praktykami kodowania. Zobacz szczegóły Audyt Code Review (inspekcji kodu) oraz Audyt Kodu Źródłowego.
  • Ocena zgodności z RODO (GDPR) – Zobacz szczegóły Audytu RODO dla aplikacji.
  • Ocena i rekomendacje w zakresie poprawy wydajności zarówno po stronie kodu źródłowego, konfiguracji serwerów jak i infrastruktury tele-informatycznej (Data Center, Cloud, serwery). Zobacz więcej o Audyt Wydajności (Testy obciążeniowe aplikacji)

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt Front-end, interfejs UI

Audyt dla sklepów internetowych (eCommerce), dedykowanych systemów CRM, ERP, systemów typu Portal, Intranet, Marketplace lub innych dedykowanych rozwiązań tworzonych in-house lub przez zewnętrzny Software House. Jeśli masz system i rozważasz zmianę front-endu zapraszamy do wykonania szybkiego lub kompleksowego audytu i rekomendacji zmian zarówno w obszarach Front-end jak i Back-end.

Celem audytu front-end jest:

  • Ocena istniejącej technologii i rekomendacje zmian np. na PWA (Audyt interfejsu UI) – API, PWA, Mobile Access, itd.
  • Ocena użyteczności interfejsu (Audyt Usability – Audyt Użyteczności Aplikacji)
  • Ocena User Experience (Audyt UX)
  • Ocena bezpieczeństwa interfejsów (Audyt bezpieczeństwa aplikacji, api i interfejsu)
  • Audyt łatwości zmiany interfejsu na PWA (Audyt PWA)
  • Audyt wydajności Front-endu
  • Rekomendacje rozwojów systemów i architektury informatycznej

Audytu Frontend:

Zobacz także doradztwo dla eCommerce, Omnichannel i Retail:

Zapraszamy do kontaktu:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Architektura Systemów biznesowych i IT

Obecnie każda firma wraz z rozwojem zwiększa ilość swoich systemów biznesowych, aplikacji i narzędzie. Firmy posiadają corowe systemy ERP, nakładki na te systemy, integracje z systemami zarządzania klientami CRM (Marketing Automation, LiveChaty, narzędzia do zarządzania social media, etc.), systemami sprzedażowymi B2B i B2C (np. platformy eCommerce, Marketplace, aplikacje mobilne, systemy dla sales repów na tabletach, programy prowizyjne dla partnerów, etc.), systemy do zarządzania magazynami i logistyką np. TMS, YMS, WMS, systemy zarządzania łańcuchem dostaw SCM, systemy do zarządzania wiedzą i dokumentami np. ECM czy DMS jak i systemy produkcyjne APS, MRP, MES czy HR-owe (HRIS, LMS, etc.). Duża organizacja lub grupa kapitałowa może nawet posiadać kilkadziesiąt różnych systemów.

Systemy te są lub powinny być zintegrowana na poziomie wymiany danych i procesów np. za pomocą szyn danych, API, etc. Niektóre systemy są często na serwerach wewnątrz firmowego Data Center, inne w centrum kolokacyjnym, inne w Cloudzie.

Jakie są minusy posiadania tak skomplikowanej architektury?

  • Duże koszty utrzymania systemów, serwerów, intgeracji
  • Duże koszty utrzymania jakości danych wymienianych przez systemy
  • Rosnący dług technologiczny
  • Utrzymywanie wielu dostawców
  • Zmniejszające się SLA wraz z czasem rozwoju zintegrowanych systemów na całości procesów
  • Ryzyka bezpieczeństwa i dostępu do danych
  • Wiele interfejsów użytkowników wewnętrznych i zewnętrznych
  • Skomplikowana księga procesów
  • Używanie robotów zamiast automatyzacji systemowej
  • itd.

Jeśli potrzebujesz uproszczenia lub optymalizacji architektury, analizy bezpieczeństwa i długu technologicznego, ograniczenia kosztów systemów, zmiany dostawców systemów lub zmiany systemów zapraszamy do kontaktu.

Nasza oferta doradcza:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Wybór systemu CRM

Każda firma wcześniej czy później staje przed wyzwaniem jaki system CRM (Customer Relationship Management) wybrać do zarządzania relacjami z klientami, do polepszenia komunikacji z nimi, do zwiększenia ich zaangażowania czy dalszej sprzedaży (UpSelling i CrossSelling).

Przykładowe funkcjonalności nowoczesnych systemów CRM:

  • Bada danych klientów, aktualnych, potencjalnych
  • Baza danych historii sprzedaży klientów
  • Implementacja procesów pozyskania i zdobywania klientów – lejki sprzedażowe, historia kontaktów z klientem, kampanie sprzedażowe email czy Contact center
  • Narzędzia komunikacji z klientem np. emaile, Contact Center
  • Zarządzanie ofertami dla klientów
  • Segmentacja klientów
  • Funkcje przypominania (reminder) o kontakcie z klientem
  • Statystyki na klientach

Systemy CRM integrują się z systemami i platformami ERP (Enterprise Resources System), PIM (Product Information Management), OMS (Order Management System), Marketing Automation, Czatami, systemami Omnichannel np. platformami eCommerce, Marketplace czy POS (Point of Sales).

GoTechnologies wspiera od lat organizacje w wyborze systemów ERP, CRM oraz systemów specjalistycznych jak platformy eCommerce, systemy wysokiego składowania dla firm logistycznych (TSL – transport, specycja, logistyka) WMS (Workhouse Management System) czy systemów dla produkcji (systemy APS, MES, MRP, YMS, TMS, SCM, itd.)

Przykładowy proces wyboru systemu CRM:

  1. Spis wymagań funkcjonalnych odnośnie systemu CRM czyli jakie funkcjonalności będą realizować naszą strategię np. w zakresie sprzedaży, czy polepszenia komunikacji z klientami.
  2. Analiza uzyskanych wymagań pod kątem zasadności ich wdrożenia, kosztów, pogrupowanie względem priorytetu, itd.
  3. Zmapowanie procesów biznesowych na funkcjonalności systemowe pomagające wybrać najbardziej pasujący system.
  4. Określenie budżetu, czasu wdrożenia, ograniczeń np. technologicznych (integracje, używana technologia, cloud, etc.), itd.
  5. Określenie kryteriów dodatkowych wyboru dostawcy systemu jak jego płynność finansowa, ocena na rynku, itd.
  6. Sporządzenie long listy dostawców systemów CRM.
  7. Eliminacja nie pasujących systemów do wymagań i sporządzenie short listy systemów CRM.
  8. Sporządzenie zapytania ofertowego i wysłanie do potencjalnych dostawców wybranych systemów CRM.
  9. Ocena otrzymanych ofert, spotkania z dostawcami, wizyty referencyjne.
  10. Analiza umów na wdrożenie i utrzymanie systemu.
  11. Wsparcie organizacji w analizie przedwdrożeniowej.
  12. Wsparcie organizacji na etapie wdrożenia (zewnętrzne wsparcie w Project Managemencie, testach i uruchomieniu systemu) – analiza ryzyk projektowych.

Jeśli planujesz wdrożenie systemu informatycznego (ERP, CRM, WMS, SCM, MRP, APS, YMS, TMS, HRIS, itd) lub optymalizacji aktualnych procesów biznesowych lub systemów zapraszamy do kontaktu.

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Business Continuity a Systemy IT

Business Continuity czyli zapewnienie ciągłości usługom biznesowym realizowanym m.in. przez systemy tele-informatyczne. BCP (Business Continuity Plan) oraz DRP (Disaster Recovery Plan) to jedne z elementów zapewniania ciągłości biznesowej firm. BCP powinien uwzględniać kluczowe systemy, dane, usługi czy procesy oraz skategoryzowane ryzyka wystąpienia awarii czy zakłóceń w ich działaniu.

Problemy, które mogą mieć wpływ na działanie biznesu to np.:

  • Zakłócenia w dostawie prądu (piętro, budynek, dzielnica, miasto)
  • Zakłócenia w działaniu internetu
  • Awarie urządzeń sieciowych
  • Awarie Data Center np. pożar, przecięcia kabli, itd.
  • Ataki hakerskie w tym wycieki danych
  • Ataki na usługi np DoS lub DDoS
  • Sabotaż
  • Błędy ludzkie
  • itd.

Jakie elementy powinny być uwzględniane w planach Business Continuity:

  • Disaster Recovery Plan – plany na wypadek wystąpienia awarii mających wpływ na systemy biznesowe takie jak awarie prądu, ataki hakerskie, awarie urządzeń, itd. DR Plan uwzględnia także politykę backupów.
  • Podział na usługi kluczowe ze względu priorytetów biznesowych, bezpieczeństwa, prawa, etc.
  • Selekcja dostawców systemów i ich zdolność do realizacji planów DR
  • Zdolność wewnętrznego działu IT do realizacji działań DR
  • Zapasowe centra przetwarzania danych
  • Polityka bezpieczeństwa z zakresie DR
  • Polityka zapewnienia dostaw prądu, etc. do np. Data Center
  • Strategia wykorzystania Cloud dla systemów biznesowych
  • itd.

Plan BCP przygotowuje się zarówno z członkami działów IT jak i z biznesem. BCP powinien uwzględniać ryzyka wystąpienia danych zdarzeń, aktualny stan zabezpieczeń dla każdego ryzyka, skutki wystąpienia ryzyka oraz rekomendacje zmian celem minimalizacji wystąpienia przestoju lub zmniejszenia czasu przestoju.

GoTechnologies wspiera przedsiębiorstwa w tworzeniu planów Disaster Recovery czy planów Business Continuity. Wykonujemy także audyty ciągłości biznesowej (Audyt BCP).

Zobacz usługi doradztwa strategicznego IT

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt bezpieczeństwa Hardware / Software

Audyty sprzętu (hardware) coraz częściej są ważnym elementem polityki bezpieczeństwa dla firm produkujących urządzenia elektroniczne zarówno dla domowego jak i przemysłowego zastosowania. Urządzenia te zarówno pozwalają na interakcje z użytkownikiem np. otwierając bramy czy drzwi lub po prostu zbierają dane np. o pogodzie, ruchu, itd. (urządzenia IoT). Urządzenia te są zintegrowane z aplikacjami serwerowymi, działającymi w chmurze czy aplikacjami mobilnymi, którymi możemy zarządzać elementami procesu, w których uczestniczą elementy hardwarowe.

Co warto audytować:

  • Audyt zarządzania danymi w bazach danych (serwery, cloud) i dostępu do nich z poziomu systemów (ERP, CRM, MES, etc.) i aplikacji np. mobilnych
  • Asset Management czyli zarządzanie urządzeniami
  • Audyt bezpieczeństwa danych przesyłanych pomiędzy urządzeniami a serwerami
  • Bezpieczeństwo pod kątem instalacji niebezpiecznego oprogramowania
  • Audyt przejęcia kontroli nad urządzeniem (testy penetracyjne)

Więcej o Audytach Bezpieczeństwa

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów