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

Startupy a kryzysy technologiczne

Startupy to technologia, a technologia wymaga posiadania odpowiednich kompetencji i ciągłego ich rozwijania. Technologia musi być wydajna oraz spełniać oczekiwania klienta. Produkt startupu musi działać, ale tak jak tego sobie życzy klient. Startupy tworzą zarówno aplikacje mobilne, sklepy internetowe, systemy SaaS (Software as a Service), platformy Marketplace, urządzenia IoT czy inne urządzenia hardwarowe. Wszystkie te produkty wymagają wysokiej dojrzałości technologicznej. Wiedza członków startupu czy założycieli (founderów) często koncentruje się na sprzedaży, klientach czy marketingu lub na aspekcie technologicznym. Idealnym połączaniem jest, kiedy zespół założycielski posiadający wszystkie te kompetencje. Oczywiście faza początkowa rozwoju startupu charakteryzuje się posiadaniem małego budżetu, małej ilości czasu na dopracowanie produktu technologicznego oraz braki zasobowe i kompetencyjne. Z tego też powodu kryzysy technologiczne przychodzą szybciej niż nam się wydaje.

Jakie kryzysy technologiczne przechodzą startupy?

Poniżej lista zaobserwowanych kryzysów technologicznych w startupach fazy seed i eary grow:

  • Wydajność aplikacji, sklepu czy platformy SaaS – brak myślenia co będzie za rok, jak zwiększy się liczba danych czy klientów. Wymaga często zmiany infrastruktury lub co trudniejsze architektury systemów – zobacz doradztwo w obszarze wydajności, doradztwo w zakresie cloud, doradztwo w zakresie architektury
  • Hardware – częsty brak budżetu na wersję nr 2 prototypu związaną ze zmianami technologicznymi, potrzebami klientów czy trendami
  • Brak bezpieczeństwa danych i systemów – zobacz doradztwo w obszarze bezpieczeństwa
  • Odejście kluczowej osoby takiej jak CTO czy senior developer
  • Brak dokumentacji systemu utrudniający wdrożenie nowych członków zespołu
  • Brak skutecznego zarządzania projektami czy zmianami np. pseudo agile podejście (Scrum) – zobacz doradztwo w obszarze zarządzania projektami
  • Duży i często niespodziewany przyrost danych Big Data powodujący problemy z bazami danych i aplikacjami – zobacz doradztwo Big Data
  • Użyteczność interfejsu (UX – User Experience, UI – User Interface) – zobacz audyty UX, UI, eCommerce
  • Brak regularnych upgradów wykorzystywanych frameworków powodujących dług technologiczny trudny do naprawy – zobacz doradztwo dług technologiczny
  • Brak przyjętych zasad kodowania, architektury czy testowania
  • Brak API
  • itd.

Zobacz więcej o doradztwie technologicznym dla Startupów

Jeśli potrzebujesz wsparcia technologicznego i procesowego w Twoim startupie, zapraszamy do kontaktu.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Uczenie maszynowe – Machine Learning, Uczenie głębokie – Deep Learning

Pojęcia Uczenie maszynowe (Machine Learning), Głębokie uczenia (Deep Learning) czy Sztuczna Inteligencja (AIArtificial Intelligence) pojawiają się w ostatnich dość często i są grupowane jako technologie automatyzujące, predykcyjne oraz wspierające podejmowanie decyzji. Technologie opierają się na sieciach neuronowych. To one budzą zarówno zachwyt jak i przerażenie.

Machine Learning i sieci neuronowe

Machine Learning jest podstawą obecnych systemów Sztucznej Inteligencji i zajmuje się eksploracją danych (Data Mining). Machine Learning koncentruje się na wyszukiwaniu wzorców danych w dużych zbiorach danych zasilanych przez różne systemy lub procesy. Uczenie maszynowe często z uwagi na potrzebę dużej mocy obliczeniowej korzysta z chmur obliczeniowych (Cloud) lub specjalistycznych superkomputerów.

Deep Learning a ludzie

Deep Learning jako „dziecko” Machine Learningu pozwala skoncentrować się na człowieku i jego zachowaniach. Deep learning potrafi wchodzić w interakcję z człowiekiem, słucha dźwięków, muzyki, głosu, obserwuje np. rozpoznając obrazy. Deep Learning jest bardzo popularny z uwagi na koncentracji na zachowaniach człowieka, co w przypadku obecnych biznesów jest kluczowe.

