Wdrożenie sklepu internetowego (B2C, B2B) – wyzwania, problemy projektowe, biznesowe i technologiczne

Wdrożenie sklepu internetowego w przypadku prostych procesów, bez własnych stanów magazynowych, produkcji, sprzedaży wielokanałowej (Omnichannel np. Retail), dużej liczny systemów do integracji może być prostym zadaniem. W takiej sytuacji często wybiera się gotowe platformy SaaS (Software as a Service), gdzie ingerencja klienta jest głównie w UX (User Experience), UI (User Interface), moduły płatności, shippingu i ustalenie zasad rozliczania z dostawcą (abonament zależny od zużytych zasobów, ilości transakcji, itd.). W przypadku większych firm czy firm posiadających skomplikowane procesy biznesowe projekt wdrożenia własnej platformy B2B i/lub B2C może być bardziej skomplikowany i może napotkać wiele wyzwań czy problemów na swojej drodze. Poniżej przedstawiamy główne problemy z jakimi możemy się spotkać podczas wdrożeń projektów typu eCommerce:

  • Złe określenie harmonogramu projektu – zbyt optymistyczne, bez bufora, przed sezonem czy pickiem sprzedażowym, bez uwzględniania ważnych i często pomijanych elementów jak przygotowanie SEO, środowisk testowych czy produkcyjnych, testowania, poprawek i zmian. Zobacz Harmonogram projektów eCommerce
  • Zły dobór zasobów zarówno zewnętrznych jak i wewnętrznych – większa część projektów nie udaje się lub ma kłopoty z powodu złego doboru firmy wdrażającej, nie sprawdzenie jej kompetencji, doświadczenia, zasobów, obłożenia projektami oraz z powodu braku wystarczających zasobów do realizacji po stronie wewnętrznej lub po stronie innych dostawców np. systemu ERP czy WMS. Zobacz: Wybór dostawców systemów IT
  • Złe określenie zakresu lub oczekiwań z dostawcą – złe zrozumienie zakresu mające wpływ na harmonogram, ilość zmian i poprawek zarówno od strony zewnętrznej jak i wewnętrznej (tzw. nieskończony proces ulepszania MVP).
  • Złe określenie klienta docelowego – segmentacja klienta, potrzeby, UX
  • Brak uwzględnienia przygotowania dobrej jakości contentu na potrzeby projektu
  • Brak decyzyjności, odpowiedzialności i ról po stronie wewnętrznej
  • itd.

Jeśli potrzebujesz wsparcie przed projektem wdrożenia sklepu B2C i/ lub B2B, masz problemy w trakcie i potrzebujesz wsparcia technologiczno-procesowo-porjektowego zapraszamy do kontaktu.

Zobacz naszą ofertę doradztwa:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Przykładowy harmonogram prac wdrożenia eCommerce B2B, B2C

Harmonogram w każdym projekcie jest bardzo ważnym elementem projektu, nawet w przypadku projektów zwinnych wykorzystujących np. metodyki Scrum. Harmonogram bezpieczny dla eCommerce to wdrożenie produkcyjne z zapasem czasu na testy, przed pikiem sprzedażowym czy sezonem. Jeśli mamy już gotowy zakres projektu, ramy czasowe, budżet, zespół projektowy oraz cele biznesowe do osiągnięcia to pozostaje nam wybór dostawcy (zobacz proces wyboru dostawcy). Dostawca postrzegany jako partner jest kluczowym elementem powodzenia projektu. Po jego wyborze, procesie negocjacyjnym rozpoczynamy tworzenie harmonogramu prac i wdrożenia produkcyjnego.

