Tag Archive : wdrażanie systemów ERP

 

Pół roku temu artykuł o roli Product Ownera kończyłem słowami:

Tak więc nasuwa się wniosek, że rolę PO powinien pełnić ten człowiek, który właśnie skończył analizę biznesową i napisał raport z niej. Raport, który zawiera specyfikacją wymagań (najlepiej w formie jak opisana powyżej). W zasadzie nadzór autorski nad realizacją taktyki wdrożenia systemu ERP (oprogramowania w ogóle) to nic innego jak ?bycie product ownerem? w projekcie na etapie jego realizacji a SCRUM faktycznie, na dzisiejsze czasy, wydaje się być najlepszą metodą zarządzania takimi projektami a utrzymywanie aktualności dokumentu analizy biznesowej i wymagań w toku projektu prowadzi do tego, że po zakończeniu projektu mamy ?niechcący? kompletną i aktualną dokumentacje stanu uzyskanego w toku wdrożenia. (Źródło: Kim jest product owner? | Jarosław Żeliński IT-Consulting)

Dzisiaj kilka słów na temat kwestii finansowych, to jest porównania kosztów projektu z “tradycyjną” analizą wymagań i analizą “zwinną”. Dotyczy przede wszystkim podejścia do wdrożeń systemów ERP. Dwa lata temu pisałem:

Zarządzanie zmianą wymagań. To kolejne niechciane dziecko w projektach. Jeżeli zgodzimy się, że zmiana wymagań jest ?normą? to brak wiedzy (zapisów) o tych zmianach potrafi zabić projekt. Problem, który ja widzę w wielu projektach to: im łatwiej zgłosić i egzekwować zmianę w wymaganiach tym więcej tych zmian jest. Nie chodzi o to by tych zmian zakazywać, chodzi o to by były one za każdym razem przemyślane, a chodzi głównie o wpływ zmian na termin i budżet projektu. (Źródło: Zarządzanie wymaganiami | Jarosław Żeliński IT-Consulting)

 

Mam za sobą dwa projekty, które pokazały, że należy szukać rozwiązania problemu “niewiedzy” o przyszłości, jaką mamy w czasie gdy projektujemy rozwiązanie. W tych dwóch projektach wdrożyłem nowe podejście, które się doskonale sprawdza (ćwiczę to w kolejnych). Powodem było to, że obie firmy (moi klienci) chciały jak najszybciej rozpocząć prace nad projektem wdrożeniowym by nie opóźniać momentu zastąpienia starego systemu nowym. Obie firmy miały za sobą porażki poprzedniego wdrożenia, które pokazały, że rozpoczynanie projektu od wyboru produktu i jego dostawcy rodzi ogromne ryzyko zarówno przepłacenia za analizę wymagań (przed-wdrożeniową u dostawcy) jak i utraty panowania nad zakresem własnego projektu, bo od podpisania umowy z dostawcą zarządzał on zakresem jako autor analizy wymagań.

Niedawno napisałem o tym, że warto mieć  model architektury biznesowej, która:

…staje się standardem w dobrze zarządzanych firmach, kontynuujących aktualizację dokumentacji powstałej na etapie analizy biznesowej jako nadzoru autorskiego w toku projektu wdrożeniowego.  Powoli przybywa także firm, widzących powyższe korzyści w bieżącym zarządzaniu, dostrzegają także to, że posiadanie aktualnej Architektury Biznesowej jest efektywniejsze niż zlecane ?z doskoku? analizy biznesowe i analizy przedwdrożeniowe.  (Źródło: Architektura Biznesowa jako wartość dodana firmy | Jarosław Żeliński IT-Consulting)

 

W czym problem?

W kosztach i czasie trwania tego co nazywamy analizą biznesową kończąca się specyfikacją wymagań oraz kosztach aktualizacji specyfikacji wymagań.

W ogromnej części projektów, to co było opisane jako wymagania nie ma nic wspólnego z tym co w końcu faktycznie powstało i zostało oddane do użytku. Oznacza to, że powstanie tych specyfikacji wymagań w ich ówczesnej postaci, nie miały żadnego sensu…

Najczęściej spotykane “typowe” podejście do wymagań polega na tym, że analiza wymagań bazująca na wielodniowych warsztatach obfitujących w zapisywane szczegóły, kończy się detaliczną, obszerną Specyfikacją Wymagań na system ERP (systemy dedykowane także cierpią na tę chorobę), która staje się załącznikiem do umowy na wdrożenie, dostawca zaś restrykcyjnie realizuje tak spisane wymagania, w toku projektu nie raz zamawiający żąda zmiany, jeżeli okaże się, że zmieniły się realia. Bardzo często proponuje wykonawca z powodu trudności na jakie napotyka. Biorąc pod uwagę także zmiany na rynku, tych zmian jest w projektach relatywnie dużo. Bardzo często zwolennicy agile mówią: skoro te wymagania się zmieniają a klient i tak nie wie czego chce to nie róbmy żadnej dokumentacji, róbmy często spotkania i notatki  z nich. To jest jednak jeszcze gorsze, bo rozpoczynając projekt nikt nie wie co powstanie, zakres projektu to chaos, więc nikt nie wyceni tego, a biznes dąży jednak do umów o planowanych budżetach, czyli fixed-price.  Kwadratura koła?

Nie. Można, zamiast szczegółowo spisywać (zbierać w ramach wywiadów i warsztatów) wymagania, skupić się na architekturze i logice biznesowej oraz jej odwzorowaniu w systemie ERP.

Analiza wymagań i nadzór nad zakresem

Na powyższym diagramie pokazano (linia obrazuje koszty narastająco, koszty uwzględniają także zaangażowanie pracowników zamawiającego):

  1. linia czerwona: najpierw opracowanie szczegółowej specyfikacji wymagań, po rozpoczęciu realizacji, w toku projektu, każda wymagana zmiana w stosunku do stanu z czasu powstania specyfikacji (lub od ostatniej aktualizacji), wymaga refaktoryzacji dokumentu specyfikacji (aktualizacji wymagań, kolejna linia wzrostowa),
  2. linia zielona, na początku zamiast szczegółowej specyfikacji, powstaje model biznesowy i tylko architektura przyszłego rozwiązania (trwa to krócej i jest tańsze), szczegóły wymagań ustalane są na bieżąco (linia kosztów stale rośnie jednak znacznie wolniej), robi to Product Owner reprezentujący  zamawiającego (zakres projektu powinien być zarządzany przez kupującego); jednak architektura i logika biznesowa pozostają praktycznie niezmienne bo stanowią fundament całego systemu.

Co ciekawe wymagania jako architektura i lista reguł i usług biznesowych, pozwalają dostawcy na wycenę, opracuje on “koncepcje wdrożenia”. Całkowity nakład pracy i koszty po stronie  kupującego poświęcone na prace analityczno-projektowe są łącznie znacznie niższe. W wersji “czerwonej” dostawca przejmuje zarządzanie wymaganiami od analityka po zakończeniu pierwotnej analizy (w dniu podpisania umowy). W wersji zielonej zakres projektu cały czas ma w ręku zamawiający, reprezentuje go merytorycznie analityk, który najpierw opracowuje analizę a potem sprawuje nadzór autorski (jako [[product owner]]). Komunikacja polega na uzupełnianiu specyfikacji o kolejne szczegóły, w miarę jak są one potrzebne firmie wdrażającej (realizator żąda tych szczegółów porcjami w toku projektu). Żadne prace nad specyfikacją nie idą na marne (niższe koszty).

Porównanie tradycyjnej zwinnej metody tworzenia wymagań i zarządzania nimi:

Zarządzanie wymaganiami

A tu procedura zarządzania zmianą:

Zarządzanie zmianą

Zmiany może zgłaszać zarówno Wykonawca jak i Zamawiający, a zgłasza je właśnie do Product Ownera, który ocenia ich wpływ na całość i referuje skutki Zamawiającemu, ten – po analizie – akceptuje lub odrzuca propozycję.

P.S.

Polecam świetny artykuł Pana Mecenasa Łukasza Węgrzyna na temat tego jak to zawrzeć w umowie.

Bardzo często spotykam się z ogromną złożonością (liczba i ich podziały) wymagań. Problem tkwi nie raz w tym, że “narosła” przez lata “sterta zarządzeń”, która zamiast zostać najpierw uporządkowana, jest “wprost” traktowana jako “wymagania”. Takie podejście to krok w stronę klęski projektu.