Gdzie najprościej wykorzystać Machine Learning?

W organizacjach gdzie są spełnione dwa elementy. Są zbierane duże ilości danych (Big Data) oraz, w których innowacja jest w DNA firmy. Duże ilości aktualnych danych pozwalają „uczyć” systemy zachowań np. użytkowników czy linii produkcyjnej. Czym więcej danych na początku tym lepsze wyniki uczenia. Jeśli danych jest mniej systemy muszą za każdym razem kiedy wystąpi nieoczekiwana sytuacja uczyć się, co wydłuża proces wdrożenia i produkcyjnego wykorzystania tychże systemów.

Zobacz naszą ofertę doradztwa technologicznego:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Smart Home – inteligentne domy

Inteligentne domy (Smart Homes) to trend, który rozpoczął się na dobre kilka lat temu m.in. w Polsce z uwagi na dostępność w kraju internetu, szczególnie na peryferiach i wioskach, gdzie dużo Polaków zaczęło stawiać swoje domy, z dala od zgiełku miejskiego. Drugą przyczyną rozwoju urządzeń dla inteligentnych domów jest dostępność technologii, ciągły spadek ich cen oraz coraz szersza gama produktów, które są prostsze w użyciu czy montażu. Produkty te są dostarczane przez duże firmy zachodnie i polskie jak i startupy technologiczne, których liczba ciągle rośnie. Na rynku widoczne są też projekty typu spin-off czy Joint Venture firm, których efektem są spółki czy produkty dla inteligentnych domów czy inteligentnych miast (Smart City).

Dostęp do internetu, także 5G (zobacz Startupy 5G) spowodował rozkwit urządzeń Internetu Rzeczy (IoTInternet of Things). Za pomocą aplikacji mobilnej możemy sterować urządzeniami na odległość np. ogrzewaniem, otwieraniem okien czy podlewaniem trawnika. A nasza lodówka potrafi zaproponować nam produkty do kupienia.

Dane z urządzeń Internetu Rzeczy są zazwyczaj przechowywane w chmurze (Cloud). Nowe urządzenia potrafią przewidywać nasze zachowania za pomocą algorytmów sztucznej inteligencji (AIArtificial Intelligence) wraz uczeniem maszynowym (Machine i Deep Learning). Rodzi to nowe obszary do innowacji oraz zagrożenia. Największymi zagrożeniami jest dostęp do danych, nieuprawnione działania hackerów czy złodziei. Dzięki danym mogą przewidzieć czy ktoś jest w domu, kiedy może wrócić do domu, jakie są zabezpieczenia, itd.

Jeśli jesteś Startupem technologicznym, który tworzy innowacyjne produkty czy Software Housem i masz wyzwania technologiczne i biznesowe dla swojego produktu zapraszamy do kontaktu.

Zobacz naszą ofertę doradztwa technologicznego:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

M-Commerce – doradztwo technologiczne

Mobile commerce (M-Commerce lub mCommerce) jest częścią eCommerce czyli handlu elektronicznego (cyfrowego, internetowego), gdzie dostęp do zasobów jest realizowany przez smartphony, tablety i inne urządzenia kieszonkowe.

Dostęp mobilny dzięki coraz lepszemu dostępowi do sieci internet, szybszym telefonom oraz lepszym aplikacją pozwala na zwiększanie usług i produktów oferowanych klientom mobilnym. Obecnie nikt nie wyobraża sobie życia bez map na telefonie, gdzie możemy pokazywać biznesy w pobliżu i sprzedawać produkty. Użytkownicy aktywnie korzystają z usług finansowych (banki, porównywarki) czy portali sprzedażowych (np. Allegro czy OLX). Rośnie też większa aktywność w tym obszarze przez sklepy internetowe m.in. dzięki technologią RWD (Responsive Web Design), mobile i PWA (Progressive Web Application). Obecnie każdy sklep internetowy musi mieć wersję mobilną sklepu internetowego umożliwiającego pełną ścieżkę zakupową.

Oferta technologiczna w obszarze M-Commerce:

Zobacz także naszą ofertę doradztwa technologicznego dla eCommerce:

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

Kompleksowa oferta na doradztwo w zakresie systemów IT oraz ERP, CRM, WMS, eCommerce, itd.

GoTechnologies specjalizuje się doradztwie i audytach systemów dla Przemysłu (Automotive), eCommerce, Retail, Funduszy inwestycyjnych (TFI, Venture Capital, Private Equity) czy branży logistyczno-transportowej. Specjalizujemy się w systemach klasy ERP, CRM, WMS, eCommerce, Retail, TMS, MES, SCM, APS, DMS (ECM, EOD), HRIS (HCM, HRMS, LMS, WFM).

Zakresy doradztwa systemy i procesy:

Wybór systemów ERP, CRM, HCM, APS, TMS, eCommerce – analiza procesów biznesowych aktualnych i przyszłych, audyt architektury systemów, analiza strategii rozwoju pod kątem wyboru najoptymalniejszych systemów biznesowych i IT.

Wybór dostawców systemów – analiza istniejących dostawców systemów tele-informatycznych, ich scoring (jakość, historia współpracy), benchmarking cen. Analiza umów, SLA.

Wdrożenia systemów ERP, CRM, HCM, MRP, MES, eCommerce – wsparcie przy analizie przedwdrożeniowej, mapowaniu procesów biznesowych na funkcjonalności oraz zarządzanie lub wspieranie wewnętrznego zespołu projektowego (kamienie milowe, ryzyka, zasoby, kontrolowanie zakresu, budżetu).

Optymalizacja procesów biznesowych – audyt procesów biznesowych, ich optymalizacja (automatyzacja, robotyzacja) i mapowania na funkcjonalności systemowe.

Optymalizacja istniejących systemów IT, ERP, CRM, itd – audyt istniejących systemów ERP, CRM, itd., ich integracji, kosztów, długu technologicznego, użyteczności, itd. oraz rekomendacje stanu docelowego.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Kompleksowe doradztwo eCommerce

Zespół GoTechnologies od lat wspiera liderów eCommerce w Polsce we wdrażaniu systemów, audytach, optymalizacji procesów i rozwoju biznesów. Zrealizowaliśmy kilkadziesiąt projektów internetowych o różnym zakresie.

Zakres usług doradztwa eCommerce / Retail / Magazyny / Contact Center:

  1. Doradztwo strategiczne eCommerce
  2. Wybór systemów eCommerce, WMS, ERP, CRM, PIM, CC, Marketplace, Marketing Automation, ECM, itd.
  3. Optymalizacja procesów eCommerce
  4. Optymalizacja procesów logistyczno-magazynowych
  5. Audyty eCommerce (UX/UI, Konwersja)
  6. Doradztwo prawne eCommerce
  7. Wybór Software House
  8. Audyty aplikacji www, mobilnych, audyty sklepów internetowych
  9. Nadzór nad projektami internetowymi (project management)

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Zapytanie ofertowe – dlaczego tak ważne

Zapytanie ofertowe jest jednym z elementów wyboru dostawców systemów, aplikacji, usług zarówno biznesowych jak i IT. Zapytanie ofertowe powinno być krótkie (Brief), zwięzłe oraz powinno zawierać maksymalnie dużo informacji o celach i zakresie projektu jak i procesie wyboru oferenta (wykonawcy).

Co powinno zawierać dobre zapytanie ofertowe?

  • Informacje o firmie, dane liczbowe np. o ilości klientów sklepu internetowego, dane o skali działalności.
  • Szczegółowy zakres projektu w podziale na etapy lub grupy zadań.
  • Cele projektu.
  • Zasady wyboru oferenta, kryteria wyboru, proces wyboru dostawcy.
  • Termin przesyłania ofert.
  • Wymagania formalne, np. ilość wykonanych projektów, wielkość zespołu, referencje, itd.

GoTechnologies posiada szerokie doświadczenie z procesów tworzenia zapytań ofertowych i wyboru systemów i ich dostawców takich jak: systemy ERP, CRM, WMS, MES, SCM, MRP, APS, ECM, TMS, eCommerce, Marketplace, HRIS, HCM, HRMS, PIM, LMS, Contact Center, aplikacji dedykowanych (Software House), itd. oraz ich dostawców jak SAP, Oracle, IFS, Microsoft, Comarch, itd.

Zobacz naszą ofertę wyboru dostawców systemów i usług IT

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