Scrum a jakość produktów w VSoft

Czym jest zwinność w zarządzaniu projektami? Zwinność to przede wszystkim więcej wartości na wcześniejszym etapie. Czym jest zatem ta wartość? Dla klienta będzie to działające oprogramowanie, zgodne z jego potrzebami biznesowymi. Istota zwinności polega na tym, aby dostarczać działające funkcjonalności od początku projektu i regularnie. Scrum to zbiór narzędzi i zasad, które wspierają iteracyjne dostarczanie przyrostu, czyli działających fragmentów oprogramowania. Kluczowy jest tu fakt, że musi on działać – technicznie i funkcjonalnie, a więc musi prezentować odpowiednią, wysoką jakość.

Jakość w zwinnych metodykach zarządzania projektami

Manifest Agile, na którym bazuje Scrum, kładzie nacisk na skupieniu na kliencie i jego potrzebach, ścisłej współpracy i efektywnej, stałej komunikacji między stronami, a także na adaptacji do zmieniających się wymagań. Jakość rozumiana jest tu jako proces dochodzenia do dobrego, działającego i spełniającego potrzeby klienta produktu. Dążenie do wysokiej jakości oraz jej osiąganie jest w zasadzie fundamentem metodyk zwinnych.

W jaki sposób Scrum wspiera wysoką jakość naszych produktów?

Iteracyjne, regularne dostarczanie działających funkcjonalności

Zespół projektowy pracuje w Sprintach. Zgodnie z definicją z najnowszego Scrum Guide (2020), Sprint jest sercem Scruma, w którym pomysły zamieniają się w wartość. Są to okresy pracy w określonym cyklu, mające stałą długość. Trwają maksymalnie miesiąc, aby zapewnić spójność wydań. Nowy sprint rozpoczyna się natychmiast po zakończeniu poprzedniego. Owocem każdego z nich jest realizacja określonego dlań celu, a celem nadrzędnym jest dostarczenie bądź zaprezentowanie klientowi działającego przyrostu. Sprinty zapewniają regularność w dostarczaniu kolejnych wydań produktu, a przede wszystkim wspierają iteracyjny proces jego kontroli. Co to jest iteracyjny proces kontroli? Są to testy, które tak jak i praca nad kolejnymi funkcjonalnościami, odbywają się w stałych, określonych cyklach, dyktowanych rytmem pracy. Przed wydaniem/zaprezentowaniem rezultatu prac klientowi wersja przechodzi szczegółową kontrolę – testy manualne, automatyczne, regresji. Po dostarczeniu to klient ma możliwość zweryfikowania poprawności działania przyrostu, a także jego wartości biznesowej.

Częsty feedback ze strony klienta

Iteracyjne, regularne dostarczanie i prezentowanie działających funkcjonalności zamawiającemu maksymalizuje okazje do otrzymania informacji zwrotnej, opinii o efektach prac. Jest ona niezwykle cenna z punktu widzenia wykonawcy, ponieważ stanowi element procesu kontroli – wyznacza kierunek dalszych prac, pozwala na regularną rewizję priorytetów i daje możliwość bieżącej identyfikacji błędów oraz problemów.

Przyrostowe dostarczanie oprogramowania

Umożliwia kontrolę nad poszczególnymi wydaniami produktu, a przede wszystkim ich poprawianie i dopasowywanie do zmieniających się wymagań klienta. Rewizja ta dotyczy, zarówno tych wersji, które zostały już dostarczone, jak również tych, które klient dopiero otrzyma.

Testy jako stały element cyklu iteracyjnego

Nowy sprint rozpoczyna się natychmiast po zakończeniu poprzedniego, jest to pewna stała, określona sesja pracy. Podobnie z testami, są one stałym i nieodzownym elementem procesu wytwarzania oprogramowania. Zaczynają się jeszcze przed dostarczeniem klientowi pierwszej, działającej wersji systemu, a kończą po dostarczeniu ostatniej, ustalonej poprawki, na sam koniec projektu.

Osoby odpowiedzialne za jakość produktu

Kto właściwie odpowiada za jakość produktu, zarówno po stronie dostawcy, jak i zamawiającego? Za jakość produktu po stronie dostawcy odpowiedzialny jest cały zespół projektowy. W VSoft oprócz Zespołu Scrumowego (tj. programistów, architektów i testerów; Właściciela Produktu i Mistrza Scrum), są to także analitycy, kierownik projektu oraz dedykowani pracownicy z Działu Wdrożeń. Każda z tych osób ma określoną rolę w procesie kontroli jakości. Klient również zobowiązuje się do oddelegowania zespołu odpowiedzialnego za pracę nad projektem. Optymalny zespół projektowy po stronie klienta składa się z osób:

  • o należytych kompetencjach i dyscyplinie (odpowiednim poziomie merytorycznym),
  • zaangażowaniu (dyspozycyjność),
  • umocowaniu (pełnomocnictwo, umożliwiające podejmowanie wiążących decyzji).

