Coroid har fyra arbetsenheter. De byggs in i varandra, och valet av rätt enhet handlar främst om hur omfattande arbetet är och hur mycket av det som ska köras samtidigt.
| Enhet | Omfattning | Resulterar i |
|---|---|---|
| Uppgift | En ändring | En pull request |
| Plan | En funktion, i faser | En pull request för hela planen |
| Sprint | Ett tidsbegränsat arbetsblock | Det som uppgifterna resulterar i |
| Lane | En ström av parallellt arbete | Den branch som en plans arbete integreras i |
Sprint · två veckor
Fas 1
UppgiftBetalningsformulärUppgiftKortvalideringFas 2
UppgiftOrdersammanfattningEn fristående uppgift
UppgiftÅtgärda datumtolkningenUppgift
Atomen. En uppgift är en arbetsenhet som resulterar i en pull request, och det är uppgiften som faktiskt körs – planer, sprintar och lanes är alla sätt att organisera uppgifter.
Om du kan beskriva resultatet i ett stycke och en granskare kan läsa resultatet i ett svep är det en uppgift.
Plan
När arbetet kräver flera ändringar i en viss ordning blir det en plan: en ordnad uppsättning uppgifter grupperade i faser, som du godkänner innan någon kod skrivs.
Använd en plan när:
- senare steg är beroende av tidigare steg
- du vill se hela tillvägagångssättet innan du förbinder dig till något av det
- arbetet gäller en funktion snarare än en ändring
Att godkänna planen är den billigaste tidpunkten att ingripa i systemet. Om du avvisar ett tillvägagångssätt här kostar det en minut; om du avvisar det efter att tre uppgifter har körts kostar det tre körningar.
Så når en plan ditt repository
Uppgifterna i en plan öppnar inte varsin pull request. De arbetar i egna brancher och mergas in i en gemensam lane-branch, och den branchen lyfts fram som en pull request mot din base branch.
Lane-branch
Här integreras arbetet i planen
En enda pull request
Den färdiga funktionen, granskad en gång
main
Din base branch
En uppgift i ett annat projekt än lane-projektet förs vidare separat. Därför öppnar en plan som omfattar flera projekt en pull request per repo.
Du granskar alltså den sammansatta funktionen en gång, med hela ändringen framför dig, i stället för att godkänna ofärdiga faser var för sig.
Undantaget är arbete som omfattar flera projekt: en uppgift som tillhör ett annat projekt än det som lanen gäller lyfts fram separat, så planer över flera projekt resulterar i en pull request per repository. Det går inte att undvika – en pull request kan inte omfatta två repositoryn.
Sprint
En tidsbegränsad behållare för arbete, med egna mätvärden och en egen tidslinje. Sprintar besvarar frågan ”vad gör vi under den här perioden och hur gick det?” snarare än ”hur byggs den här funktionen?”.
Använd en sprint när du samordnar ett teams arbete under en period. Använd en plan när du bryter ned en funktion. De är inte alternativ till varandra – en sprint kan innehålla uppgifter som hör till flera planer.
Lane
En lane är platsen där en plans parallella arbete integreras. Uppgifterna riktas mot lanens branch i stället för din base branch, så att flera agenter kan arbeta samtidigt utan att krocka, och det sammansatta resultatet lyfts fram som en enda pull request när det uppfyller kraven.
Där en plan handlar om ordning, handlar en lane om samtidighet och integrering. Om du har kapacitet för flera agenter och arbete som inte måste köras strikt sekventiellt, är det lanen som låter dem arbeta tillsammans och ändå leverera en enda ändring som går att granska.
Välja
Frågan är inte hur många pull requests du vill ha — både en uppgift och en plan kommer in som en. Det handlar om hur mycket arbete som måste göras innan resultatet är värt att granska.
- Är det här en ändring som en granskare kan läsa igenom i ett svep? Ja → uppgift.
- Behöver den flera ändringar i en viss ordning innan den fungerar som helhet? Ja → plan. Dess spår hanterar att köra delarna parallellt när det är möjligt.
Sprintar ligger vid sidan av allt detta som ett lager för planering och rapportering.
Var release passar in
En release är leveransposten efter integrering, inte en annan uppgift, plan, sprint eller lane. Den låser en commit i ett repository, kontrollerar att den planerade arbetsinsatsen finns i den committen och följer utrullningsförsök genom varje miljö. En release kan innehålla arbete från flera sprintar, och en sprint kan resultera i flera releaser. En uppflyttning av en lane öppnar en pull request, men skapar inte själv en verifierad leverans.
Vad som begränsar hur mycket som körs samtidigt
Inte strukturen – kapaciteten. En plan med tio uppgifter som kan köras parallellt och en agentplats kör dem en i taget. Se Kapacitet och agentplatser.