Agile is a big world. It comes with a lot of process and we believe that sometimes, developers get lost in translation - and silly (?) process - and have difficulties squeezing into the Agile mould.
We thought that it was essential (and frankly about time) to have an Agile automation tool specifically designed for developers and not managers. So we decided to augment the platform to match any Agile (whether Scrum or Kanban) to your own specific development needs.
Keypup originally comes with a Priority Inbox where priorities are assigned to pull requests and issues. This feature relies on due dates. But not all teams or projects rely on assigning due dates to issues - some of us work on a 'best effort' or 'kill the queue' basis. 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.
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.
Definition: Kanban relies on dynamic inferred 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 developer 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 developer.
In Keypup: A project will be considered scrum whenever due dates inferred 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 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 clicking on your profile (top right) then Team Management > Sprint Settings tab.
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 Sprint Settings screen allows you to specify Default 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 Default 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 reference due date.
Protip: Auto-link pull requests to issues
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 short article on Linking pull requests to issues.
Not a Keypup member yet? Get started!