Wiadomości

Outsourcing na świecie Część 3 - Bezpieczeństwo i zarządzanie.

1 655

Częściej niż inne, poufne informacje klienta narażone są na „tłum” podczas cykli testowych. Firmy zajmujące się crowdtestingiem [testy przeprowadzane przez niezidentyfikowaną, zwykle bardzo szeroką grupę ludzi, ang. crowd – tłum, testing – testowanie, przyp. tłum.] zdały sobie sprawę z potrzeby bezpieczeństwa i poufności, dlatego też wprowadziły kilka warstw screeningu, filtrów, mechanizmów zarządzania, narzędzi zaciemniających, ram zarządzania danymi itd. aby zapewnić swoich klientów, że ich dane i informacje są przetwarzane z zachowaniem najwyższej poufności. W przypadku projektów wymagających wysokiego poziomu bezpieczeństwa, proponuje się i zatwierdza poddaną wstępnemu screeningowi listę „inżynierów testowych w białych kaskach” posiadających wieloletnią wiarygodność i reputację zawodową.


Zarządzanie danymi testowymi zapewnia bezpieczeństwo poprzez zaciemnianie informacji czułych lub tworzenie danych typu ‘test only’ (wyłącznie testowych). Pomaga to zminimalizować skutki ewentualnych naruszeń bezpieczeństwa podczas testów na dużą skalę.

Od testerów wymaga się także podpisania ogólnej umowy o zachowaniu poufności (ang. Non-Disclosure Agreement, NDA) w momencie dołączenia do społeczności, która to umowa zabrania im dyskutowania na temat klientów, produktów itd., zarówno offline jak i online na portalach społecznościowych, blogach osobistych, czy w innych miejscach poza prywatną platformą testową. Klienci mają też swobodę wyboru swoich testerów z puli, oraz przedłożenia wybranym testerom zindywidualizowanych umów NDA, które muszą przez nich zostać podpisane przed zapoznaniem się z projektem klienta.


Co więcej, standaryzowane kanały komunikacji, ograniczenia dostępu itd. pomagają w zabezpieczeniu danych i uzyskania poufności w działaniach testowych, co w rezultacie pomaga osiągnąć płynne przechodzenie między różnymi etapami cyklu projektu crowdtestingowego.

Outsourcing na świecie Część 3 Bezpieczeństwo i zarządzanie


1. Zapewnienie jakości testerów


Aby zapewnić jakość testerów, poszczególnym testerom okresowo przedkładane są formalne i nieformalne testy oparte na ich doświadczeniu, dostępnym materiale i opanowanych koncepcjach. Testerzy i kierownicy projektu są stale monitorowani dla zapewnienia zarówno jakości jak i integralności. Dzięki ciągłemu filtrowaniu, eliminowani są aplikanci nieposiadający formalnego przeszkolenia lub znaczącego doświadczenia zawodowego. Coraz częściej firmy crowdtestingowe sponsorują także certyfikaty zawodowe dla doświadczonych testerów, dzięki czemu ich pozycja i zakres odpowiedzialności rosną proporcjonalnie do ich wkładu. W celu uniknięcia ewentualnego konfliktu interesów wśród testerów, wdrażane są mechanizmy wynagrodzeń oparte na wydajności, gwarantujące wynagradzanie testerów współmiernie do ich poziomu zaangażowania i wkładu w polepszanie jakości oprogramowania. Testerzy, którzy wykryją większą liczbę mniej istotnych usterek, otrzymują wynagrodzenie mniejsze niż ci, którzy wykryją kilka istotnych usterek. Mechanizmy te pomagają także zapobiec wszelkim wymianom obraźliwych wiadomości, nieprzebierającej w środkach rywalizacji itd. w ramach społeczności oraz zwiększyć skupienie, odpowiedzialność, lojalność i przynależność testerów do społeczności, tworząc tym samym przyjemne i pełne szacunku środowisko pracy.


2. Wybór firmy crowdtestingowej


Spośród różnych etapów procesu crowdtestingowego, zdecydowanie najważniejszy to wybór odpowiedniej firmy testującej. Firma zlecająca musi obowiązkowo zrealizować odpowiedni proces ‘due diligence’, szeroko zakrojoną ocenę projektu, możliwości i skali firmy testującej itd. przed dokonaniem wyboru platformy crowdtestingowej. Na ogół, wybór sprawdzonej i doświadczonej platformy crowdtestingowej znacznie ułatwia czynności operacyjne, wymagając zazwyczaj mniej utrzymania i zarządzania podczas etapów operacyjnych z uwagi na fakt, że firma testująca rozwiązała już wiele istotnych zagadnień z minionych doświadczeń z innymi klientami.