W “wymaganiach” często pojawia się  coś co nazywamy “warunkiem logicznym”, może on być zarówno regułą biznesową, elementem prawa (rodzaj reguły ale z poza organizacji) jak i elementem dziedziny systemu (np. człowiek może podnieść tylko 20 kg).

W efekcie często powstają dziesiątki ‘bardzo istotnych” szczegółów, które nie powiązane ze sobą, tworzą papkę wymagań, których implementacja albo wymaga uproszczeń (brak definiowalnej logiki pomiędzy tymi wymaganiami) albo wręcz wymaga rezygnacji z części z nich (a mogą być faktycznie ważne dla firmy). Nieuporządkowane reguły takie trwają w firmach, bo człowiek ma naturalną zdolność do radzenia sobie z, nie raz sprzecznymi, ograniczeniami w swojej pracy: dokonuje wyboru ad-hoc a rozliczany jest z efektów nie reguł. Czegoś takiego nie da się zaimplementować w oprogramowaniu.

Przykład dość typowy: w wielu różnych miejscach organizacji istnieją ograniczenia maksymalnej kwoty kosztu o jakim może zdecydować osoba na określonym stanowisku. Są to nie raz progi ustalane indywidualnie (latami) dla konkretnych typów kosztów, konkretnych stanowisk itp. Nie raz są ich nawet dziesiątki a ich wysokość jest różna, ustalana pod wpływem szkody, która była przyczyną ich ustalenia lub żądań danego menedżera. Takich “reguł” w dużej organizacji mogą być nie raz nawet setki. Są to pary w rodzaju “Dyrektor XXX w przypadku dokumentu typu YYY powyżej kwoty ZZZ musi…..”. “Reguły” takie warto przeanalizować i zamienić np. na kilka (albo i jedną!): każdy dyrektor średniego szczebla  musi …. jeżeli koszt jaki wygeneruje jego decyzja przekroczy kwotę ZZZ. Ustala się jedną kwotę dla konkretnego szczebla menedżerów (wszystkich). Tu często pojawia się opór tych “menedżerów”, bo ciężko latami walczyli o swoje “kompetencje”. Niestety dla wielu menedżerów próg ich decyzji finansowych oznacza ich kompetencje i władze (a szkoda, że nie ich wiedza i umiejętności).

Podczas wdrożeń, np. systemów ERP, tego typu “reguły” (ich liczba i brak logiki) stanowią nie raz zmorę projektu a bywa, że potrafią taki projekt zabić. A ja tylko opisałem jedną z typów reguł, których są dziesiątki, a z opisanymi “wariantami”, w dużej firmie, nawet tysiące…

 

Procesy biznesowe są konsekwencją między innymi reguł biznesowych. Większość zarządów firm nie ma na półkach regałów map procesów, a firmy działają. Jednak każda firma ma zarządzenia Zarządu i to one tak na prawdę kształtują “procesy biznesowe”. Podobnie jak np. w muzeach: mamy duże sale i wiele możliwości przejść przez nie. Co decyduje o tym, jaką drogę przejdziemy przez sale pełne eksponatów? Linia na podłodze? Nie! Barierki! Czym one są? To ograniczenia! Zarządzenia Zarządu stwarzają ograniczenia, ich konsekwencją są takie a nie inne procesy biznesowe. Dlatego zrozumienie i uporządkowanie reguł biznesowych jest ważne, a nie modelowanie procesów. Te są ich skutkiem. Modelowanie procesów to odkrywanie ścieżek wyznaczonych ograniczeniami. Jeżeli jednak pozwolimy utrzymać opisany bałagan to modele procesów  biznesowych (ścieżki postępowania) przybiorą postać zawartości monstrualnego talerza spaghetti.

 

A tak na prawdę polecam wystawę w Zamku Królewskim (Warszawa): Polska za czasów Jagiellonów oraz drugą: Historia krzyża Maltańskiego. Powody są dwa: to co można zobaczyć na ścianach czyli eksponaty oraz to w jaki sposób ten sam Zamek Królewski, tylko z sprawą barierek, można zmieniać w trasy dla zwiedzających nie naruszając samego Zamku.

W poprzednim artykule, który wywołał korespondencje większą niż średnia :), napisałem:

Nie wolno zapominać, że oprogramowanie to tylko narzędzie. Niestety wielu dostawców nęci klientów opowieściami, że ?system nasz ma wbudowane referencyjne procesy biznesowe, zgromadzone doświadczenie z całego świata, jego wdrożenie spowoduje ?? i tu cała masa obietnic. Niestety firmami zarządzają ich Zarządy a pracują ludzie a nie jakieś tam ERP. (Wdrożenie ERP ? koszt czy zysk? | Jarosław Żeliński – Modelowanie Biznesowe – blog).

Otóż zróbmy mały test na logikę tezy (przykładowy cytat):

Podstawowym jednak narzędziem orientacji procesowej są modele referencyjne prezentujące prototypy procesów i mapy procesów oraz umożliwiające wdrożenie w życie idei zarządzania procesami. (Modele referencyjne w zarządzaniu procesami biznesu ? Cytaty ? Encyklopedia Zarządzania).

Przytoczmy teraz spotykaną poszerzoną definicję procesu biznesowego:

Proces biznesowy to czynność lub łańcuch następujących po sobie w czasie, logicznie powiązanych czynności, przekształcających stan wejścia procesu w stan jego wyjścia. Proces wymaga określonych zasobów a swoboda jego realizacji może być ograniczona. Zasobami w procesie są wykonawcy czynności, ich umiejętności oraz narzędzia pracy. Ograniczeniami są reguły biznesowe i uprawnienia.

Jeżeli zgadzamy się z powyższą definicja czytamy dalej 🙂

Teraz model obrazujący tę definicje:

Jak widać mamy proces biznesowy i powiązane z nim ograniczenia (zarządzenia, reguły biznesowe), wejściowe i wyjściowe dokumenty, wykonawcę i powiązane z nim jego kompetencje (w tym umiejętności), pozycje w strukturze organizacyjnej firmy. Jak już tu nie raz pisałem, oprogramowanie to jedno z narzędzi pracy, wykonawca (rola jaka pełni w konkretnym procesie) w ramach posiadanych umiejętności ma umiejętność posłużenia się tym oprogramowaniem. Oprogramowanie to jednak także wzory dokumentów (przetwarzane dane)!

No to teraz test logiczny. Jeżeli modele referencyjne to “prototypy procesów i mapy procesów” (czyli procedury), to ich wdrożenie wymaga automatycznie wdrożenia prototypów (wzorów) dokumentów, nowej struktury organizacyjnej wraz ze stanowiskami i ich opisami, narzędziami pracy. Moje pytanie brzmi: jaki to ma sens i która firma przeżyje taką rewolucję?

Szukamy sensu. Po raz kolejny przytoczę model poziomów abstrakcji opisu firmy:

(źr. Business Process Trends Associations)

Na pewnym wysokim poziomie abstrakcji można mówić o procesach referencyjnych, a raczej dobrych praktykach np. proces tworzenia nowego produktu powinien mieć następujące kroki: opis pomysłu, analiza  SWOT produktu na rynku, oszacowanie ceny sprzedaży, kosztu wytwarzania i planowanego poziomu sprzedaży, prognoza przepływów gotówkowych.  Ale to “ogólny opis” a nie “prototypy procesów i mapy procesów”. proces i jego mapa to najniższy, implementacyjny poziom opisu.

listy, korespondencja, dużo, papier

Tak więc są na pewno pewne pryncypia, można je znaleźć np. w książce M.E.Portera “Strategie konkurencji” (autor koncepcji rynkowego łańcucha wartości) czy P.Druckera “Praktyka zarządzania”.

Jednak jak nam ktoś oferuje system ERP z “wbudowanymi procesami referencyjnymi” to należy rozumieć: “szykuje się totalna rewolucja”, czy ją przeżyjemy?

Wstęp

Swego czasu brałem udział w burzliwiej dyskusji (zresztą niejednej) na temat sensu prac analitycznych i projektowych przy okazji wdrażania systemów ERP, czyli gotowego oprogramowania (przeczytaj artykuł). Większość dostawców tego oprogramowania, z jakimi miewam kontakt, uważa, że analiza owszem ale w celu opracowania koncepcji wdrożenia, czyli dokumentu mówiącego jak dostosować system ERP do potrzeb klienta z naciskiem na słowo kompromis. Pojawia się prędzej czy później święte słowo kastomizacja, które po protu oznacza najczęściej przerabianie gotowego produktu (nie raz bardzo dobrego do momentu gdy się go nie popsuje tymi przeróbkami, przeczytaj i ten artykuł).

