Powiem otwarcie: świat potrzebuje „Ligi Sprawiedliwości Testów”, zbioru superbohaterów, czyli zespołów testowych do zadań specjalnych. A więc potrzebujemy firm, które specjalizują się w testach, które są przygotowane właśnie do tego, żeby przetestować każde oprogramowanie i zrobić to jak najlepiej. Śmiem wręcz twierdzić, że należy rozdzielić działy programistyczne od tych, które zajmują się testami i stworzyć osobne firmy. Dlaczego? Po to, żeby firmy powstałe po takim podziale mogły się jeszcze bardziej wyspecjalizować – kompetencyjnie i biznesowo. Oczywiście jest to skrajne podejście, mające na celu coś zobrazować, pewną ideę. Jeśli specjalizujemy się w dostarczaniu oprogramowania, priorytetem firmy jest właśnie oprogramowanie, nie są nim natomiast testy, co oznacza, że ich jakość może być mniejsza. Co jeśli zależy nam na tej jakości? Wtedy należy znaleźć firmę, dla której to testy są priorytetem.

Oczywiście nie musimy korzystać z usług firm zewnętrznych, gdyż przy odpowiedniej wielkości własnej firmy stworzenie centrum testów, w którym zdywersyfikowane zasoby testerskie będą wspierały inne działy w specyficznych zadaniach, wydaje się być dobrym rozwiązaniem. Trzeba mieć jednak na uwadze, że jest to również kwestia związana ze skalą zadań, bo jest to rozwiązanie drogie w utrzymaniu i wciąż istnieje zagrożenie, że pewne kompetencje testerów nie będą wykorzystane w pełni. Nawet w bardzo dużych firmach nie ma często gwarancji, że dostarczymy takiej ilości zadań, żeby wykorzystać w całości posiadany potencjał zespołu. Dodatkowo doświadczenie takiego centrum testów będzie ograniczone do projektów typowych tylko dla naszej firmy. W wypadku, kiedy trafimy na wyzwanie poza tym zakresem kompetencji i doświadczenia, które wykracza poza typowe działania w naszej firmie, znowu jesteśmy skazani na przeciętność lub drogi proces rekrutacji, zakupu narzędzi czy zdobywania nowych kompetencji.

Software Testing as a Service

Jednym z modelów, które starają się rozwiązać ten problem jest podejście STAAS (Software Testing as a Services), a także MSTAAS (Maganement Software Testing as a Services) i podobne. Ogólnie jest to model usługowy, czerpiący z filozofii chmury, nie tylko pod względem narzędzi hostowanych w chmurze, ale także tzw. chmur umiejętności. Czym się to różni od klasycznego outsourcingu polegającego na wynajęciu dwóch specjalistów do określonego projektu? Otóż zespoły budowane w celu dostarczenia usługi, jaką są testy, budowane są w taki sposób, żeby były w stanie pokryć różne wymagania względem testów w projekcie.

Wyobraźmy sobie typowy projekt – pracuje w nim dwóch naszych testerów, jednak nagle pojawia się potrzeba zwiększenia intensywności prac. Jeżeli mamy wolne zasoby, rozszerzamy zespół, natomiast jeżeli ich nie ma, to rozwiązań tego problemu mamy kilka. Po pierwsze, praca w nadgodzinach, która na dłuższą metę jest nieefektywna, gdyż zwiększa koszt roboczogodziny względem wydajności. Kolejnym wyjściem jest szukanie ludzi na rynku pracy, jednak szansa ich znalezienia w krótkim czasie, jest dość mała. Jeśli więc szukamy rozwiązania elastycznego – zarówno pod kątem czasu, jak i kosztów, pozostaje ostatecznie model usługowy. Zadania przekazujemy zespołowi, który jest gotowy do rozpoczęcia testów w krótkim czasie, dokładnie w momencie, kiedy jest to potrzebne.

Dodatkowo usługi te są skalowalne, co oznacza, że jeżeli potrzebny jest jeden specjalista, to tylko on wykonuje zadania, a jeśli potrzebnych jest pięcioro, to właśnie tylu realizuje projekt. Nie musimy się przy tym ograniczać do umiejętności dwóch konkretnych osób w projekcie, ale wykorzystujemy paletę umiejętności całego zespołu ludzi. Skuteczność wykonanej pracy, a także relacja kosztów do efektywności jest nieporównywalnie lepsza.

Zespoły testerskie w takim modelu przygotowują się w wolnym czasie do tego, żeby jak najlepiej sprostać pojawiającym się wyzwaniom. Buduje się je wokół całej palety umiejętności, tak żeby stanowiły samowystarczalny i możliwie pełny zbiór kompetencji, umiejętności i doświadczenia. Poza tym zespoły takie dysponują:

  • wypracowanymi w praktyce dobrymi praktykami,
  • własnymi narzędziami, które wybierają po wnikliwej analizie i badaniu rynku oraz potrzeb,
  • możliwością pracy w chmurze w celu budowania środowisk testowych jak najszybciej, przy jak najbardziej dokładnym odzwierciedleniu środowisk klienckich.