Dlatego istotne jest ocenienie platform crowdtestingowych – przynajmniej według następujących kryteriów – aby upewnić się, że oferują one minimalną wymaganą funkcjonalność i bezpieczeństwo:


1. Ważne jest ustalenie takich cech firmy crowdtestingowej, jak: poziom doświadczenia, możliwości dostawy, różnorodność umiejętności i globalny zasięg pozwalający sprostać zmieniającym się wymaganiom klientów korporacyjnych.
2. Wiarygodne kompetencje wykazane na podstawie wzrostu organicznego i doświadczenia z firmami zarówno korporacyjnymi, jak i skali średniej. Stosunkowo łatwym dla małej platformy crowdtestingowej jest świadczenie usług z zakresu testowania aplikacji mobilnych i stron internetowych, natomiast bardzo niewiele firm jest na tyle dojrzałych, aby testować aplikacje dla przedsiębiorstw i oferować usługi testowe pod klucz.
3. Stabilność finansowa zbudowana na przestrzeni czasu jest szczególnie ważna, jeśli klient pragnie podejmować projekty długoterminowe bez konieczności martwienia się o zejście dostawcy usług z rynku.
4. Wiele platform crowdtestingowych oferuje jedynie usługi kojarzące, łączące klientów z testerami bez zapewnienia usługi zarządzanej. Tego rodzaju platformy nie gwarantują liczby testerów oprogramowania, ilości pracy realizowanej przez poszczególnych testerów, jakości testerów czy wyników testów, ani żadnych wiarygodnych wyników. Tego rodzaju platform najlepiej unikać.
5. Niezbędny dla zrozumienia zakresu usług oraz umów SLA jest rzetelny przegląd warunków świadczenia usług.
6. Do oceny operatorów platformy w przypadku każdego głównego projektu crowdtestingowego należy zastosować dokument hierarchii ograniczeń i kryteriów sourcingu. Dokument ten powinien dotyczyć różnych elementów, takich jak:


a. Struktury cenowe.
b. Jakość, bezpieczeństwo, ochrona i poufność.
c. Portfolio usług profesjonalnych.
d. Możliwości i procesy.
e. Metodologia dostawy.
f. Infrastruktura usług.
g. Struktury wynagrodzeń.
h. Odpowiedzialność społeczna.
i. Wygoda i skalowalność.
j. Funkcjonalność i jakość platformy/narzędzi.
k. Struktury zarządzania ryzykiem.


Podsumowanie


Po omówieniu różnych elementów crowdtestingu można łatwo wywnioskować, że duże przedsiębiorstwa mogą oczekiwać znacznych oszczędności i skalowalności, dzięki nawiązaniu partnerstwa z uznanymi i doświadczonymi firmami crowdtestingowymi. Crowdtestingowe narzędzia, procesy, ramy i metodologie dojrzały do tego stopnia, że crowdtesting można łatwo włączyć w normalne cykle rozwojowe w organizacjach. Crowdtesting zmniejsza prawdopodobieństwo błędu ludzkiego poprzez zróżnicowanie czynności testowania oprogramowania pośród znacznie większego zespołu. Poprzez ekspozycję aplikacji w rzeczywistych warunkach, możliwe jest śledzenie faktycznych danych użytkowości i ścieżek wykonawczych, co z kolei można wykorzystać do ponownej inżynierii i ulepszeń prowadząc do dalszych ulepszeń jakości. Poza tymi podstawowymi korzyściami, duże firmy mogą też uzyskać dużo krótszy czas wprowadzenia na rynek, zwolnić zasoby pozwalające skupić się na działalności kluczowej, uzyskać dostęp do dużych pól talentów, zwiększyć elastyczność itd.


Początki są łatwe, a organizacje, które odważą się na ten krok z pewnością odniosą szereg korzyści zarówno krótko- jak i długoterminowych.


Testowanie oprogramowania dla firm z wykorzystaniem crowdsourcingu część 1.


Jakie aplikacje nadają się do testowania w tłumie (crowdsourcingu)? część 2.

Mithun Sridharan