Kastomizacja a parametryzacja

Niedawno pisałem, że

gotowe oprogramowanie należy zostawić nietknięte (nie licząc okienek konfiguracji) a brakujące funkcjonalności opracować, zaprojektować i zintegrować.

Z reguły jak tylko wypowiem tę kwestię, lecą na mnie gromy ze strony konsultantów dostawców ERP. Jednak warto te metodę stosować co potwierdzają nie tylko moje doświadczenia:

Eksperci podkreślają bowiem, że większość kosztów generowanych przez projekt wdrożeniowy nie ma nic wspólnego z kosztem samego oprogramowania. ?Średnio trzy czwarte budżetu pochłaniają koszty wdrożenia, modyfikacji standardowej funkcjonalności oraz modernizacji sprzętu? ? czytamy w raporcie Panorama Consulting Group. […] O systemach klasy ERP coraz częściej mówi się, że są zbyt rozległe, ociężałe i ograniczają możliwości biznesu, od którego wymaga się zwinności i elastyczności. Czy czasy takich systemów już przemijają?? (źr. IDG, 2010r)

Stale śledzę to co się dzieje na rynku systemów IT wspomagających zarządzanie obserwuję taki własnie kierunek rozwoju:

Systemy zintegrowane ERP będą pewnymi zestawami gotowych funkcjonalności, zbudowanymi w oparciu o szkielety oprogramowania zaś integracja będzie bazowania nie na współdzieleniu danych a na wymianie ich pomiędzy modułami i zewnętrznymi systemami na równych prawach. Rozwój systemu w takim przypadku polega na tworzeniu nowych modułów tym środowisku a nie na modyfikacji już istniejących.

Kierunek ten już widać od ok. dwóch lat na rynku (ja o tym pisze od ponad pięciu), prace te więc trwają zapewne  znacznie dłużej. Widać to na stronach niektórych dostawców, liderów na rynku:

Dynamics AX 2009. Framework (szkielet, przyp. mój) to zestaw wzorców projektowych, interfejsów, gotowych bibliotek i innych narzędzi. Elementy te dają wsparcie programistom. Najlepszą praktyką jest sięganie do tych zasobów i wykorzystywanie ich zamiast tworzyć własne podobne. Tu opisano framework, podsystemy i funkcjonalności Microsoft Dynamix AX (źr. Frameworks Introduction).

Obecnie standardem jest stosowanie w framerworkach, przeznaczonych do tworzenia oprogramowania biznesowego w środowisku przeglądarek WWW, (i nie tylko) wzorca projektowego MVC:

Wzorzec MVC pomaga tworzyć aplikacje rozdzielając trzy różne aspekty oprogramowania: interfejs użytkownika, logikę biznesową oraz zachowanie systemu, poprzez zachowanie minimalnych wzajemnych zależności. Wzorzec opisuje gdzie każdy z elementów tej logiki umieszczać. Interfejs użytkownika obsługuje widok (view). Sterowanie aplikacją obsługuje kontroler (controller). Logika biznesowa zawarta jest w modelu (model). Ta separacja pomaga zarządzać złożonością oprogramowania podczas jego tworzenia, ponieważ pomaga skupić się w danym momencie na jednym tylko aspekcie problemu.  (źr. MSDN MVC Overwiew)

Inny przykład podejścia do otwarcia się:

IFS Open Information Architecture

Tu mamy coś w rodzaju fasady ([[wzorzec projektowy fasada]]) dla IFS Application (materiały z publicznej strony WWW), którego nowa wersja to już nie środowisko procedur w Oracle DBMS a serwer aplikacyjny Java J2EE (ciekawe ilu programistów Java mają na etatach dostawcy IFS’a). Zapewne powyższe to nie jedyne przykłady tego rodzaju rozwiązań ERP na rynku (firmy chcące uzupełnić ten artykuł mogą mi przesłać stosowne materiały).

Tak więc da się, trzeba nie tylko chcieć ale i potrafić. Tu mała łyżka dziegciu do garnuszka integratorów i dostawców ERP: najczęściej nie potrafią i mam wrażenie, że nie chcą bo, jak już w poprzednim artykule pisałem, nie jest to w ich interesie.

