Ga naar inhoud

Introductie

East Agile Tracker is een agile-planningstool met uitgesproken opvattingen over hoe teams software opleveren — en een ongebruikelijk idee over wie er in het team zit.

Stories stromen door een echte XP-toestandsmachine. Iteraties plannen zichzelf op basis van velocity. Een bord toont je precies waar het werk zich bevindt. En naast je menselijke teamgenoten kun je agents hebben — benoemde, rolgebonden AI-deelnemers die stories oppakken, reageren, toestanden laten overgaan en een auditspoor achterlaten dat je kunt lezen.

Deze pagina behandelt de concepten. Om dingen te doen, zie Gebruiksinstructies.

Stories zijn de fundamentele werkeenheid. Er zijn vier types:

  • Feature — Nieuwe waarde voor gebruikers. Standaard het enige type dat punten draagt en het enige type dat bijdraagt aan velocity.
  • Bug — Een defect. Standaard niet geschat; het moet gewoon worden opgelost. Bugs verdienen geen krediet, wat de kosten van herwerk zichtbaar maakt in plaats van belonen.
  • Chore — Onderhoudswerk — refactors, dependency-bumps, infrastructuur. Standaard niet geschat; geen acceptatiepoort.
  • Release — Een nulpunts-mijlpaal. Markeer een deployment of een versiebump. Verankert een datum voor de projectie.

Het gedragseffect is wat ertoe doet: wanneer bugs en chores niet scoren, gaat een team van nature druk uitoefenen om werk uit te drukken als gebruikersgerichte functionaliteit, en het wordt zich scherp bewust van de kosten van defecten. Dat is een planningsdiscipline die in het datamodel is verankerd — geen richtlijn die je moet onthouden. Een project dat wil dat bugs en chores tóch meetellen, kan Points for bugs and chores aanzetten in Project Settings; ze nemen dan schattingen aan en voeden de velocity net als features.

Elke story heeft een titel, een beschrijving (Markdown), owners, volgers, labels, optionele taken, reacties, bijlagen, blockers, links en reviews. Het detailpaneel opent inline op het bord — geen modal, geen contextwissel.

Elke story doorloopt toestanden. Het exacte pad hangt af van het type:

TypePad
FeatureUnstarted → Started → Finished → Delivered → Accepted (of Rejected)
BugUnstarted → Started → Finished → Delivered → Accepted (of Rejected)
ChoreUnstarted → Started → Accepted
ReleaseUnstarted → Accepted

De cruciale toestand is Delivered: een engineer markeert een story als delivered, waarna de product owner hem accepteert ten opzichte van de acceptatiecriteria of afwijst. Rejected is eindstation in de toestandsmachine; de weg terug is een aparte Restart-actie, die de story weer op Started zet. Een story afwijzen die in een voorbije iteratie zit, maakt in plaats daarvan een kopie bovenaan de Backlog, zodat het herwerk gepland wordt in plaats van te verdwijnen. Dit bakt een klant-feedbacklus in elke afzonderlijke story in plaats van acceptatie uit te stellen tot een demo aan het einde van de sprint. Er is geen apart veld voor acceptatiecriteria — de criteria horen in de beschrijving te staan voordat de story wordt gestart, bij voorkeur in Given/When/Then-vorm zodat ze direct toewijsbaar zijn op acceptatietests. INVEST is de toets of een story goed gevormd is.

Je kunt de toestand vooruitbewegen vanaf de inline-actieknop op de kaart of de API aanroepen. Een kaart slepen verplaatst hem tussen panelen — Icebox naar Backlog, Backlog naar Current. Loslaten in Current laat zijn toestand ongemoeid; loslaten in de Backlog of de Icebox zet hem terug op Unstarted.

Werk wordt georganiseerd in tijdgebonden iteraties (we zeggen geen “sprints”). Elke iteratie heeft een startdatum, een lengte (1–4 weken per project) en een doelcapaciteit in punten.

Je vult iteraties niet handmatig. Het systeem doet het voor je, met behulp van je velocity — het gemiddelde van de afgeronde punten van recente iteraties — en de “done state”-definitie van je project (zie Velocity, hieronder). Sleep stories om te herordenen; de huidige iteratie vult zichzelf automatisch opnieuw.

Velocity is het aantal punten dat per iteratie wordt voltooid; een story telt mee zodra hij de voltooiingsstatus van het project bereikt. East Agile Tracker berekent het op basis van je historie en gebruikt het om de capaciteit van de volgende iteratie te plannen.