Przykładowy proces wdrożenia platformy B2C/B2B może wyglądać następująco:

  • Warsztaty z Dostawcą – Customer Map Journey, Persony (segmentacja klienta)
  • Makiety – projektowanie UX (User Experience) i UI (User Interface)
  • Testy użyteczności makiet – testy na użytkownikach wewnętrzne, jakościowe, ilościowe zewnętrzne
  • Projekt graficzny wraz z akceptacjami klienta
  • Konfiguracja środowisk developerskich i testowych
  • Kodowanie Frontendu – kodowanie w wybranej technologii (frameworki)
  • Kodowanie API – np. do integracji Frontend z Backend
  • Kodowanie Backendu, CMS (Content Management System)
  • Integracja z ERP (Enterprise Resources Management) – integracja np. stanów magazynowych, zamówień, danych klientów, statusów płatności, itd.
  • Integracja z PIM (Product Information Management) – integracja contentu
  • Integracja z CRM (Customer Relationship Management) i Marketing Automation
  • Integracja z WMS (Warehouse Management System) – integracja stanów magazynowych i rezerwacji, procesów zwrotów, itd.
  • Integracja z płatnościami – integracja z płatnościami elektronicznymi i procesami rozliczeniowymi w ERP
  • Integracja z kurierami – integracja systemów kurierskich
  • Testy SIT (System Integration Testing) – testy integracyjne kodu plus testy jednostkowe czy systemowe
  • Testy UAT (User Acceptance Test) – testy akceptacyjne czy aplikacja, system jest wykonana zgodnie z założeniami
  • Konfiguracje SEO – przekierowania, seo, itd.
  • Konfiguracja środowiska produkcyjnego
  • Wdrożenie produkcyjne
  • Testy produkcyjne – m.in. testy wydajnościowe, konfiguracyjne
  • Optymalizacja systemu, tuning, rozwój

Zobacz naszą ofertę doradztwa:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

UAT czyli Testy Akceptacyjne

UAT (User Acceptance Tests) to testy akceptacyjne, które pozwalają odebrać stworzone oprogramowanie lub ich fragment przez osoby odpowiedzialne za procesy biznesowe lub klienta końcowego. Pozwalają one w prosty sposób określić dany ekran lub funkcjonalność jest zgodna z oczekiwaniami wszystkich odbiorców oprogramowania.

Testy akceptacyjne powinny uwzględniać np. za ISTBQ:

  • Wymagania użytkowników końcowych
  • Wymagania systemowe
  • Przypadki użycia
  • Procesy biznesowe

Przykłady testów akceptacyjnych UAT:

  • Testy akceptacyjne przez użytkownika wewnętrznego – czy product spełnia wymagania
  • Testy akceptacyjne przez klienta (CAT – Customer Acceptance Test) – czy oprogramowanie spełnia wymagania klienta
  • Testy Alfa – testy wewnętrzne deweloperów np. u wykonawcy
  • Testy Beta – testy poza zespołem wytwarzającym testy np. wśród użytkowników końcowych, itd.
  • Testy zgodności z podpisaną umową
  • Testy zgodności z prawem (legalności)
  • Testy akceptacyjne produkcyjne – testy na środowisku produkcyjnym, w różnych warunkach np. podczas obciążenia, awarii, problemów z danymi, itd.

W metodyce zwinnej Scrum UAT może być częścią Definition of Done czyli opisem jak ma wyglądać oddany produkt. Testy akceptacyjne UAT są w gestii odpowiedzialności Product Ownera i powinny być częścią sprintów Scruma.

Zobacz naszą ofertę doradztwa w zakresie projektów informatycznych

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Wybór dostawców systemów i rozwiązań tele-informatycznych

Przed wyborem dostawców systemów i rozwiązań tele-informatycznych staje każde przedsiębiorstwo. Każdy podejmuje decyzje kierując się swoim doświadczeniem, rekomendacjami szefów IT (CIO, CTO), poleceniem z innych zaprzyjaźnionych firm, ceną zaoferowaną przez dostawcę, itd. Wybór dostawcy jest kluczowy dla systemów corowych i zła decyzja będzie miała konsekwencje przez lata. Dostawcy poprzez integrację z systemami klienta często są nie do zmiany (zjawisko Vendor Locking).

