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

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

IT Asset Management (ITAM) – Zarządzanie zasobami IT

Systemy do zarządzania zasobów informatycznych (ITAMIT Asset Management) wspierają organizacje w sprawnym zarządzaniu dużą ilością różnych zasobów informatycznych (hardware i software) jak licencje na systemy, sprzęt komputerowy (laptopy, dyski, urządzenia sieciowe, telefony komórkowe, serwery, drukarki, monitory, czujniki IoTInternet of Things, itd.) czy umowy gwarancyjne na ten sprzęt. Systemy ITAM implementują procesy informatyczne IT Service Management (ITSM) i są ważnym elementem frameworka ITIL (Information Technology Infrastructure Library).

Podstawowe funkcje systemów ITAM (IT Asset Management)

  • Śledzenie cyklu życia zasobów informatycznych – planowanie zakupów, zakupy zasobów, wdrażanie zasobów w organizacji (przekazywanie, instalowanie, itd.), utrzymanie zasobów i wycofanie zasobów z ewidencji organizacji.
  • Ewidencja zasobów informatycznych lub cyfrowych – zbieranie informacji o zasobach, często w dniu kupienia lub od zlecenia zakupu w systemach zakupowych. Ewidencja licencji (Licence Management), ewidencja zasobów cyfrowych (Digital Asset Management) jak zdjęcia, video czy dane.
  • Śledzenie i wykorzystanie zasobów informatycznych – pełna informacja o lokalizacji zasobów oraz osobach, które sa uprawnione do korzystania z tych zasobów.
  • Bezpieczeństwo zasobów informatycznych – lokalizacja zasobów, informacje o długu technologicznym zasobów np. brakiem upgradów systemu operacyjnego, itd.
  • Zarządzanie kosztami zakupów i kosztami całkowitego utrzymania sprzętu TCOTotal Cost of Ownership

Jakie są korzyści z wykorzystania systemów ITAM (IT Asset Management)?

  • Zmniejszenie kosztów zasobów informatycznych, dzięki optymalnemu wykorzystaniu zasobów sprzętowych i licencyjnych
  • Większe bezpieczeństwo poprzez ewidencjonowanie i śledzenie zasobów informatycznych oraz unikanie kar np. licencyjnych.
  • Wyższa dojrzałość procesów wykorzystania i zarządzania zasobami informatycznymi (IT GovernanceŁad Korporacyjny IT)
  • Standaryzacja zasobów – umożliwiająca optymalizację kosztową (ceny zakupów i utrzymania), szybszy czas dostarczenie zasobu do organizacji (TTMTime to Market), itd.

Zobacz naszą ofertę na doradztwo informatyczne (IT)

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

Systemy Embedded

Systemy wbudowane (systemy Embedded) możemy spotkać praktycznie wszędzie od przemysłu, poprzez sklepy, transport po nasze inteligentne domy (Smart Home). Są to systemy dedykowane pod obsługę danego urządzenia którym może być sensor IoT, urządzenia w bankomacie, hardware sterujący lodówką, sterowniki PLC, itd.

Systemy Embedded są przeznaczone do wykonywania konkretnego zadania. Muszą charakteryzować się bezpieczeństwem, wydajnością, stabilnością czy niezawodnością. Od stopnia przyjętej niezawodności decyduje architektura rozwiązania czyli wykorzystanie systemu operacyjnego, podział zadań na poszczególne urządzenia, ich redundancja, itd.

Jeśli potrzebujesz wsparcia w systemach Embedded, IoT, sieciach LoRa, SigFox, 5G zapraszamy do kontaktu. Nasi inżynierowie doradzą, wesprą w działaniach.

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Wybór platformy eCommerce B2C- Sklep internetowy

Cyfrowa transformacja biznesu wymusza na nas posiadania cyfrowych kanałów sprzedażowych, komunikacji z klientami, wzmacniania marki, itd. Powszechne pytanie jakie zadają nasi klienci zarówno korporacyjni jak i początkujące biznesy to jaką platformę, sklep internetowy czy marketplace mają wybrać. Kolejne pytanie dotyczą systemu rozliczeń z klientami (ERPEnterprise Resources Management), form wysyłki, User Experience (UX), użyteczności (UIUser Interface, usability) magazynów (WMSWarehouse Management System), zarządzaniem produktów w Omnichannel (PIMProduct Management System), SEO (Search Engine Optimization), systemu zarządzania relacjami z klientami CRM Customer Relationship Management, Marketing Automation czy systemem zarządzania zamówieniami OMS – Order Management System, itd.

Dojrzali klienci obecni posiadający już sklep internetowy zadają pytania jak zwiększyć konwersję, zmniejszyć koszty pozyskania klienta, zwiększyć Cross-Selling i Up-Selling (Audyty eCommerce), jak zoptymalizować procesy eCommerce np. procesy magazynowe, jak bezpiecznie wykonać Redesign sklepu internetowego bez utraty klientów oraz jak uporządkować architekturę systemów informatycznych w organizacji (Audyt Architektury Systemów eCommerce).

Kategorie dostępnych systemów / platform eCommerce (sklep internetowy):

  • Sklepy internetowe typu Open Source
  • Sklepy internetowe typu SaaS (Software as a Service)
  • Sklepy internetowe dedykowane

Sklepy internetowe Open Source

Sklepy internetowe na darmowej licencji Open Source jak np. Magento czy PrestaShop. Posiadają także licencje płatne Enterprise dla klientów wymagających lub potrzebujących większych możliwości rozwoju.

  • Zalety: Duża możliwość zmian w systemie (customizacji), duża liczba dostawców wdrożeniowych w Polsce, duża liczba gotowych darmowych i płatnych modułów.
  • Wady: Często duże koszty utrzymania i wprowadzania zmian, szybszy dług technologiczny w przypadku niekontrolowanych zmian czy źle dobranego dostawcy informatycznego.

Sklepy internetowe typu SaaS (Software as a Service)

Platformy SaaS umożliwiają praktycznie uruchomienie sklepu internetowego z dnia na dzień, bez ponoszenia dużych kosztów na starcie. Płatności za używanie sklepu są realizowane w modelu abonamentowym i często uzależnione od zużycia zasobów czy ilości sprzedaży.

  • Zalety: Szybki czas wdrożenia sklepu internetowego (praktycznie z dnia na dzień), mniejsze koszty utrzymania w początkowym okresie, dużo funkcjonalności standardowych.
  • Wady: Brak możliwości wprowadzania większych zmian, użycie standardowych procesów eCommerce, w przyszłości potencjalnie duże koszty utrzymania często uzależnione od ilości sprzedaży, całkowite uzależnienie od jednego dostawcy, ograniczona możliwość integracji z systemami zewnętrznymi (API).

Sklepy internetowe dedykowane

Sklepy budowane przez agencje lub Software House tworzone pod klienta. Często bardzo customizowane i bardzo skomplikowane.

  • Zalety: Bardzo duża customizacja, możliwość napisania sklepu od zera.
  • Wady: Uzależnienie od jednego dostawcy, brak dostępnych na rynku programistów od technologii sklepu.

Zobacz także: Wybór platformy eCommerce typu Marketplace.

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

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 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

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

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