Model biznesowy dostawców gotowego oprogramowania to w większości przypadków brak kosztów tworzenia własnego produktu i jego rozwoju i budowanie marży na cudzym produkcie. Oferowany jest cudzy produkt wraz usługą  jego wdrożenia. Firma taka stanowi kanał sprzedaży producenta tego oprogramowania. Problem w tym, że od pewnego czasu rynek się zmienia: gotowe produkty bez modyfikacji nie mają tu (zarządzanie) racji bytu a mam wrażenie, że dostawcy ERP starają się za wszelka cenę unikać dostosowań. Dlaczego? Bo ich model biznesowy własnie w większości przypadków nie przewiduje utrzymywania bardzo kosztownego zespołu analityków, projektantów i programistów.

Czy mam rację? Przejrzałem co nieco ogłoszeń o prace dostawców ERP, z tego co zebrałem skompilowałem najczęściej powtarzające się oczekiwania:

Konsultant systemów ERP
Osoba będzie członkiem zespołu biorącego udział w procesie wdrażania systemu ERP (analiza, konfiguracja, szkolenia) oraz zapewniającego bieżącą obsługę i serwis istniejących wdrożeń.
Opis stanowiska pracy
  • współpraca z klientem oraz doradztwo merytoryczne
  • udział w analizach wdrożeniowych
  • zaawansowane wsparcie dla obecnych klientów systemów
  • udział we wdrażaniu systemów
  • przeprowadzanie prezentacji produktów u klienta
  • prowadzenie szkolenia dla klientów
  • wsparcie użytkowników systemu
  • prowadzenie dokumentacji technicznej,
  • zarządzanie zmianami w systemie,
  • szkolenie końcowych użytkowników,
Oczekujemy:
  • 2-3 letniego doświadczenia we wdrożeniach systemów klasy ERP
  • zdolności analitycznego myślenia
  • umiejętności rozwiązywania problemów
  • doświadczenie we wdrażaniu systemów
  • ogólna orientacja w procesach biznesowych i chęć pogłębiania tej wiedzy,
  • znajomość metodyki zarządzania projektami wdrożeniowymi
  • znajomości SQL

To ostatnie (SQL) pojawia się od czasu do czasu, to kompetencja wymagana do tworzenia nowych raportów w systemie. Gdzie tu jest inżynieria oprogramowania? Czy w państwa wdrożeniach poza konsultantami brali udział analitycy projektanci i programiści czy tylko konsultanci wpadający po to by pozmieniać coś w systemie (powodując nie raz uszkodzenia w innych jego częściach)?

Tak więc co mogę poradzić? Bardzo dokładne przyglądanie się rozdziałom oferty pod tytułem Dostosowanie systemu, Koncepcja wdrożenia oraz ile oczekiwanych przez Państwa  funkcjonalności to te, których system w swej wersji standardowej nie oferuje. Powinny one być po dokładnej analizie, zaprojektowane i zaimplementowane.

Jeżeli Konsultanci zaczynają negocjować rezygnację z części oczekiwań lub oferują coś podobnego w systemie, to pierwszy sygnał, że powinien ktoś im zacząć patrzeć na ręce, i nie mam tu na myśli ich przełożonego.

Na zakończenie list jednego z moich klientów, nazwał bym to typowym problemem:

Planujemy wdrożenie nowego oprogramowania, chcemy tym razem uniknąć presji ze strony dostawcy oprogramowania. Poprzednim razem dostawca oprogramowania upraszczał sobie pracę, już na etapie analizy, którą wykonywał sam. Analiza wymagań polegała na wywiadach i warsztatach grupowych, skończyła się zwykłym opisem, tabelkami i kilkoma nieczytelnymi schematami. Podczas analizy i wdrożenia stale wmawiano nam, że “tego nie można”, “to należy uprościć” albo “tak się nie robi” my zaś nie potrafiliśmy tego ocenić. Wiele naszych potrzeb odkrywaliśmy dopiero podczas instalacji kolejnych prototypów, zaś dostawca unikał wprowadzania zmian i obiecanych dostosowań. Dostaliśmy w efekcie nieprzydatne i niezgodne z biznesowymi potrzebami oprogramowanie. Czy może nam Pan tym razem pomóc?

P.S.

Nie jestem w żaden sposób związany z dostawcami produktów wymienionymi w artykule. Ich nazwy zostały wskazane wyłącznie z szacunku dla praw autorskich cytowanych treści.