Przykładowe przykłady problemów z dostawcami:

  • Zły wybór dostawcy IT pochłania duże pieniądze i bezcenny czas kluczowych ludzi w firmie, którzy uczestnicząc w projekcie wdrożenia systemu, nie zajmują się rozwijaniem biznesu (spis wymagań funkcjonalnych, spotkania z dostawcami, analiza przedwdrożeniowa, migracja danych, szkolenia z nowego systemu, itd.).
  • Problemy z błędami, SLA (Service Level Agreement) po wdrożeniu – przerzucanie się odpowiedzialnością, kto ma zapłacić za błędy, które zostały wykryte po wdrożeniu systemów.
  • Problemy z upgradem systemów do kolejnych wersji i duże koszty z modułami dedykowanymi, które zostały źle napisane nie uwzględniając zasad danego systemu, lub zostały napisane świadomie obniżając koszty dostawcy.
  • Rosnące koszty utrzymania i rozwoju systemu.
  • Wolne wprowadzania zmian przez dostawce
  • Rosnąca ilość błędów często związana z rosnącym długiem technologicznym, starzejącą się technologią i brakiem dostępnych specjalistycznych zasobów od danej technologii.
  • Problemy finansowe dostawcy mające wpływ na pracę z klientem.
  • Zmuszanie klienta do nowych inwestycji poprzez zatrzymanie rozwoju i wsparcia danego systemu lub kompatybilności.
  • itd.

Jak zwiększyć prawdopodobieństwo doboru odpowiedniej technologii i wyboru odpowiedniego dostawcy:

  • Analiza potencjalnej technologii (systemów) w kontekście jej nowoczesności, długu technologicznego, roadmapy rozwoju, globalnego zasięgu, skalowalności, bezpieczeństwa, modyfikowaności, kosztów zmian, kosztów licencjonowania, kosztów utrzymania, itd.
  • Analiza dostawców, ich elastyczność, doświadczenie, zasoby ludzkie, sytuacja finansowa, opinia u producenta technologii, opinia u klientów, ilość wdrożeń, koszty wdrożeń, koszty utrzymania, itd.

GoTechnologies wspiera organizacje w wyborze dostawców systemów tele-informatycznych, analizach przedwdrożeniowych, optymalizacji procesów biznesowych za pomocą technologii, optymalizacji kosztów systemów informatycznych, itd.

Zobacz naszą ofertę doradztwa technologicznego

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Migracja systemu ERP

Migracją systemów często określamy zamianę jednego systemu danej klasy na inny system tej samej klasy np. migracja systemów ERP. Systemy wymienia się z wielu powodów np. bardzo stara technologia (dług technologiczny), długi czas dostarczania na produkcję nowych funkcjonalności, problemy wydajnościowe po stronie baz danych czy integracji, luki w bezpieczeństwie, duże koszty utrzymania wynikające z braku dostępu do odpowiednich kompetencji czy dostawców, duże koszty wprowadzania zmian lub nowa strategia biznesowa, gdzie system ERP będzie tzw. „wąskim gardłem„.

Popularne systemy i dostawcy systemów klasy ERP

Przykładowe systemy, z którymi pracowali nasi konsultanci w projektach wdrożeniowych i migracyjnych:

  • SAP ERP
  • QAD
  • IFS
  • TETA ERP
  • SAGE SYMFONIA ERP
  • SUBIEKT GT
  • PC MARKET
  • NAVIREO
  • ENOVA365
  • WAPRO
  • Microsoft Dynamics
  • Comarch Optima XL
  • SAP Business One
  • StreamSoft
  • Sente

Proces wyboru nowego systemu i procesu wdrożenia

  1. Audyt starego systemu ERP, jakości danych, architektury integracji
  2. Audyt aktualnych procesów i procesów docelowych (np. Analiza AS-IT, TO-BE, modelowanie procesów)
  3. Mapowanie procesów na funkcjonalności systemowe
  4. Ustalenie kryteriów wyboru nowego systemu (funkcjonalności, koszty, czas wdrożenia)
  5. Wybór systemów i dostawców (Long lista)
  6. Stworzenie zapytania ofertowego RFX
  7. Wysłanie zapytania ofertowego do dostawców
  8. Analiza otrzymanych ofert
  9. Short lista systemów, dostawców
  10. Wybór dostawcy systemu
  11. Analiza przedwdrożeniowa
  12. Customizacja systemu, testowanie
  13. Wdrożenie na produkcję
  14. Stabilizacja systemu, usuwanie błędów, poprawki w procesach