Trzy poziomy jakości

Strony zaangażowane w projekt, oprócz wspólnego dla wszystkich rozumienia pojęcia jakości produktu, mają również swoje własne wytyczne decydujące o ostatecznej satysfakcji. Cykliczna rewizja przyrostów, oprócz ogólnych zasad jakości, uwzględnia również te indywidualne preferencje uczestników projektu, które stanowią kolejny, dodatkowy filtr.

  • jakość definiowana przez Dział Wdrożeń VSoft – Dział Wdrożeń jest pośrednim, wewnętrznym odbiorcą przyrostu, wdraża go na jedno ze środowisk testowych po naszej stronie, przeprowadza audyt bezpieczeństwa wydania, a także dba o aktualność instrukcji instalacji wersji,
  • jakość definiowana przez zespół projektowy po stronie VSoft – opiera się na nieprzerwanej rewizji produktu przez analityków, Właściciela Produktu, programistów, testerów, architektów. W tym procesie niezwykle pomocna jest ustalana przez zespół Definicja Gotowości (Definition of Done). Jest to zbiór kryteriów, które spełnić musi wymaganie, aby można było je uznać za ukończone,
  • jakość definiowana przez klienta – klient, jako ostateczny nabywca, akceptuje i odbiera poszczególne przyrosty, aby finalnie przyjąć cały produkt. Akceptacja zależna jest od powodzenia testów, które cyklicznie przeprowadza.

Elastyczność, czyli adaptacja do zmian w trakcie projektu

Regularne przeglądy przyrostów dają możliwość efektywnej adaptacji do zmieniających się w trakcie projektu wymagań. Możliwość szybkiego dostosowania się do zmian również jest wyznacznikiem jakości, ponieważ sprzyja sprawnemu dostosowaniu produktu do faktycznych potrzeb klienta.

Backlog produktu

To nieustająco kształtująca się, uporządkowana lista tego, co jest potrzebne do rozwijania produktu. Elementy tej listy uporządkowane są zgodnie ze swoim stopniem przejrzystości, dookreślenia oraz priorytetami – od tych najbardziej skonkretyzowanych na górze, po najmniej szczegółowe na dole. Backlog produktu stanowi podstawę prac projektowych, jego elementy są przedmiotem implementacji, dlatego muszą być odpowiednio opisane, tak aby zespół nie miał wątpliwości, co powinien wykonać w ramach każdego z nich. Szczegółowy opis pozycji backlogu, zawierający skonkretyzowane kryteria akceptacji, często również przypadki testowe, niewątpliwie sprzyja zachowaniu odpowiedniej jakości. Podobnie jak nieustająca praca w ramach backlogu – jego rewizja, definiowanie i uzupełnianie jego elementów, zmiany w ich kolejności, a także dodawanie i usuwanie pozycji zgodnie z aktualnymi potrzebami.

Czy Scrum jest gwarancją wysokiej jakości?

Fundamentem Scruma jest dążenie do wysokiej jakości oraz jej osiąganie. Oferuje on szereg narzędzi sprzyjających dbałości o jakość produktów. W zasadzie każdy z jego filarów tj. inspekcja, adaptacja i transparencja, odwołuje się do satysfakcji i spełnienia potrzeb klienta. Każde z jego wydarzeń (Sprint, Planowanie Sprintu, Codzienny Scrum, Przegląd Sprintu, Retrospektywa) to formalna okazja do rewizji i dostosowania artefaktów, czyli backlogu (produktu oraz sprintu) i przyrostu. Regularne dostarczanie działających elementów systemu, w krótkich odcinkach czasowych, ogranicza również możliwość powstawania i przyrastania długu technologicznego. Jednak warto w tym miejscu zaznaczyć, że szereg narzędzi do zarządzania jakością, które dostarcza nam Scrum, nie przyniesie oczekiwanych efektów bez ścisłej współpracy między stronami i efektywnej komunikacji. To one leżą u podstaw powodzenia każdego projektu.

Emilia Blachura

Kierownik Projektów w Pionie Ubezpieczeń VSoft. Zwolenniczka zwinnych metodyk prowadzenia projektów, nie ustaje w poszerzaniu swojej wiedzy w zakresie Scrum i product managementu. Pracę na stanowisku IT Project Managera rozpoczęła ponad pięć lat temu, od prowadzenia projektów e-commerce, obecnie odpowiada za wszystkie projekty ubezpieczeniowe w VSoft. Prywatnie miłośniczka zwierząt, dobrych książek i muzyki oraz podróży.

Zobacz również

See also

Budowanie zaufania wśród klientów to proces, który wymaga konsekwencji, przejrzystości i odpowiedzialności. Spełnianie obietnic, przewidywalna komunikacj...