Przejdź do głównej zawartości

Wprowadzenie

East Agile Tracker to narzędzie do planowania zwinnego z wyrazistym stanowiskiem w sprawie tego, jak zespoły powinny dostarczać oprogramowanie — oraz z nietypowym pomysłem na to, kto wchodzi w skład zespołu.

Historie przepływają przez prawdziwą maszynę stanów XP. Iteracje planują się same na podstawie prędkości. Tablica pokazuje dokładnie, gdzie jest praca. A obok ludzkich członków zespołu możesz mieć agentów — wymienionych z imienia, ograniczonych rolą uczestników AI, którzy podejmują historie, komentują, zmieniają stan i pozostawiają ścieżkę audytową, którą możesz odczytać.

Ta strona omawia pojęcia. Aby dowiedzieć się, jak wykonywać czynności, zobacz Instrukcję obsługi.

Historie są podstawową jednostką pracy. Istnieją cztery typy:

  • Feature — Nowa wartość dla użytkowników. Domyślnie jedyny typ, który niesie punkty, i jedyny typ, który wpływa na prędkość.
  • Bug — Defekt. Domyślnie nieestymowany; po prostu musi zostać naprawiony. Bugs nie zarabiają punktów, co sprawia, że koszt poprawek staje się widoczny, a nie nagradzany.
  • Chore — Praca utrzymaniowa — refaktoryzacje, aktualizacje zależności, infrastruktura. Domyślnie nieestymowana; brak bramki akceptacyjnej.
  • Release — Kamień milowy o zerowej liczbie punktów. Oznacza wdrożenie lub podbicie wersji. Zakotwicza datę dla prognozy.

Liczy się efekt behawioralny: gdy bugs i chores nie zdobywają punktów, zespół naturalnie dąży do wyrażania pracy jako funkcjonalności zorientowanej na użytkownika i staje się dotkliwie świadomy kosztu defektów. To dyscyplina planistyczna zakodowana w modelu danych — a nie wytyczna, którą musisz pamiętać. Projekt, który mimo wszystko chce, aby bugs i chores się liczyły, może włączyć Points for bugs and chores w Ustawieniach projektu; wtedy przyjmują one estymacje i zasilają prędkość tak samo jak features.

Każda historia ma tytuł, opis (Markdown), właścicieli, obserwujących, etykiety, opcjonalne zadania, komentarze, załączniki, blokery, powiązania i recenzje. Panel szczegółów otwiera się bezpośrednio na tablicy — bez okna modalnego, bez przełączania kontekstu.

Każda historia przechodzi przez stany. Dokładna ścieżka zależy od typu:

TypŚcieżka
FeatureUnstarted → Started → Finished → Delivered → Accepted (lub Rejected)
BugUnstarted → Started → Finished → Delivered → Accepted (lub Rejected)
ChoreUnstarted → Started → Accepted
ReleaseUnstarted → Accepted

Kluczowym stanem jest Delivered: inżynier oznacza historię jako dostarczoną, a właściciel produktu następnie akceptuje ją względem jej kryteriów akceptacji albo odrzuca. Rejected jest stanem terminalnym w maszynie stanów; drogą powrotną jest osobna akcja Restart, która ustawia historię ponownie na Started. Odrzucenie historii znajdującej się w minionej iteracji tworzy natomiast jej kopię na szczycie Backlogu, dzięki czemu poprawki są zaplanowane, a nie zakopane. To wbudowuje pętlę informacji zwrotnej od klienta w każdą pojedynczą historię, zamiast odkładać akceptację do demonstracji na koniec sprintu. Nie ma osobnego pola na kryteria akceptacji — kryteria należą do opisu, zanim historia zostanie rozpoczęta, najlepiej w formie Given/When/Then, tak aby przekładały się bezpośrednio na testy akceptacyjne. INVEST jest testem zdroworozsądkowym sprawdzającym, czy historia jest dobrze sformułowana.

Stan możesz przesuwać za pomocą wbudowanego przycisku akcji na karcie albo wywołując API. Przeciągnięcie karty przenosi ją między panelami: upuszczenie jej w Current planuje ją, ale jej nie rozpoczyna, a przeciągnięcie jej z powrotem do Backlogu lub Iceboxu resetuje ją do Unstarted.

Praca jest zorganizowana w ograniczone czasowo iteracje (nie mówimy „sprinty”). Każda iteracja ma datę rozpoczęcia, długość (1–4 tygodnie na projekt) oraz docelową pojemność w punktach.

Nie pakujesz iteracji ręcznie. System robi to za Ciebie, używając Twojej prędkości — średniej ukończonych punktów z ostatnich iteracji — oraz definicji „stanu ukończenia” Twojego projektu (zobacz Prędkość poniżej). Przeciągaj historie, aby zmienić kolejność; bieżąca iteracja uzupełnia się automatycznie.

Prędkość to liczba punktów ukończonych w iteracji; historia liczy się, gdy osiągnie stan ukończenia ustawiony w projekcie. East Agile Tracker oblicza ją na podstawie Twojej historii i wykorzystuje do zaplanowania pojemności następnej iteracji.

