# Running a cycle with agents

> Plan a cycle around what you can review, start its tickets in one go, keep up with what needs you each day, and close it with unfinished work carried over.

This guide walks a team through one cycle of work with agents, from planning it to closing it. By the end you'll
know how much to put in a cycle, how to start its tickets, what to do each day while they run, and what happens to
the work that isn't finished.

A **cycle** is a time-boxed stretch of work, like a sprint. With agents doing the building, a cycle works a little
differently: building is rarely what holds a ticket up. Your team's attention is, because every plan needs agreeing,
every question needs answering and every pull request needs a review. So you plan a cycle around what your team can
review, not around what it could build.

## Set the cadence once

Cycles are switched on per project, in **Settings › This project › Cycles**. Turn on **Use cycles** and set the
**Cadence**: the **Duration** (one to eight weeks), the day each cycle **Starts on**, an optional **Cooldown between
cycles**, and how many **Upcoming cycles kept ahead**. By Dawn schedules the cycles from then on, so there's nothing to
create by hand. A change to the cadence applies to upcoming cycles, never the one that's running. [Cycles](https://docs.bydawn.com/cycles/#turn-on-cycles)
lists every setting, including the automations.

The billing team from [Intro to By Dawn](https://docs.bydawn.com/learn/intro-to-saw/) runs two-week cycles starting on Monday, with no cooldown.

If your team estimates, choose a **Scale** in **Settings › This project › Estimates**, such as Fibonacci or
T-shirt sizes. Each ticket then has an **Estimate**, and the planner measures the cycle in points rather than tickets.
See [Estimates](https://docs.bydawn.com/estimates/).

## Plan the cycle

On Friday, Maya opens **Cycles & Releases** in the sidebar (`⌘5`) and chooses **Plan next cycle**.
The planner shows the **Backlog** on one side and the cycle on the other. She filters the backlog by epic, picks
tickets, and chooses **Add to Cycle 14**, or drags them across.

The **Capacity** bar above the cycle compares what she's planned with the team's velocity over its last completed
cycles, and says **Over capacity** or **Within capacity**. In a project's first cycle there's no velocity yet, so the
bar fills in once a cycle has completed. [Plan a cycle](https://docs.bydawn.com/cycles/#plan-a-cycle) covers the planner in full.

Velocity tells you what the team got through, which includes the reviewing. A few things are worth weighing on top
of it:

- **Count the reviews, not the builds.** An agent can build ten tickets in a day. Plan only as many as your team
  can read plans for and review in a day.
- **Leave room for what comes back.** Some tickets come back from review with a note, and each one costs another
  review.
- **Put the blocking work first.** A ticket that blocks three others is worth more early in the cycle than late.
- **Prefer finished epics to started ones.** Taking the whole of the team invoices epic from [Planning a feature as
  an epic](https://docs.bydawn.com/learn/planning-an-epic/) beats a third of three epics.

A ticket can also join a cycle from anywhere: its **Add to cycle** picker (`⌘⇧C`), or **Move to
cycle** with several tickets selected on the board.

## Start the work

On Monday the cycle starts on its own. Maya has three ways to start its tickets:

- **One at a time**, [from each ticket](https://docs.bydawn.com/start-a-ticket/), when she wants to agree each one's mode and mission.
- **Launch epic**, for the cycle's epics. Each launch starts its ready tickets and keeps starting the rest as their
  blockers finish, with **Max at once** keeping the number running at a time in check.
- **Run cycle**, on the cycle's page, which starts every ready ticket in the cycle in one go: ones nobody has
  started, with no open blocker. It's off until a project admin turns on **Allow Run cycle** in the project's cycle
  settings, and it starts at most 20 at a time.

How many agents can actually run at once depends on your machines and your plan. Each machine that runs agents has a
number of **Parallel jobs**, set in the **Remote Agents** section of your organization's settings, and your plan
caps the total across the organization. A ticket that's started when every machine is busy waits its turn, so it's
safe to start more than can run. [Remote agents and machines](https://docs.bydawn.com/remote-agents/#change-a-machines-settings) shows where
to set a machine's parallel jobs.

Maya launches the team invoices epic with **Max at once** set to 3, and starts the two small fixes one at a time.

## Each day

Most of a cycle with agents is a short daily pass through what's waiting on you. Maya starts her day with the bell
in the title bar, her [Inbox](https://docs.bydawn.com/inbox/). Its **Needs you** list has everything waiting on her: plans to approve, questions an agent asked,
and other checkpoints. **Updates** below it has what she should know but needn't act on, such as finished work and
mentions. The board's **Needs you** view shows the same tickets on the board.

Her pass takes the same order every day:

1. **Answer questions first.** An agent waiting on an answer is doing nothing, and an answer takes a minute.
2. **Agree plans next.** A plan she approves this morning is code she can review this afternoon.
3. **Review what's in Review.** See [Reviewing agent work](https://docs.bydawn.com/learn/reviewing-agent-work/).

A card in the Running column that reads **Held at Get CI green**, or at another step, isn't stuck. The agent has
finished, and By Dawn is waiting on that step, such as CI, before it moves on.

To see how the cycle is going, she opens it from **Cycles & Releases**. The header counts its tickets by scope,
started and completed, and the **Burn-up** tab shows completed work rising towards the scope. **Breakdown** splits it by assignee, epic, label or priority. If she has the morning briefing
turned on, it says whether the cycle is ahead of pace, on pace or behind pace.

## Close the cycle

A cycle closes at the end of its last day. Unfinished tickets move into the next cycle, because **Roll over
unfinished tickets** is on unless a project admin turns it off. A carried-over ticket's card says how many times it has moved,
such as **↻×2**, so a ticket that keeps rolling over is easy to spot. It usually needs splitting, a better
ticket, or a decision rather than more time.

To close early, choose **Complete now** on the cycle's page. By Dawn says how many unfinished tickets will move, and
where, before you choose **Complete cycle**.

Once a cycle has completed, its **Report** tab shows the scope, what was completed, what rolled over, and what was
added and removed during the cycle. Maya reads it with the team before planning the next one, and asks one question:
was review the limit this time? If it was, the next cycle gets fewer tickets, not more agents. [When a cycle
ends](https://docs.bydawn.com/cycles/#when-a-cycle-ends) covers closing a cycle that feeds a release.

## Do and don't

**Do:**

- Plan for the reviews your team can do, and let velocity tell you whether you got it right.
- Answer agents' questions before anything else each day.
- Look at every ticket that has rolled over twice before you plan the next cycle.

**Don't:**

- Fill the cycle because the agents are fast. Unreviewed work in Review isn't done.
- Start every ticket on the first morning if the plans will wait days for approval.

## Where to go next

- [Reviewing agent work](https://docs.bydawn.com/learn/reviewing-agent-work/): the review at the end of every ticket.
- [Writing tickets an agent can finish](https://docs.bydawn.com/learn/writing-tickets/): fewer questions and fewer send-backs make a cycle
  go further.

Source: https://docs.bydawn.com/learn/running-a-cycle/