Wykonywane przez taki zespół usługi testowe muszą być na jak najwyższym poziomie, ponieważ ich skuteczność, a dokładnie jej wyższa wartość względem modelu standardowego jest sensem istnienia takiego zespołu. Muszą więc być lepsi, szybsi i skuteczniejsi niż inni. Taki jest właśnie cel specjalizacji firmy budującej takie zespoły.

Testy jako usługa – dlaczego nie?

Wszystko wydaje się proste i piękne. Zgłaszamy się do firmy zewnętrznej, przedstawiamy budżet na testy i określone zadania. Firma zaczyna testować, do odpowiednich zadań przekazywani są najlepsi specjaliści, a w czasie kiedy dane osoby nie są wykorzystywane, doskonalą się lub wykonują prace w innych projektach. Kiedy trzeba zwiększać zasoby, zwiększamy je, a kiedy praca nie jest potrzebna, nie wykonujemy jej (i nie płacimy za przestój). Działamy według potrzeb, budżetu, według najlepszych praktyk i umiejętności, przy ograniczeniu kosztów. Piękne? Tak, jednak jak zawsze nie ma idealnych rozwiązań. Istnieje tutaj duży problem, jakim jest brak zaufania.

Zaufanie do zespołu testowego jest krytyczne. Testerzy, żeby móc najlepiej wykonywać swoje obowiązki, muszą mieć pełną wiedzę biznesową, musi tutaj istnieć jak najlepszy przepływ informacji. Ale nie oszukujmy się – przekazywanie wiedzy o procesach, produktach, a także przenoszenie odpowiedzialności poza organizację, to nie jest prosty temat. Dla niektórych firm jest to kwestia pokonania pewnej bariery psychologicznej, dla innych będzie to bardzo poważne wyzwanie, związane z bezpieczeństwem. Trudno się takim firmom dziwić. Nie każdy jest na to gotowy, nie każdy chce zaufać, nie każdy też może pozwolić sobie na zaufanie – zwłaszcza w przypadku obszarów strategicznych, jakich testowane oprogramowanie może dotyczyć.

Inną zupełnie kwestią jest przebicie bariery związanej z zupełnie nowym modelem usługi, a więc czymś, czego klienci nie znają. Dużo łatwiej klientowi wynająć specjalistę do zespołu w formie leasingu pracowniczego, niż zaufać zewnętrznemu dostawcy i przekazać testy całkowicie na zewnątrz. Pamiętać należy jednak, że tak naprawdę zazwyczaj klient nie potrzebuje uzupełnienia wakatów w swoim projekcie, ale ma konkretny problem, który chce rozwiązać. Problemem w tym przypadku będzie przetestowanie danej aplikacji – w jak najlepszy sposób, przy ograniczonych zasobach. A przecież nie kupuje się browaru jeśli chce się tylko napić piwa. Model STAAS będzie coraz popularniejszy, bo jest racjonalny i optymalny w coraz bardziej specjalizującym się biznesie.

Na koniec należy więc postawić następujące pytanie: nie czy, ale kiedy będziemy w stanie odejść od modelu alokowania konkretnych ludzi na dane miejsce, zastępując go modelem, w którym dostarczamy konkretne rozwiązania danych problemów? Jak pokazałem wcześniej, nie zawsze jest to proste, jednak z całą pewnością elastyczne modele współpracy, w obliczu coraz bardziej skomplikowanych zadań, będą coraz bardziej pożądanym rozwiązaniem.

Wiem jedno: kiedy mam wybór jako tester, być dobry we wszystkim, czyli tak naprawdę w niczym, albo być rycerzem Jedi w swojej specjalizacji, wolę być właśnie rycerzem Jedi. I taki jest moim zdaniem przepis na sukces. W każdym biznesie.

Więcej na temat testów, można przeczytać w pierwszej części artykułu.

Autorem wpisu jest:
Leszek Zieliński

Od 2011 roku realizuje i kieruje projektami QA. Ekspert w obszarze testów manualnych, zarządzaniu testami, doskonaleniu procesów testowych, mający również doświadczenie w testach automatycznych. Posiada certyfikat ISTQB Full Advanced Tester. Zafascynowany metodologią Rapid Software Testing, jak i podejściem Software Testing as a Service. Absolwent Politechniki Śląskiej w Gliwicach. Po godzinach działacz społeczny.

Dodaj komentarz

Komentarze:

Skontaktuj się z nami

Chcesz dowiedzieć się więcej o naszych usługach? Napisz do nas – odpowiemy na każdą wiadomość.

Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
• w celach handlowych,
• w celach marketingowych,
• w celach rekrutacyjnych;
• w celach przyszłych rekrutacji.
3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.