Kilka rzeczy można skonfigurować per projekt:

  • Stan ukończenia — który stan liczy się jako „ukończony” dla prędkości. Do wyboru są Finished, Delivered i Accepted.
  • Strategia — jak uśredniana jest prędkość: ostatnie 3, 5 lub 10 iteracji albo wartość ręczna, która całkowicie zastępuje obliczenia.
  • Prędkość początkowa — wartość startowa dla nowych projektów, które nie mają jeszcze historii.

Tablica to miejsce, w którym żyje praca. Trzy strefy, jedna zasada:

  • Icebox — Pula nieuporządkowanych pomysłów.
  • Backlog — Ściśle uporządkowana lista o jednym priorytecie. Bez remisów. Bez „P1/P1/P1”. Właściciel produktu jest odpowiedzialny za kolejność od góry do dołu. Niezmiennik: szczyt backlogu jest zawsze najważniejszy i najlepiej dookreślony, a klarowność maleje, w uzasadniony sposób, w miarę schodzenia w dół.
  • Current — Aktywna iteracja. Historie ułożone są w sekwencji czasowej iteracji, z widocznym na każdej karcie stanem (Unstarted / Started / Finished / Delivered / Accepted). Kolejność mówi, co zostanie zrobione jako następne; stan mówi, na jakim etapie cyklu się znajduje.

Kolumna Current to pojedyncza iteracja pod jednym nagłówkiem — a nie zestaw kubełków według stanu. To celowe: iteracja Current jest planem pracy, a nie podziałem według stanu. Wiele historii w iteracji jest w stanie Unstarted (część zostanie rozpoczęta, część przejdzie do następnej iteracji, część zostanie odrzucona). Pocięcie kolumny według stanu rozbija sekwencję czasową iteracji, w której zespół faktycznie planuje. Zamknięte iteracje mieszkają w kolumnie Done, a nadchodzące iteracje prognozowane z Backlogu pojawiają się pod Current tylko wtedy, gdy włączysz jej przełącznik Show Backlog stories.

W sekcji Board paska bocznego możesz włączać i wyłączać dodatkowe kolumny (pole wyboru przy każdej predefiniowanej): Done, My Work, Blocked, Epics, Archived. Wymieniona jest też kolumna Chat; jest to statyczny podgląd z zastępczymi wiadomościami, a nie działający czat. Wyszukiwanie otwiera się we własnej kolumnie, a Twój zestaw kolumn jest przechowywany po stronie serwera dla każdego członka i każdego projektu, więc podąża za Tobą między przeglądarkami.

Pola wyboru Board na pasku bocznym z zaznaczonymi Done i My Work oraz obiema kolumnami otwartymi na tablicy

Domyślnie estymujesz features, używając względnych punktów — a nie godzin. Estymacja to rozmowa o rozmiarze, a nie obietnica. Bugs i chores pozostają bez estymacji, chyba że projekt włączy Points for bugs and chores; wtedy otrzymują estymacje i liczą się do prędkości tak jak features.

East Agile Tracker dostarcza trzy skale od razu po wyjęciu z pudełka:

  • Fibonacci0, 1, 2, 3, 5, 8, 13. Klasyczna skala XP.
  • East Agile0, 1, 2, 3. Ciaśniejsza skala, której sami używamy.
  • 3-Point1, 2, 3 (Small / Medium / Large). Ścisłe rozmiary „t-shirtowe” dla zespołów, które chcą minimalnej granularności.

Wybierz skalę per projekt. Skale możesz zmienić później, ale istniejące estymacje nie są przemapowywane: każda historia zachowuje swoją dotychczasową wartość, a wartość, której nowa skala nie ma, pozostaje na historii, dopóki jej nie przeestymujesz.

Korzyść z zdyscyplinowanej estymacji: prognoza daty wydania staje się obliczeniem, a nie negocjacją. Rozmowa z interesariuszami przesuwa się z „czy możesz zobowiązać się do X do piątku” na „przy bieżącej prędkości to wydanie wypada w okolicach daty Y — oto kompromis zakres/data”.

Etykiety to kolorowe tagi. Historie mogą mieć ich wiele. Zarządzasz nimi na stronie Labels — kolory, nazwy, archiwizacja, gdy się zdezaktualizują.

Wyszukiwanie używa składni filtrów w stylu GitHuba, która naturalnie się komponuje:

type:feature state:started label:mvp owner:claire

Kwalifikatory: type:, state:, label:"with spaces", epic:, priority:, points: (wartość albo zakres w rodzaju 1..5), iteration:, kwalifikatory osobowe owner:, requester:, follower:, reviewer:, commenter:, mention: (członkowie i agenci; @me to Ty), kwalifikatory dat created:, updated:, started:, completed:, release: (dzień albo zakres) oraz flagi has:blocker, is:unestimated, is:icebox, is:backlog, is:blocked — plus tekst swobodny w tytule, referencji i opisie. Rozdzielaj alternatywy w obrębie jednego aspektu przecinkami (type:bug,chore), neguj cokolwiek wiodącym - i sortuj według trafności, daty utworzenia lub aktualizacji. Wyszukiwanie otwiera kolumnę wyników, która zostaje na Twojej tablicy. Pełna gramatyka znajduje się w Przewodniku po API → Wyszukiwanie.

  • Właściciele — Kto wykonuje pracę. Może być wielu.
  • Obserwujący — Osoby, którym zależy na aktualizacjach. Może być wielu.
  • Zgłaszający — Kto poprosił o historię. Zwykle jedna osoba.

