W poprzednim artykule z tej serii „Manifest Agile – czyli co się pod tym kryje (część III)” starałem się wyjaśnić znaczenie mojej odmiennej wersji tłumaczenia kładąc duży nacisk na indywidualności i interakcje występujące pomiędzy nimi. Tym razem przedstawię moją interpretację drugiego postulatu.

Działające oprogramowanie ponad kompletną dokumentację
W języku angielskim słowo working jako przymiotnik ma następującą definicje: functioning or able to function, used as the basis for work or argument and likely to be developed or improved later, sufficient to work with at a basic level.
W tłuczeniach na język polski używa się słów: działający, sprawny, czynny, aktywny, funkcjonujący. I chociaż definicje tych słów są zbliżone, to jednak żadne z nich nie wyczerpuje tego co podaje angielska definicja. Prawdopodobnie dlatego wiele polskich opracowań i zagranicznych przedstawia działające oprogramowanie jako: zakodowany i skompilowany kod, który przeszedł wszystkie możliwe testy (modułowe, integracyjne, systemowe, akceptacyjne, itd..). Powołując się jednak na angielską definicję, uważam że takie podejście jest daleko przesadzone. Działające lub zdolne do działania, używane jako podstawa do pracy lub dyskusji, mogące być rozwijane później, wystarczające na pracę na podstawowym poziomie (takie moje wolne tłumaczenie :) ), to trochę odmienna definicja. Na pewno istotne jest, aby oprogramowanie się uruchomiło, żeby funkcjonalności, które są już dostępne (na początkowych etapach to mogą być tylko ekrany z przyciskami), działały sprawnie. To, czy oprogramowanie jest working, ocenia klient, który to akceptuje wyniki pracy zespołu wytwórczego. Zazwyczaj dzieje się to podczas cyklicznych spotkań podsumowujących (w metodzie SCRUM będzie to Sprint Review) na bazie jego odczuć, oczekiwań i tego co zostało mu zaprezentowane. Czytaj dalej →