Our step-by-step tutorial will be helpful for those who are new to Agile software development or want to try Hygger.io. It will be useful if you want to drive a Kanban project, prioritize your work, visualize workflow and minimize work-in-progress to prevent your team from being overloaded. So let's dive in!
Create a project and a board
What is Kanban?
Kanban visualizes work managing as it moves through processes. The key goal of Kanban is to identify potential bottlenecks in processes and fix them so work can flow through it cost-effectively at an optimal speed or throughput.
Kanban has a lot in common with Scrum. Both Agile methodologies are considered flexible and iterative, they allow developers to release software early and often.
The main difference between Scrum and Kanban is related to iteration length. Scrum consists of short iterations or sprints, which last as a rule 2-3 weeks. Kanban allows you provide a developer with tasks every day. It seems more flexible and this flexibility means that priorities can change the frequency.
Once you login to Hygger Software, you can start creating a new project.
On the header click plus icon > Project.
When you’ve created a project you can invite members to it and create new boards. Or you can do it later through Company Settings.
After that you may add boards to your project.
You can create a new board the same way you add a project: On the header click + icon > Board.
What is Workflow?
Workflow is a set of activities that are necessary to complete your task. Each step has a specific step before and after it, with the exception of the very first and the last steps.
In Kanban, the workflow is organized with the help of Kanban boards. A Kanban board is a friendly workflow visualization tool that allows you to optimize the flow of your work. Physical Kanban boards typically use sticky notes on a whiteboard. Online Kanban boards are represented with cards to communicate statuses, progress, and issues.
Let’s take a look at software development workflow through a Web Development board with the following columns:
- Backlog - At this stage you gather all new ideas for development. Every team member can vote for or against the idea, leave their comments and start a discussion whether they should work on it or not. You can archive an idea in case it wasn't chosen for further production.
- To Do - Once you figured what tasks should go to development you move them from Backlog to this column.
- Reopened - As it usually happens a task which you assumed was completed, turned out to have bugs after testing. So a developer needs to make some changes in it. That would be effective if you don’t mix them with in-progressed tasks when dragging back to ‘Developing. The solution would be adding such tasks to ‘Reopened’ column.
- Paused - Sometimes priorities may change and you suddenly have more critical things needed to be worked on immediately but you are already half-way doing this one task. ‘Paused’ column would be a solution in this case.
- Developing - When the work on some task is started team members can then move it to In Progress column.
- Testing - After coding a task needs to be tested.
- Live - Once a task is tested and no bugs are found it is deployed to production. And the task is moved to Live column.
There are three type of columns in Hygger: To Do, In Progress and Done. You can create as many To Do and In progress column as you want. But there can be only one Done type of a column.
Done column will help you to see a statistics of completed tasks in the overview section. During a sprint this column will count all story points and hours as completed once you drag tasks to it.
There are no restrictions which columns you can have on a board.
In Hygger Software there are 2 types of In Progress column: Simple and Composite ones. A Composite column consists of 2 subcolumns which are In Progress and Done. That makes it easier for developers and testers to communicate with each other. As once a developer finished a task from ‘Developing’ column and it’s ready to go to a QA, it’s more efficient to drag it to Done subcolumn rather than to the Testing column. That would create a mess since in that scenario you won't understand which tasks are being tested and which ones are waiting for their turn.
Obviously, each team may have different development workflow and you can easily adjust the Kanban board to yours.
Add tasks, bugs or user stories to the backlog
What is a user story?
A user story is the smallest unit of work in Agile. It simply reflects the basic info about who the users are, what their goal is and what they want to achieve.
A product owner is responsible for sketched out the user stories. After this done, the team determines detailed requirements.
As an example: A customer X wants to create an account to track the purchases he/she made last month to optimize the budget.
Click Add a task to the first column called Backlog. Usually this is a column which collects all the tasks that are waiting for implementation. In case you need to rank ideas with Value and Efforts points use our advanced Backlog (read below).
Prioritize the backlog
What is prioritizing in Kanban?
Kanban teams focus on the work that is actively in progress. When the team completes a specific task, it starts another one, and so on. Any outside-the-work changes do not influence the team processes that's why the product owner can change priorities in a backlog.
The team can be sure that their efforts will deliver profit to the business as long as the product owner highlights the prior items in backlog. That's length iterations are unnecessary here.
To prioritize the tasks in the backlog column, sort them out from the top to the bottom based on their priority.
You can tag tasks with labels to categorize them.
To gather groups of tasks by a certain parameter on the board you can use Swimlanes. They divide the board into several horizontal parts.
To add a Swimlane to your workflow open Menu tab on the right part of a board and click Create Swimlane.
What are Swimlanes for?
Swimlanes or in other words horizontal columns on Kanban Board are used to separate different kinds of issues that team members use. With their help, teams can see which issues they should work on next.
Here are some examples of using Swimlanes:
- to group the tasks based on their priority: Blockers, Medium, Low priority, etc.;
- to group the tasks based on their type: Bugs, Feature Requests, Customer Feedback, etc.;
- to group the tasks based on their assignee: a separate swimlane for each team member;
- to group the tasks based on Company department: Development, Design, QA, Support, etc.
You can also group the tasks based on your own parameters.
Select work from the backlog
A Work In Progress (WIP) limit restricts the maximum amount of work items in the different stages (kanban board columns) of the workflow. In other words, WIP is the number of task items are actively being worked on at any given time.
In Kanban, team members take tasks from the To Do column and move them to In Progress.
To make the working process more efficient we recommend adding limits for tasks that are in-progress. This is when WIP limit can be useful. By using WIP limits, you can improve the workflow through the process steps you've defined on your Kanban board, helping your team become more efficient. Once a column is overcrowded you will see a red notification with a number of extra tasks. An orange notification tells you that there are lack of tasks in a column.
You can add WIP limits for In Progress column by clicking three dots menu icon.
What is the purpose of WIP limit?
You can set the maximum and minimum amount of tasks in the different stages of the workflow. The implementation of WIP limits allows you to complete single work items faster, by helping your team to focus on a smaller scope of tasks. More importantly, by applying WIP limits, your team has the opportunity of highlighting bottlenecks in their working processes before they become blockers. WIP limits are considered an important condition for delivering value to your customer as fast as possible. This makes WIP limits a valuable asset in the Kanban method.
Hold team meetings
Why daily Stand Ups?
In Kanban, a daily stand up is optional. Нowever any 15-minutes stand-up with retrospectives can be rather beneficial for the team.
During the meeting the team focuses on a board. All participants explore tasks from the right to the left from the top to the bottom. The options for the soonest transferring to the next stage is discussed. The faster the task goes to the rightmost column (the completion), the less time it will take to work on it.
Who needs to attend? A product owner + developers. Team stakeholders are optional.
How often: daily
Duration: 10-15 minutes should be enough. Remember that it's not a conference or a long session. Standing up will keep the meeting short and give muscles relax.
Goal: Kanban meetings are designed to inform everyone in short form about what's going on across the team.
In general, every team member answers the following questions:
-What was completed yesterday?
-What will be done today?
-Do I have any blockers?
Daily meetings will help to discover if there are blockers in the work process. Besides, this is a quite convenient way for product owners to share and explain the prioritized issues. It is up to you but you can easily check what works for your team and try it out.
Advanced prioritization on Backlog
Backlog is widely used in Agile methodology. In Hygger there is a template for organizing Backlog - 'Product Backlog'. You can see how to structure, rank ideas and plan a product iterations there.
You can create a board by the template on the header please click + > Board > By Template > Most Popular > Product Backlog.
Backlog is a storage for your suggestions, requests from your customers and requirements for your product. Those insights come to you from different sources: from Intercom, Zendesk, Satismeter, from private talks with your clients, from your employees. It’s becoming more difficult to pick things for development. The cost of a mistake is really high. It’s a risk to make a feature that won’t be popular among the audience and won’t bring expected benefits.
To resolve those issues, you can use Value and Efforts rate, which will help you identify the most valuable tasks for your product.
- Efforts rate shows the feature development cost
- Value rate shows the potential profit a feature may bring.
For each of the parameters you can choose a value from 1 to 100. Try to move the slider for Value and Efforts to set or change the Rate of the task.
You can easily define tasks priority and optimize them by using Priority Chart. Priority chart is a visual representation of a Backlog. The chart consists of two axes:
- the X-axis corresponds to Efforts rate
- the Y-axis corresponds to Value rate.
These axes will help you to choose which tasks you should implement and the ones you should avoid, if you want to make the most of your time and opportunities.
There are four sections on the chart:
Big Bets – tasks with both high Value and Efforts rates: these tasks might be valuable, but are time-consuming and require a lot of attention.
Quick Wins – tasks with a high Value rate and a low Efforts rate: these tasks bring you maximum benefit with little efforts required. Lucky you to have many Quick Wins on the board!
Time sinks – tasks with a high Efforts rate and a low Value rate: these tasks require a lot of efforts from your team and probably won’t bring you a lot of value. It’s advisable to start working on such tasks only once your priority tasks are completed.
Maybes – tasks with both low Value and Efforts rates. These tasks neither require many efforts nor will bring you a lot of value. Think twice before you start to develop these tasks.
After the selection process tasks can be developed. You can use a Push Tasks option for that. Once you push them from Backlog to Kanban/Sprint Board these tasks are automatically created on those boards for further implementation.
Backlog increases constantly and it becomes more difficult to control every idea as managers spend a lot of time grooming it. How to choose the next thing to develop? Which one will be useful for customers? Which feature will bring profit without much effort? Our advanced Backlog can help you to answer those questions. Read this article for a detailed explanation.
For more detailed guidance of using Kanban board in Hygger, please read our articles on Hygger University.