Zobacz naszą ofertę doradztwa technologicznego i procesowego dla wdrożeń systemów klas ERP, CRM, BI, WMS, APS, MES, eCommerce, TMS, EOD, HCM, HRIS, itd.:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt i Doradztwo technologiczne dla Sklepu Internetowego

Technologiczny audyt sklepu internetowego (B2B, B2C), strony webowej (www) czy platformy SaaS (Software as a Service) jest dopiero wykonywany jak pojawiają się problemy wydajnościowe, problemy z bezpieczeństwem, długiem technologicznym, RODO, zwiększającym się czasem wdrażania zmian na produkcję (time to market), kosztami zmian czy z brakiem chęci programistów do pracy ze starą technologią.

Wybór systemów i platformy eCommerce

Wybór odpowiednich systemów i ich integracje jest kluczowym elementem po analizie procesów eCommerce. Systemy eCommerce i Omnichannel wraz z Retail, Contact Center i Logistyką muszą być ze sobą zintegrowane, gdzie wymiana danych musi być często w czasie rzeczywistym. Nasz biznes eCommerce musi posiadać system ERP (Enterprise Resources Planning), gdzie obsługujemy płatności, rozliczenia, często stocki. Musi posiadać odpowiednio dobrany silnik eCommerce. Są to platformy typu Open Source jak Magento czy Presta Shop, systemy SaaS, gdzie płacimy abonament lub fee od transakcji lub pisane dla nas systemy dedykowane. Do kampanii sprzedażowych i kontaktu z klientem wykorzystamy system CRM (Client Relationship Management) z Marketing Automation. Magazynem możemy zarządzać poprzez systemy WMS (Warehouse management Systems) z opcjami multickingu lub wykorzystać funkcje dropshippingu. Zarządzanie zamówieniami w systemach Omnichannel (eCommerce, Retail, Contact Center) robimy przez systemy OMS (Order Management System), a zarządzanie produktami w systemach klasy PIM (Product Management System).

Wspieramy projekty edukacyjne. M.in. jesteśmy współautorami książek o eCommerce
Wykładamy „Skuteczne Projekty Internetowe” na najlepszych polskich uczelniach np. na „Handlu elektronicznym” Akademii Leona Koźmińskiego

Wydajność sklepu internetowego

Wydajność sklepu internetowego jest kluczowa w sezonie jak i w dniach typu Cyber Monday czy Black Friday. Nasz system powinien być tak przygotowany aby łatwo mógł korzystać z dodatkowych zasobów jak ilość wirtualnych maszyn, przestrzeni dyskowej, baz danych czy przepustowości internetowej. Zwiększone peaki na zasoby są oczywiści dodatkowo kosztowne. Należy tak zaprojektować architekturę systemów np. z wykorzystaniem chmury (cloud) jak Amazon AWS czy Google GCP. Warto wykonać audyt wydajności sklepu internetowego z testami obciążeniowymi, gdzie możemy poznać nasze ograniczenie w postaci ilości równoczesnych użytkowników na naszej platformie. Poznamy także wąskie gardła naszej platformy np. technologia na Frontend, API czy CMS na Backend.

Bezpieczeństwo sklepu internetowego

Bezpieczeństwo sklepu internetowego do aspekty związane z ciągłością biznesową (Business Continuity) i ochroną danych. Dziurawy sklep z długiem technologicznym naraża firmę na ataki internetowe jak DoS (Denial of Service) i przestoje sklepu internetowego jak i na wyciek danych wrażliwych. Oba te aspekty powodują bezpośrednie straty finansowe, utratę reputacji jak i konsekwencje prawne (RODO).

Audyt technologiczny istniejącego sklepu internetowego