Een paar dingen zijn per project configureerbaar:

  • Done state — welke toestand telt als “done” voor velocity. De opties zijn Finished, Delivered en Accepted.
  • Strategie — hoe velocity wordt gemiddeld: de laatste 3, 5 of 10 iteraties, of een handmatige waarde die de berekening volledig overschrijft.
  • Initiële velocity — een startwaarde voor nieuwe projecten die nog geen historie hebben.

Het bord is waar het werk leeft. Drie zones, één regel:

  • Icebox — De ongeprioriteerde ideeënpool.
  • Backlog — Een strikt geordende lijst met één prioriteit. Geen gelijkspel. Geen “P1/P1/P1.” De product owner bezit de volgorde van boven naar beneden. De invariant: de bovenkant van de backlog is altijd het belangrijkst en best gespecificeerd, waarbij de helderheid legitiem afneemt naarmate je naar beneden gaat.
  • Current — De actieve iteratie. Stories staan in iteratie-tijdsvolgorde met hun toestand (Unstarted / Started / Finished / Delivered / Accepted) zichtbaar op elke kaart. De volgorde vertelt je wat er als volgende wordt opgepakt; de toestand vertelt je waar het zich in de cyclus bevindt.

De Current-kolom is één enkele iteratie onder één enkele kop — geen verzameling toestandsbakjes. Dat is bewust: een Current-iteratie is een plan van werk, geen partitie op toestand. Veel stories in de iteratie zijn Unstarted (sommige zullen starten, sommige rollen door naar de volgende iteratie, sommige worden weggegooid). De kolom op toestand verdelen breekt de iteratie-tijdsvolgorde waarin het team daadwerkelijk plant. Gesloten iteraties leven in de kolom Done, en de komende iteraties die vanuit de Backlog worden geprojecteerd verschijnen alleen onder Current wanneer je de schakelaar Show Backlog stories aanzet.

Vanuit de sectie Board in de zijbalk kun je extra kolommen aan- of uitzetten (een checkbox per preset): Done, My Work, Blocked, Epics, Archived. Er staat ook een kolom Chat in de lijst; dat is een statische voorvertoning met voorbeeldberichten, geen werkende chat. Een zoekopdracht opent als een eigen kolom, en je set kolommen wordt serverzijdig per member per project bewaard, dus hij reist met je mee tussen browsers.

De Board-selectievakjes in de zijbalk met Done en My Work aangevinkt, beide kolommen open op het bord

Standaard schat je features, met relatieve punten — geen uren. Schatten is een formaatgesprek, geen belofte. Bugs en chores blijven ongeschat, tenzij het project Points for bugs and chores aanzet; dan krijgen ze schattingen en tellen ze mee voor velocity, net als features.

East Agile Tracker levert standaard drie schalen:

  • Fibonacci0, 1, 2, 3, 5, 8, 13. De klassieke XP-schaal.
  • East Agile0, 1, 2, 3. Een strakkere schaal die we zelf gebruiken.
  • 3-Point1, 2, 3 (Small / Medium / Large). Strikte t-shirtmaten voor teams die minimale granulariteit willen.

Kies de schaal per project. Je kunt later van schaal wisselen, maar bestaande schattingen worden niet omgezet: elke story houdt zijn oude waarde, en een waarde die de nieuwe schaal niet kent blijft op de story staan tot je hem opnieuw schat.

De opbrengst van gedisciplineerd schatten: de projectie van de releasedatum wordt een berekening, geen onderhandeling. Het gesprek met belanghebbenden verschuift van “kun je je committeren aan X vóór vrijdag” naar “bij de huidige velocity landt deze release rond datum Y — hier is de scope/datum-afweging.”

Labels zijn gekleurde tags. Stories kunnen er meerdere hebben. Je beheert ze op de pagina Labels — kleuren, namen, archiveren wanneer ze verouderd zijn.

Zoeken gebruikt een filtersyntaxis in GitHub-stijl die op natuurlijke wijze samenstelt:

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

Kwalificatoren: type:, state:, label:"with spaces", epic:, priority:, points: (een waarde of een bereik zoals 1..5), iteration:, de personen-kwalificatoren owner:, requester:, follower:, reviewer:, commenter:, mention: (members en agents; @me ben jij), de datum-kwalificatoren created:, updated:, started:, completed:, release: (een dag of een bereik), en de vlaggen has:blocker, is:unestimated, is:icebox, is:backlog, is:blocked — plus vrije tekst op titel, referentie en beschrijving. Scheid alternatieven binnen een facet met komma’s (type:bug,chore), ontken wat dan ook met een voorafgaand -, en sorteer op relevantie, created of updated. Een zoekopdracht opent een resultatenkolom die op je bord blijft staan. De volledige grammatica staat in de API-gids → Zoeken.

  • Owners — Wie het werk doet. Kunnen er meerdere zijn.
  • Volgers — Mensen die geïnteresseerd zijn in updates. Kunnen er meerdere zijn.
  • Aanvrager — Wie om de story heeft gevraagd. Meestal één.

