Yavaren™ user guideVersion 1.0.0Printable guide · PDF

Connect and set up

Projects, pickup and governance

How a project ties a tracker, repositories and engineers together, and what each kind of work may do.

A project connects one work tracker to one or more repositories (each with its stack) and to the engineers who work on it. You create projects on the Projects page.

Changing a project

Choose Edit on a project to rename it, change its kind of work or its tracker, change a repository's stack or base branch, add a repository, or remove one (a project keeps at least one). When a project lacks something, for example no engineers or a connection that needs a field, the list says Needs: …. Engineers, automatic pickup and production code keep their own buttons. Stories already started keep what they were given.

Governance per kind of work

Every project says, for each kind of work — tests, specifications and production code — whether Yavaren may do it, how many reviewers a pull request needs, and whether tests must be included. Work a project does not allow is refused before it starts.

Automatic pickup

With automatic pickup on, Yavaren looks at your tracker on a schedule (every 15 minutes unless you choose otherwise). It starts stories that a person approved and marked ready, and breaks features marked ready into proposed stories for you to review. Nothing is started twice: a story that failed is started again only when a person asks.

Webhooks

Instead of waiting for the schedule, your tracker can call Yavaren when a story changes. Create the webhook address on the project; the address contains a secret token, so treat it like a password and replace it if it leaks.

Yavaren's understanding of your code, in your tracker

When Yavaren breaks a feature into stories, it writes down how it understands your current code, for two audiences:

When a feature needs more detail first, the comment on it and the refined draft also carry the business functions. It works the same on Azure DevOps, Jira, GitHub and GitLab.

The full analysis as a file. Yavaren also attaches its complete analysis, yavaren-analysis-<feature>.md, to the feature (and to a refined draft): the outcome, the current state of the code as it read it, every proposed story with its technical design and acceptance criteria. The comment names the file. On Azure DevOps it is under Attachments, on Jira in the issue's attachments, on GitLab a link in the comment. GitHub has no way to attach a file to an issue, so there the comments carry the analysis and the job's result keeps it.

A draft feature written for a business review. A refined draft starts with "Proposed by Yavaren for business review", then why a clearer version is proposed, the proposed description, the business functions it touches and a link to the original feature, with the acceptance criteria in your tracker's own field (Azure DevOps) or as a checklist. It is laid out in your tracker's format: rich text on Azure DevOps, wiki text on Jira, Markdown on GitHub and GitLab. Proposed stories' acceptance criteria are a list (a checklist on GitHub and GitLab).

"Needs more detail before it can be split into stories"

Before Yavaren breaks a feature into stories, it checks that the feature says enough to write stories from: what is in scope, the options or rules a person can choose, and how to tell it is done. When something critical is missing (for example, a "notification preferences" feature that names no notification types or channels), it does not guess. Instead it:

Next, the owner of the requirement adds the missing details: either to the original feature (then removes feature-needs-refinement and tags it feature-agent-ready again), or by approving the draft. Yavaren then proposes the stories for your approval. The job's Result column and its log say why, name the draft and these steps.

Steps in your tracker

Some steps happen in your own tracker, not in Yavaren. On the Projects page, Steps in your tracker shows them for each project, with the exact names that project uses: