Lean a testowanie

Lean a testowanie
Lean na stałe zakorzenił się w świecie IT. Warto wiedzieć czym jest.

Nie wystarczy być już Agile. Teraz wszyscy chcą być Lean. Warto zajrzeć pod pokrywkę i zobaczyć co kryje sie za tym niepozornym słowem, które łączy ze sobą zasady optymalizacji produkcji i perfekcjonizm Dalekiego Wschodu.
 

Metoda Lean próbuje eliminować podstawowe problemy wytwarzania produktów (niezależnie od typu produktów), które na potrzeby testerów przekładamy na język produkcji oprogramowania:

  • Nadprodukcja - niepotrzebna funkcjonalność,
  • Wysokie stany magazynowe - budowanie oprogramowania, które nie jest nikomu potrzebne,
  • Wady produktów - oprogramowanie dostarczone z defektami,
  • Oczekiwanie - przedłużanie czasu produkcji oprogramowania,
  • Zbędny transport - niedoskonała logistyka,
  • Nadmierny ruch- wykonywanie czynności zbędnych, w tym wykonywanie czynności ręcznych tam, gdzie automat byłby efektywniejszy,
  • Nadmierna obróbka - zbędne ozłacanie oprogramowania.

Lean zakłada pięć zasad "odchudzonego" myślenia. Każda zasada przekłada się na jakość i ma swoje odzwierciedlenie w testowaniu:

  • Wartość powinna być określana z perspektywy końcowego użytkownika - walidujemy wymagania na produkt.
  • Należy określić strumień wartości dla każdej kategorii produktów - osiągnięcie celów musi być opomiarowane osobno dla każdego produktu (definiowanie kryteriów jakości).
  • Kolejne etapy dodawania wartości muszą być połączone, aby osiągnąć płynny przepływ produktu - dodawanie wartości do produktu musi zachodzić w sposób płynny bez wpływu na użytkownika (testowanie w utrzymaniu).
  • Klienci powinni mieć możliwość uzyskania tego, czego oczekują - testowanie akceptacyjne.
  • Zarządzanie musi być ukierunkowane na osiągnięcie perfekcji. Wszystkie działania i użyte środki mają tworzyć wartość - unikanie marnotrawstwa.

Dzięki tej metodzie:

  • Klient otrzymuje wysokiej jakości produkt w odpowiednim terminie - testowanie przed dostawą.
  • Dostawcy otrzymują zrównoważone zamówienie, co gwarantuje terminowość dostaw - budowanie współpracy z zamawiającym oprogramowanie.
  • Stany magazynowe na całej długości strumienia zmniejszają się - ograniczanie kosztów związanych z przestojami czy nieoptymalnym zarządzaniem zasobami.
  • Uwolnione są wszelkie zasoby w postaci ludzi, maszyn i miejsca, które nie wpływają negatywnie na wynik finansowy, aż do momentu ich użycia - realizowanie jedynie zadań koniecznych w danym momencie z planowaniem dostępności zasobów i ludzi.

Metoda, która wdrażana jest po stronie samego wytwarzania oprogramowania to Lean Software Development. Testowanie jest tutaj widoczne w siedmiu podstawowych zasadach:

  • Ogranicz straty w niepotrzebnym kodzie i funkcjonalności, w biurokracji, w niezrozumiałych wymaganiach.
  • Stawiaj na ciągły proces uczenia się.
  • Decyduj tak późno jak to możliwe, bazując na faktach, a nie przypuszczeniach.
  • Dostarczaj tak późno jak to możliwe - szybka dostawa to większa szansa na sukces, a w połączeniu z techniką just-in-time to również szansa na optymalizację czasu dostawy.
  • Zaangażuj właściwych ludzi i pozwól im robić swoją robotę.
  • Wbuduj integralność dla funkcji i cech.
  • Dostrzegaj całość elementów składających się na proces wytworzenia produktu.

 

 

Źródła:
http://www.eviltester.com/index.php/2008/02/20/some-notes-on-software-testing-waste-my-lean-perspective/
http://en.wikipedia.org/wiki/Lean_software_development
http://mfiles.pl/pl/index.php/Lean_production

To powinno Cię zainteresować