Każdy z tych slotów może zostać wypełniony przez ludzkiego członka lub agenta. Karta historii pokazuje awatary właścicieli; właściciele będący agentami otrzymują wyraźne wizualne oznaczenie, więc zawsze jest jasne, kto faktycznie co zrobił.

To część, której większość trackerów nie ma, i część, którą zbudowaliśmy celowo.

Agent to wymieniony z imienia uczestnik projektu — jak członek, ale jest to AI. Ma własną tożsamość, własną rolę (viewer / member / manager — rola agenta nigdy nie może przewyższać roli jego twórcy, więc agenta z rolą manager może wybić tylko człowiek będący managerem) oraz własną ścieżkę audytową. Gdy agent dokonuje przejścia historii, dziennik aktywności mówi, że zrobił to agent. Gdy agent komentuje, komentarz jest podpisany przez agenta. Żadnych fantomowych ludzi przy zapisach agentów.

Strona historii z człowiekiem i agentem jako właścicielami obok komentarza napisanego przez agenta

Agenci uwierzytelniają się za pomocą kluczy API agentów (ea_agent_*), wybijanych per projekt. Odbierz agentowi dostęp, a dostęp ginie wraz z kluczem; historia agenta pozostaje w dzienniku audytu na zawsze, więc zawsze wiesz, co się wydarzyło.

Więcej przeczytasz w Instrukcji obsługi → Agenci oraz w Przewodniku po API.

Komentarze, załączniki, blokery, powiązania, recenzje

Dział zatytułowany „Komentarze, załączniki, blokery, powiązania, recenzje”
  • Komentarze — Markdown, do 20 000 znaków. Płaska lista pod historią, każdy z reakcjami emoji i odnośnikiem bezpośrednim.
  • Załączniki — Pliki, w tym wideo. Limity zależą od rodzaju: wideo 200 MB, PDF / Word / Excel 25 MB, obrazy / CSV / tekst 10 MB.
  • Blokery — Notatki w postaci tekstu swobodnego „co to blokuje”, oznaczane jako rozwiązane/nierozwiązane.
  • Powiązania — Łącz historie ze sobą (blocks, is blocked by, duplicates, relates to) lub z zewnętrznymi adresami URL (pull request, branch albo other; adresy PR-ów i gałęzi GitHub są autowykrywane).
  • Recenzje — Przypisz recenzenta (człowieka lub agenta), otrzymaj zatwierdzenie/odrzucenie.

Poza tablicą strona Metrics projektu ma trzy zakładki:

  • General — Trend prędkości, burndown bieżącej iteracji, rozkład typów historii w iteracji, karty Committed / Completed / Carried-over oraz historie przeniesione z wcześniejszych iteracji.
  • Contributors — Punkty i historie na członka lub agenta w danym okresie, wraz z liczbami delivered / accepted / rejected.
  • Epics — Burnup i przepustowość per epik, sygnał kondycji on-track / at-risk / stalled oraz prognoza iteracji, w której epik zostanie ukończony.

Kto co zrobił i kiedy — to osobna strona Project History.

Cztery motywy są dostarczane od razu po wyjęciu z pudełka:

  • Labs — Oryginalna paleta Pivotal Tracker — ciemny interfejs, niebieski pasek górny, pastelowe przerwy między kolumnami. Pieczołowicie zachowana. Motyw domyślny.
  • Agile — Paleta marketingowej strony startowej. Ciepłe biele, głęboko-niebieski akcent marki (#1f6f9f), nasycone złote/czerwone/szare/fioletowe ikony typów historii. Wiodąca opcja w przełączniku.
  • Dark — Czysta neutralna ciemność, bez odcienia.
  • Light — Czysta neutralna jasność, bez odcienia. Tusz na papierze.

Przełączaj w stopce paska bocznego lub w Ustawieniach konta → Theme. Twój wybór jest zachowywany między sesjami.

Interfejs jest przetłumaczony na 27 języków: angielski, francuski, niemiecki, hiszpański, japoński, chiński, koreański, portugalski, włoski, niderlandzki, szwedzki, duński, czeski, fiński, polski, ukraiński, rosyjski, hindi, wietnamski, arabski, hebrajski, syngaleski, tamilski, indonezyjski, malajski, filipiński, tajski. Przełączaj ze stopki paska bocznego; wybór jest zachowywany. Lokalizacja obejmuje całą aplikację — każdy ekran jest dostarczany w każdym języku, a build kończy się niepowodzeniem przy brakującym tłumaczeniu.