Elk van deze plekken kan worden ingevuld door een menselijke member of een agent. De story-kaart toont owner-avatars; agent-owners krijgen een aparte visuele behandeling zodat altijd duidelijk is wie wat werkelijk heeft gedaan.

Dit is het deel dat de meeste trackers niet hebben, en het deel dat we bewust hebben gebouwd.

Een agent is een benoemde deelnemer in een project — net als een member, maar het is een AI. Het heeft een eigen identiteit, een eigen rol (viewer / member / manager — de rol van een agent kan die van zijn maker nooit overstijgen, dus alleen een menselijke manager kan een agent met de rol manager aanmaken) en een eigen auditspoor. Wanneer een agent een story laat overgaan, zegt het activiteitenlog dat de agent het heeft gedaan. Wanneer een agent reageert, is de reactie ondertekend door de agent. Geen fantoommensen bij agent-writes.

Een storypagina met een mens en een agent als owners, naast een reactie die de agent schreef

Agents authenticeren met agent-API-sleutels (ea_agent_*), per project aangemaakt. Trek een agent in en de toegang sterft met de sleutel; de historie van de agent blijft voor altijd in het auditlog, zodat je altijd weet wat er gebeurd is.

Lees meer in Gebruiksinstructies → Agents en de API-gids.

Section titled “Reacties, bijlagen, blockers, links, reviews”
  • Reacties — Markdown, tot 20.000 tekens. Een platte lijst onder de story, elk met emoji-reacties en een permalink.
  • Bijlagen — Bestanden inclusief video. De limieten hangen af van de soort: video 200 MB, PDF / Word / Excel 25 MB, afbeeldingen / CSV / tekst 10 MB.
  • Blockers — Vrije-tekstnotities “wat blokkeert dit”, gemarkeerd als opgelost/onopgelost.
  • Links — Verbind stories met elkaar (blocks, is blocked by, duplicates, relates to) of met externe URL’s (pull request, branch of other; URL’s van GitHub-PR’s en -branches worden automatisch gedetecteerd).
  • Reviews — Wijs een reviewer toe (mens of agent), word approved/rejected.

Naast het bord heeft de Metrics-pagina van het project drie tabbladen:

  • General — De velocity-trend, de burndown van de huidige iteratie, de verdeling van storytypes per iteratie, de kaarten Committed / Completed / Carried-over, en de stories die vanuit eerdere iteraties zijn doorgerold.
  • Contributors — Punten en stories per member of agent over een periode, met tellingen voor delivered / accepted / rejected.
  • Epics — Burnup en doorvoer per epic, een gezondheidssignaal on-track / at-risk / stalled, en een voorspelling van de iteratie waarin de epic klaar is.

Wie wat wanneer deed, staat op de aparte pagina Project History.

Vier thema’s worden meegeleverd:

  • Labs — Het oorspronkelijke Pivotal Tracker-palet — donkere chrome, PT-blauwe topbar, pastelkleurige kolomtussenruimtes. Liefdevol bewaard. De standaard.
  • Agile — Het palet van de marketinglandingspagina. Warme wittinten, diepblauw merkaccent (#1f6f9f), verzadigde goud/rood/leigrijs/paars story-type-iconen. De leidende optie in de wisselaar.
  • Dark — Puur neutraal donker, geen tint.
  • Light — Puur neutraal licht, geen tint. Inkt op papier.

Wissel in de voettekst van de zijbalk of in Account Settings → Theme. Je keuze blijft behouden tussen sessies.

De UI is vertaald in 27 talen: Engels, Frans, Duits, Spaans, Japans, Chinees, Koreaans, Portugees, Italiaans, Nederlands, Zweeds, Deens, Tsjechisch, Fins, Pools, Oekraïens, Russisch, Hindi, Vietnamees, Arabisch, Hebreeuws, Singalees, Tamil, Indonesisch, Maleis, Filipijns, Thais. Wissel vanuit de voettekst van de zijbalk; de keuze blijft behouden. De lokalisatie geldt voor de hele app — elk scherm wordt in elke taal geleverd, en de build faalt op een ontbrekende vertaling.