Agile board - Scrum & Kanban
Activating Scrum/Kanban on a project
Roles and permissions
Scrum board - creating a new sprint
Scrum board - managing project backlog
Scrum board - managing the sprint
Scrum board - charts
Kanban
Settings
How to add the plugin to a project overview page and a personal homepage
Quick task editor
Corner situations
Overview
Agile Board is functionality in Easy Project for agile development, known from Scrum and Kanban methodologies, which shows you sprint, backlog, tasks in backlog and their statuses. The purpose of this extension is to help you with agile management or implementations of agile methodology into your company.
Scrum is an iterative and incremental agile software development framework for managing product development. It defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal", challenges assumptions of the "traditional, sequential approach" to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines involved. A key principle of Scrum is its recognition that during product development, the customers can change their minds about what they want and need (often called requirements volatility) and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner.
Kanban is a method for managing knowledge work which balances demands for work with the available capacity for new work. Work items are visualized to give participants a view of progress and process, from task definition to customer delivery. Team members "pull" work as capacity permits, rather than work being "pushed" into the process when requested. In software development, Kanban provides a visual process-management system which aids decision-making about what, when and how much to produce. Although the method (inspired by the Toyota Production System and lean manufacturing) originated in software development and IT, it may be applied to any professional service whose work outcome is intangible rather than physical.
Activating Scrum/Kanban on a project
Agile Board is a project-level module so the first step is to turn it on within a particular project as follows:
- Open a particular project where you need to have Agile Board.
- Go to Project controls >> Modules.
- Check "Easy scrum board" checkbox to activate Scrum board and/or "Easy kanban board" checkbox to activate Kanban and click Save.
- Now, you should see Scrum board and/or Kanban tabs in your project's top menu as shown below.
Roles and permissions
The necessary project permissions related to Scrum board and Kanban can be configured in Administration >> Roles and permissions >> Project permissions >> Easy scrum board / Easy kanban board. If a user doesn't have sufficient permissions (i.e. Edit Scrum board + Edit Kanban board), changes he made on Scrum/Kanban board will only be visible on the board, however, they won't be applied to the tasks themselves and they get lost after a screen refresh.
Scrum board - creating a new sprint
To enter Scrum board, click on the respective tab within project's menu. You get to a page where you can create your first sprint.
Fill in mandatory fields which are:
- The name of your sprint
- Start date (should not be in the past)
Voluntary options include:
- Goal for this sprint
- Due date (must be later than start date, may be left empty)
- Milestone (all tasks in the sprint will also be associated with this milestone)
- Use tasks from all projects (allows you to add tasks from other projects into this sprint)
- Show tasks closed in the last X days (number of days for which closed tasks are visible within the Done column - older ones will be hidden; please note this only works for the Done column, not any other columns with closed tasks)
- If you create your first sprint, just keep option "Do not move tasks" checked. Otherwise, you can move tasks from other selected sprint or all existing sprints into the new sprint.
Scrum board - managing project backlog
After creation of a new sprint, you are on Project backlog page with three columns: Tasks for the backlog, Project backlog, and Sprint backlog. In the first column, you find all the tasks that match your filters default or any custom filter you set. It is recommended to save some filters in this view. Then you can simply load the list of tasks you want to add to project backlog or sprint backlog.
You can simply drag and drop any of them to Project backlog or Sprint backlog. Project backlog column serves to help you select and save which of the tasks are relevant for the agile processing and manually set the order at which you prefer them to be moved to Sprint. Nevertheless, Project backlog column is not necessary to use as you can drag and drop tasks directly from Tasks for the backlog to Sprint backlog. When a task is moved to Sprint backlog, it becomes linked to a particular sprint. Don't forget that one task can be linked to one sprint only.
Scrum board - managing the sprint
Now you see the Sprint overview with tasks in Sprint backlog on the left side and several empty columns which represent various statuses (i.e. phases) of the sprint. By default, there are New, Realization, To check and Done. Next to the name of the status, may be a set of numbers (e.g. 38/45) - this represents sum of story points (or a different weight of tasks) in vs. total story points (weight) in the sprint. What value is used here can be configured in setting value info (see in chapter Settings). Story points for tasks belonging to a specific agile sprint can be enabled/disabled in task type settings.
Using drag and drop function, you can move single tasks from Sprint backlog to the statuses as they go through the completion progress. By moving the mouse pointer over any task in the sprint, a small window with additional details about the task appears (see the below image) so it's not necessary to open it every time you search for some details. In the sidebar menu, you can easily create a new sprint, switch between existing sprints or use any of the sidebar options as illustrated below. Next to the sprint name are 3 icons that can be used to edit, close or delete the sprint.
In the upper part of the sprint view, there is a drop-down menu designed to toggle swimlane view of the sprint. This allows you to see the tasks in a chess order and grouped by a selected attribute, namely parent task, assignee, priority, task type, author, and milestone. By moving tasks between these groups, you may easily and quickly change the respective attribute of the tasks such as (re)assign them to selected persons, change priority, or connect it with a milestone as shown in the below animation.
Anytime you need to edit a task, take the opportunity of a handy context menu which is accessible via right mouse click on a particular task as illustrated below. You can select, move and edit even two or more tasks in bulk just by pressing SHIFT/CTRL key + use left mouse button to select all the tasks you need to update. Then perform a drag and drop operation or any command from the context menu.
Scrum board - charts
A burndown chart is a graphical representation of work left to do versus time. The outstanding work (or backlog) is often on the vertical axis, with time along the horizontal. That is, it is a run chart of outstanding work. It is useful for predicting when all of the work will be completed. Burndowns charts are among the most common sprint tracking mechanisms used by Agile practitioners.
By clicking on Charts button in the right menu, you will see a synoptic burn-down chart with 4 indicators:
- Ideal work remaining (blue) tells you how much work should be remaining in a specific moment in time in order to finish the sprint on time
- Real work remaining (green) tells you how much work is really remaining as a comparison to ideal work remaining
- Tasks remaining (orange) tells you how many tasks remain in single days of the sprint based on their start dates, due dates, and statuses
A burn-down chart may look like this.
Kanban
Kanban board can work in 2 separate modes. They have a lot in common, with a few differences, depending on your usecase.
Custom kanban board
When you activate Kanban module on a project, you will by default arrive at Custom kanban boards overview page. On this overview page, you can set up multiple kanban boards - we sometimes call this mode "multikanban". This kanban is designed to show any filter of tasks, in the kanban/board view. Each such view has its own settings (setting per widget).
Usecase for this could be:
- bugs board - where I would filter only Bugs (task type), and use colums such as: reported, evaluated, realization, test & QA, waiting for release, released
- new feature board - where I would filter only Features (task type), and use columns such as: new idea, candidate, discovery, realisation, test & QA, done
From such example you can see main capabilites of Custom kanban board:
- setting of columns, sorting, and task filter independently per each widget
- ability to set such kanban on My Dashboard, Project Dashboard, dashboard (easy_page), or under Kanban tab (as project module)
- Limitations of custom Kanban:
- It does not work with any backlog (as it simply shows tasks that comply with filtering conditions)
- Order of tasks cannot be changed manually, as the tasks respect sorting setting
Details of settings are very similar for sprint, as well as both kanban boards - see section Kanban settings.
Project kanban board with backlog
This is an older feature that was introduced around 2017. The main feature of this kanban is a backlog.
Unlike Custom kanban board with setting per widget, the Project kanban board has setting per project. This means that the setting for such project kanban board is managed centrally in one place and the same setting is applied everywhere else you might want to display this board. On top of that, project kanban comes with backlog.
Kanban - managing project backlog
Kanban's project backlog is a bit simpler compared to that of Scrum board as illustrated in the below image. It has only two columns: Tasks for backlog and Project backlog. All tasks you move into the project backlog become a part of Kanban board. If you need to search for tasks quickly, use the presence of search box up the page or set up a filter to see only required tasks.
Scrum and Kanban Settings
The settings are very similar both for Scrum and Kanban boards so we can go through it in one pass. You can access the Settings by clicking on the particular button in the sidebar. Here you can create new statuses (i.e. columns, phases) of the sprint via New kanban state button. Then you can rename it by editing the name in Kanban state field. If you need to remove status from the sprint, just click on Delete button on the right side. Additionally, you can set up automatic relocation of tasks with a specific status into a particular status of the sprint - this is called "contains these task statuses" option. For example, a task with status changed to Canceled will automatically move to "Done" column, while a new one will move into New column. This feature saves time compared to manual relocation. Once one task status is linked with one Kanban state, it becomes unavailable for other Kanban states in order to prevent errors.
Moreover, when a task is relocated into a specific column, you may need it to automatically change its status ("Task status" option) as well as Assignee ("and change assignee to" option). For example, if you drag a task in the Agile board to column "To Check", the status of the task will change to "To Check". In Others, you may set up some additional information to be visible on each task card in the sprint view. Subtitle means the information shown just below the task name. Value info stands for a numerical value shown in the top right corner of each task card. This value is used to calculate different variables in burn down chart, which means that changing it will change the chart appearance as well.
Analogically, you can use the Additional options to show the avatar of the assignee, one or more selected dates you need to see (such as start date, due date, created...), and task type icon. Preview highlights where is such information going to be situated in the card. Finally, there is a checkbox to enable or disable workflow settings on the sprint. When you have your settings appropriately modified and you need to apply them immediately, click Recalculate statuses button on the bottom (available only in Scrum, not in Kanban) which will rearrange the tasks according to the status/column setting. Finally, save the changes you made by clicking on the Update button.
The setting Value info is used to calculate burndown chart as well as task volume in each column of the scrum board. In accordance to scrum methodology, the correct setting should be Estimated time or Story points. The other options are only allowed for specific individual use and the resulting calculations of the burndown chart and column volumes may be incorrect or misleading. This is especially true for option estimated time - spent time, which is not recommended.
Switching between custom and project kanban boards on project
In order to swith between these 2 kanban modes in one project, visit the Kanban setting.
How to add the plugin to a Project Dashboard and My Dashboard
You can simply customize your personal homepage and project overview page by entering the edit mode by clicking on the "Customize this page" button in the bottom left side of a particular page. Here you select widgets to be placed in various sections of the page. To add an Agile Board widget on the page, just select it from the drop-down list as shown below and save.
You have 4 options:
- Custom kanban board
- Project kanban board (with backlog)
- Project scrum board
- Sprint overview
When working specifically on the level of Project, in Kanban tab (project module), the options for widgets are limited only to Custom kanban board and Noticeboard. The former allows you to have multiple kanban boards next to each other, the latter is handy for some instruction, team agreements, etc.
Quick task editor
Quick task editor of tasks enables to see and/or edit all important data related to a specific task in a single-screen pop-up window, eliminating the need for opening the task in a separate tab. So, it is like a compact view of everything that can usually be found under various tabs, columns or buttons of the normal task view. Most importantly, the Quick task editor is extremely fast and easy to use and its main purpose is saving time while doing standard task management. To open the Quick task editor of a specific task from the Scrum/Kanban board, just click on the task itself.
Below is how the Quick task editor looks like. As you can see, the sidebar menu contains buttons for quick navigation to required task attributes you would like to check or edit, namely details, description, comments, attachments, spent time, coworkers, tags, subtasks, parent task, and related tasks.
Of course, the Quick task editor is definitely not a passive view but is fully interactive so you can quickly edit any of these visible task attributes or add missing text just by clicking to the respective area on the screen.
Corner situations
- If you first have allowed the option Use tasks from all project and added tasks from other projects into the sprint, the tasks will remain in the sprint even if you disable the option afterward.
- Kanban view for "Tasks from filter" must have "Grouped by" option enabled in order to display the data.
- Before you decide to turn off the Scrum on a project, make sure it doesn't include any open sprint. Such a sprint is still displayed in the Sprint menu, although it is not possible to open or edit the sprint.
- A little different behavior may be encountered between the Kanban module and the task list in Kanban view when trying to move a task to the column/status forbidden by the workflow settings. While in the first case, a task cannot be moved to the forbidden column/status, in the second case, a task can seemingly be moved to the forbidden column/status but is returned back after the page refresh.
- Each card on the Kanban board may include a subtitle for which you can select values that can be turned on/off on some task types. When turned off, no values are displayed in there, however, the subtitle field is still present even when no values are shown due to this reason.
- When the Swimlane view on Scrum/Kanban board is set by projects, then all projects are always displayed, regardless of the set filter. Therefore, it is not possible to filter projects in the Swimlane view.
- Filtering in Scrum/Kanban backlog is only working for Tasks for backlog and Project backlog. Filtering is not working for the Sprint backlog.