Narzędzia w Agile w praktyce

Narzędzia w Agile były tematem #107 spotkania Agile Warsaw. Pierwszy punkt Agile Manifesto stawia ludzi i współpracę między nimi ponad narzędziami i procesami (Individuals and interactions over processes and tools) i dlatego dobór narzędzi jest ważny. Złe narzędzia zamiast pomagać będą szkodzić niepotrzebnie kierując uwagę zespołu na utrzymanie narzędzi.

Narzędzi do wspierania pracy zespołu jest wiele i żadne z nich nie jest idealne. Narzędzia dobieramy do potrzeb i preferencji, zasada trywialna ale najłatwiej zapomnieć o rzeczach prostych i oczywistych. Jeżeli narzędzia ma używać zespół konieczna jest początkowa unifikacja, bo ułatwia ruchy ludzi wewnątrz zespołu projektowego. Jest to szczególnie ważne przy dużych przedsięwzięciach. Jeżeli w 100 osobowej organizacji podzielonej na 10 zespołów Scrum, każdy zespół będzie używał innych narzędzi, to przejście pomiędzy zespołami będzie trudne ze względu na barierę komunikacji tworzoną przez nowe dla przechodzącego narzędzia. Dodatkowo każde narzędzie ma własny sposób agregacji i prezentacji danych co prowadzi do trudności w ich interpretacji.

Unifikacja narzędzi wspiera zasadę ludzie i współpraca przed narzędziami. Do narzędzia można się przyzwyczaić co wymaga inwestycji czasu w zrozumienie i dlatego nie należy mnożyć narzędzi ponad konieczność. Wprowadzając narzędzia trzeba mieć na uwadze:

  1. Potrzeby i możliwości. Narzędzie stosujemy żeby pomóc sobie w osiągnięciu celu. Wprowadzenie narzędzia kosztuje i korzyści z jego stosowania muszą ten koszt rekompensować.
  2. Standard. Narzędzia trzeba wybrać i przygotować przed rozpoczęciem pracy. Skoro narzędzia nie są istotą Agile to nie warto tracić czasu zespołu na spontaniczne wyłonienie standardu.
  3. Komunikacja. Zespół musi znać zasady, inaczej będzie tworzył własne. Komunikując zasady tworzenia kodu na początku pracy unikniemy frustracji związanej z dostosowaniem pracy do standardu: Przecież można było od początku tak zrobić gdybym wiedział, że tak trzeba.
  4. Użyteczność na zespołu w praktyce. Zespół bez narzędzi też będzie pracował ale z dobrymi narzędziami będzie pracował lepiej. Zanim zdobędziemy własne doświadczenia użyteczność można ocenić korzystając z doświadczeń i rekomendacji innych.
  5. Prostota użytkowania. Tablica z przyklejanymi karteczkami jest popularna bo łatwo jej użyć o łatwo zobaczyć stan prac. Czas poświęcony na obsługę skomplikowanego narzędzia to czas stracony dla rozwoju produktu.
  6. Zaufanie. Do narzędzi trafiają liczby a liczby bywają źródłem samego zła w organizacjach. Zaufanie polega na rzetelnym wprowadzaniu danych i rozumnej ich interpretacji.

Wspominano cały szereg narzędzi wspierających pracę zespołu od całkiem prostych takich jak tablica podzielona na 3 części (backlog, in progress, done), do których przyklejane są karteczki z zadaniami. Intuicyjna obsług i duża wartość informacyjna jeżeli zespół pracuje w jednym miejscu. Wymieniano też narzędzia bardziej zaawansowane:

Rally zostało ostatnio przejęte przez CA Technologies co pokazuje, że Agile zadomowiło się w świecie korporacyjnym. PZU zdecydowało się na zastosowanie Rally w zespole wdrażającym duży system informatyczny bo tak doradził jego producent – Guidewire . Argumentacja była prosta: Rozwiązanie sprawdza się w dużych zespołach używających zwinnych metody zarządzania projektami. PZU zbudowało duży zespół wdrożeniowy, zaczynali od 50 aby dojść do 300 osób. To zbliżyło firmę do granicy problemów ze skalowalnością SCRUM, które pojawiają się przy zespołach liczących kilkaset osób.

Narzędzie stosujemy żeby pomóc sobie w osiągnięciu celu. Nie ma sensu stosowanie narzędzia rozwiązującego problemy, których nie mamy. Nie ma sensu stosowanie narzędzia skomplikowanego jeżeli proste nam wystarcza.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.