The priorities assigned to pull requests and issues in the Priority Inbox or the Team Board heavily depend on due dates. But not all teams or projects rely on assigning due dates to issues. So how does it work? Is it possible to work with Keypup without due dates?

Agile: Scrum vs Kanban

Let's review the definitions of each Agile methodology and what it means in Keypup.

Scrum

Definition: Scrum relies on sprints, which are periods of time (a week, two weeks, a month) during which issues are assigned and must be completed by the team.

In Keypup: A project will be considered scrum whenever it relies on due dates. A due date may come from a sprint created in a third-party app (e.g. JIRA sprint) or manually assigned to an issue.

Kanban

Definition: Kanban relies on dynamic due dates, which are usually set to X days after an issue has been assigned to someone. In Kanban mode one is expected to break down issues so that they are always achievable in X days. The team is then expected to monitor the backlog of each engineer and assign more issues as the backlog gets emptied. Kanban is a more fluid approach than Scrum in terms of time management as issues are assigned on a rolling basis based on the backlog of each engineer.

In Keypup: A project will be considered kanban whenever due dates must be set dynamically based on issue attributes (e.g. assigned_at or created_at).

How to do Scrum with Keypup?

You do not need to do anything. By default Keypup assumes you rely on due dates.

These due dates can be manually assigned in GitHub, GitLab, JIRA etc.. based on your own sprint frequency or they can come from an already established sprint management system such as JIRA (Keypup automatically import the sprint due date for issues coming from JIRA).

The priorities assigned to issues and pull requests in your Priority Inbox and Team Board will automatically be inferred from these due dates.

How to do Kanban with Keypup?

You can configure how dynamic due dates should be set on issues by going to User Profile > Team Management > Agile Settings tab or Team Board > Agile Settings

From there you can select Kanban in the prioritization style dropdown and specify the number of minutes/hours/days after which an issue is considered due.

The Agile Settings screen allow you specify Global settings as well as project-specific settings (each active project is displayed below).

So if you generally use Scrum but prefer to use Kanban for one project only, leave the Global settings untouched and only set that specific project to Kanban.

Project-specific settings allow you to have different Kanban resolution times for different projects.

Scrum + Kanban = ❤️?

Yes! As mentioned in the previous section you can configure the Agile methodology at project level. This means you can do both Scrum and Kanban at the same time.

Also manually assigned due dates still work with Kanban. If the due date you manually assign falls before the dynamic Kanban due date then it will be taken into account as the due date.

No matter where due dates come from (Scrum assigned due date or Kanban dynamic due date), priorities will automatically be inferred in your Priority Inbox or the Team Board.

Linking pull requests to issues allows Keypup to automatically infer the due date of pull requests based on the due date of related issues. Therefore it's quite essential!

We recommend you read our article on Linking pull requests to issues.

Did this answer your question?