Zwinnie przechodzimy do kolejnego tematu. Trzeba przyznać, że na klientów-ignorantów w branży informatycznej nie można sobie pozwolić i wystrzegać się tego, jak ognia. Podejście mówiące „ja płacę i oczekuję wyników za 6 miesięcy, w międzyczasie wyjeżdżam na 3 miesięczny urlop i generalnie będę niedostępny” jest skrajne. Zgadzam się, ale to na nim bardzo dobrze widać, czy i komu bardziej zależy na realizacji (jeśli w ogóle komuś zależy). Aby zadanie się powiodło klient musi poświęcić nie tylko pieniądze, ale i czas – swój, bądź osoby upoważnionej i przede wszystkim decyzyjnej.
Jeśli już jesteśmy pewni poważnego podejścia ze strony klienta, to teraz kolej by dowieść naszej powagi, powagi programistów, powagi całego zespołu realizującego zlecenie. Pierwsza zasada zwinności mówi: „Miarą sukcesu jest satysfakcja klienta osiągana przez okresowe dostarczanie działąjącego i wartościowego oprogramowania.” Okres dostosowujemy oczywiście do wielkości projektów. Będzie on się wahać między 7. dniami, a 14. dniami. Może się zdarzyć, że okres ten nie wystarczy do zrealizowania nawet jednego z wielu zadań w projekcie, dlatego należy odpowiednio rozplanować zadania, dzielić problemy na mniejsze. Należy tak estymować czas, by na dzień pokazywania postępów mieć działające, przetestowane oprogramowanie. Oczywiście możesz nie zdążyć. Możesz czegoś nie zrobić, ale odpowiednio planując zadania w skrajnym przypadku jedno (niezależne) powinno zostać przeniesione (zwinnie) na kolejny okres. Nadmienię jeszcze tutaj parę słów o owym „przetestowanym oprogramowaniu”.
Istnieje wiele szkół nt. testowania oprogramowania. Każda ma argumenty świadczące na swoją korzyść. Jedno podejście jest bardziej czasochłonne od drugiego, ale jedno mają wspólne. „Przetestowane oprogramowanie” nie może oznaczać „oprogramowania, które u mnie działa”. Klient, by czuł zadowolenie musi widzieć niezawodną aplikację. To także wpływa na świadomego swojej pracy programistę. Gdy wie, że przekazał do oceny, coś czego nie jest pewien, może mieć nieprzespane noce do czasu zopiniowania postępu przez klienta. Gdy będzie mieć pecha to następne nieprzespane noce, by poprawić błędy – błędy które przecież świadomie popełnił.
Ale czy tutaj jest miejsce na szczęście i pech? Przecież wszystko jest binarne, zatem nie ma możliwości, a jednak wielu to praktykuje, wielu ryzykuje. Takie osoby nie są zwinne. Utrudniają sobie pracę.
„Skupiaj się na najważniejszym”. To sobie sam powtarzam w duszy, gdy spędzam dłuższą chwilę na problemie, którego nie moge rozwiązać. Ale co jest najważniejsze? Na pewno cel, ale jaki? Nie ten pośredni, ten ostateczny, czyli funkcjonalność – działające oprogramowanie. Trzeba czas poświęcić na dokumentację, trzeba czas poświecić na plany, w końcu trzeba czas poświęcić na wykonanie zadania, ale z głową. Jeśli masz problem – zapytaj zespołu! Jesteś indywidualistą? Nie lubisz prosić o pomoc? Zmień nastawienie – pamiętaj o celu. Zwinny zespół na pewno Ci pomoże. Razem znajdziecie rozwiązanie. Uwierz, że dużo szybciej aniżeli miałbyś sam się z nim zmierzyć.
Planując, określaj priorytet. Weź pod uwagę, że projekt ewoluuje. Potrzeby, a zarazem priorytety się zmieniają. Podejmuj zadania zgodnie z priorytetami. To priorytety określają po pierwsze to, co chce zobaczyć klient, a po drugie zależności w projekcie. Jednak tutaj nie ma sztywnej reguły. Czujesz, że na najważniejsze zadanie poświęcisz dużo więcej czasu niż oszacowany czas zadania – zapytaj kolegów z zespołu, w końcu dążymy do celu.
Już widzisz o co w tym wszystkim chodzi? Działając tak, jak opisałem wyżej stajesz się dla klienta pewną inwestycją, a to są korzyści dla obu stron.