Audyt technologiczny sklepu internetowego oprócz audytów eCommerce (UX, UI, ścieżka konwersji, SEO, SEM, itd.) służy ocenie i poprawie problemów występujących w systemie i mających bezpośredni wpływ na przychody (słaba wydajność, błędy na stronie), koszty rozwoju (dług technologiczny, długi time to market nowych funkcjonalności).

UX – User Experience, UI – User interface

Jakość sklepu internetowego to nasze zyski i wizerunek. Sklep powinien mieć dopracowana wartwę graficzną i użyteczną dobrze pasującą do zsegmentowanego klienta. Interfejs powinien być prosty w użytkowaniu i powinien realizować w najprostszy, nierozpraszający sposób cele nasze i naszego klienta.

Zobacz naszą ofertę doradczą:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

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
Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Procesy: Analiza AS-IS i TO-BE

Analiza stanu obecnego AS-IS i analiza stanu przyszłego TO-BE są elementami Modelowania Procesów Biznesowych (Business Process Modeling). Służą do oceny aktualnego stanu procesów oraz są próbą ustalenia docelowego stanu procesów w przyszłości. Analizy AS-IS i TO-BE możemy wykonywać w notacji BPMN (Business Process Model and Notation) lub w modelu ICOM (ang. Input, Output, Controll, Mechanizm).

Analizę procesów wykonuje się kiedy:

  • Utraciliśmy kontrolę nad procesami, nie wiemy jak one działają, nie są spisane, nie wiemy kto jest odpowiedzialny za dane procesy lub podprocesy.
  • Utrudniają wdrożenia zmian w systemach i generują duże koszt tych procesów
  • Nie są optymalne pok kątem biznesowym i albo generują niepotrzebne koszty, albo nie generują oczekiwanych przychodów.
  • Benchmarking procesów lub ich wskaźników (KPI Key Performance Indicator) pokazują odstawanie od konkurencji.
  • Przygotowujemy się do wdrożenia systemu ERP (Enterprise Resources Planning) lub innego. Analiza procesów ułatwi nam wybór odpowiedniego systemu i zaoszczędzi czas na etapie analizy przedwdrożeniowej.

Innymi elementami, które można wykorzystać w analizie procesów są:

  • Macierz odpowiedzialności RACI (Responsibility Assignment Matrix)
  • Diagramy przypadków użycia Use Case
  • Notacje graficzne UML

Zobacz naszą ofertę w obszarze procesów i ich implementacji w systemach:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Systemy klasy BPM (Business Process Management)

Systemy zarządzania procesami BPM są powszechnie stosowane w rozbudowanych organizacjach, gdzie procesów jest dużo, często bardzo powiązanych ze sobą i zaimplementowanych w wielu w systemach i aplikacjach.

Główne zadania systemów do zarządzania procesami BPM:

  • Definiowanie procesów biznesowych
  • Modelowanie procesów biznesowych
  • Zarządzanie procesami biznesowymi
  • Symulacje zmian w procesach biznesowych i ich wpływ na zdefiniowane wskaźniki KPI (Key Performance Indicator)
  • Ciągły monitoring procesów i ich pomiar
  • Ciągła optymalizacja procesów na podstawie otrzymywanych danych i założeń

Korzyści z wdrożenia systemu do zarządzania procesami klasy BPM:

  • Oszczędności finansowe na procesach
  • Zyski biznesowe wynikające z efektywności procesów
  • Uporządkowana struktura procesów i szybki dostęp do nich
  • Łatwiejsze wprowadzanie zmian w procesach, łącznie z symulacjami efektów takich zmian
  • Benchmarking kosztowy i wydajnościowy procesów
  • Ułatwiona automatyzacja i wdrożenia zmian w systemach informatycznych (np. poprzez RPARobotic Process Automation)

Systemy BPM są często także określane jako systemy Corporate Performance Management (CPM) i systemy Enterprise Performance Management (EPM) lub są ich częścią. Mogą być także częścią innych systemów jako np. moduł w systemie klasy ERP.

Systemy BPM są często integrowane z systemami klasy ERP (Enterprise Resources Management), systemami wspomagania decyzji i systemami BI (Business Intelligence).

Zobacz także nasze usługi doradcze:

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