Shareable Kanban BoardsWhat if you can habe Kanban boards stored in the same git repo with your project? It will be great. Especially because in this way you no longer need to pay for and manage additional tools, and you avoid the effort to mantain the tickets in the sync with the effective progress of the project. This extension is doing exactly this. Also it is free of charge and it will remain so. The learning curve of using it is no curve at all, as using it is extremly intuitive. We also added a few key features for helping you to have a very good visibility over your project. This extension is an amazing addition for any (new) start-up and all other types of companies. Start using it today for gaining all beneficies offered by it. UsageThis extension makes available the following commands:
See below the section "How to use a Shareable Kanban board" for a detailed description of how to use this extension. Location of saved boardsAll Kanban boards are saved in .vscode/sharable-kanban-boards.json and hence you can commit it to your repo. If you do manual changes in this file, take care to do not corrupt its structure. RequirementsThere are no special requirements. Extension SettingsThere are not any custom settings. Known IssuesThere are not any known issues. Change LogSee Change Log here IssuesSubmit an issue if you find any bug or have any request. ContributionFork the repo and submit pull requests. How to use a Shareable Kanban boardCreate a boardAn input field asks you for the name of the new board. In case this name is already used by a board, a message will be displayed. If there exists not a .vscode/sharable-kanban-boards.json file, then a new one will be created which will contains a "Demo board". Open a boardA list of all available boards is presented to you so you can easily specify which one you want to open. If there exists not a .vscode/sharable-kanban-boards.json file, then a new one will be created which will contains a "Demo board". This board will be available in the list of available boards. Delete a boardA list of all available boards is presented to you so you can easily specify which one you want to delete. Attention, this operation cannot be reversed. ScreensThere are four screens:
BoardThe board is the core of this extension. Here you see all the tickets of a board grouped by statuses in columns, and from it you can navigate to the Task, Columns and Timeline screens. Use the New Task button to create a new ticket in the Task screen. Also you can access the Task screen through the use of a ticket's menu Comment or Edit command. To delete a ticket use the ticket's menu. The operation of deletion requires you to click it twice, as this operation cannot be reverted. As such, this mecanism protects you from the accidental removal of a ticket. You can filter the tasks by searching for matches in different fields of the tickets. If no field is specified, then it is assumed to be the title field. The results are all the tickets matching all the filters. The following fields are recognized. Any unknown field name is considered to be part of the plain text phrase. Between the field name and the value (which can be a single word or a phrase, if it is between double quotes) can be any number of spaces. You cannot escape a double quote inside of a phrase.
*Priority "?%" means a ticket without a priority set. The following filter 'word field: "value value2" more words field2: value3 unknown_field: no_value final words' is splitted in:
It will match all the tickets which:
TaskIn this screen you can fill or change the fields of a ticket. The following fields are available:
ProgressIf the progress is 25%, 50% or 100%, an estimation done date is computed and displayed in board. The starting date used for computing the done date is the last date when the ticket was set to have 0% progress or it was moved in a different column (status). TagsA tag can be a single word or a phrase. A set of tags can be used for example to specify ticket types. A different set can be used for displaying the estimation of the tickets. DescriptionIn this field you need to use the Markdown syntax. A "cheet sheet" of it can be found here. PriorityEach priority has a color, which is displayed on the side of the tickets in the board. Depend onUse the screen Timeline to see the dependencies between the tickets, including when they are scheduled to be "done" or expected to be "done". CommentsThe text in a comment is in plain text, and not Markdown. The user name used for the author of the comment is extracted from the output of the "git config user.name" command. If no name is found, the author is marked as "unknown". ColumnsHere you can define the columns, aka statuses, and the allowed transitions of a ticket between them. To remove a column, you will need to press twice on the delete button. This is a mechanism to prevent accidental removal of a column, as this operation cannot be reverted. A diagram of allowed transitions helps you to have a better overwiew of them. The allowed destinations for a dragged ticket in the board is defined by these allowed transitions and the status of the linked (depend on) tickets. A ticket cannot be moved to a column more to the right than to the leftmost of all depending tickets' columns. TimelineHere are displayed the relations between the tickets, together with their due and estimated done dates. If a ticket has both a due and an estimated done date, only the due date will be displayed. The status of the tickets (in which columns are they located) is represented with different colors. A legend at the top of the page, explains the associations between colors and statuses. FAQHow can I create tickets of different types?Use a tag having the type of the ticket. For example, use the tag "Story" for defining a ticket holding a story. You can add the tags describing a ticket's type to the tags associated to the board. They are defined in .vscode/sharable-kanban-boards.json, field "tags" of a board. How can I see only tickets of a certain type?If you are using tags to mark the type of ticket, you can filter the tasks using the "tag:". For example, to find all tickets of type "Story" you can filter by "tag:story". How can I assign estimations in days to a ticket?Use a tag representing the estimation. The tag should be a number suffixed with d (from days). When the ticket is moved in an active status, set the due date to the corresponding duration. When the ticket is moved in an inactive status, remove the due date. How can I assign estimations in story points to a ticket?Use a tag representing the estimation. If you use animals, then use the name of the animal as tag ("Dog"). If you are using story points, then use it prefixed with "E:" so the people known that this tag represents an estimation in story points ("E:10"). If you are using days, then use it prefixed with "E:" and suffied with "d" so the people known that this tag represents an estimation in days ("E:.5d"). How can I define multiple sprints?A board can contain multiple Sprints. You can create a column for each Sprint you want to have defined. Use these Sprint columns as they are the "To do" or the "Ready" column of a Sprint. Order the Sprints in order from right to left. The Sprint column from the far right represents the current sprint. Bellow you can see how should be organized a Kanban board having one active sprint and two comming sprints.
How I close a sprint?All the tickets in "Done" and "Canceled" state must be deleted. The column for the active sprint must be removed. Move all tickets still in the closed Sprint column to the column of the next sprint. Note: it must be empty when it is removed, otherwise all the tickets in it will no longer be accessible. Create a new Sprint column on the right of Backlog column so the number of defined Sprint columns is constant. Decide what should happen with all tickets present in the other columns. Create the rule for allowing moving tickets from Backlog into the new created Sprint column.
How can I keep the not finished tickets in the next sprint?Apply the technique described above for closing a sprint. The tickets will be practicaly assigned to the next sprint. Change their status if necessary. The tickets in "Blocked" status should, eventually, be moved to a future sprint or in Backlog. In this case they should have associated a tag called "Blocked" so their status will not be lost. Also document as a comment why it is blocked, if you did not already did that. Why to use multiple boards?You can use a board for the team and one for each member of the team. The PO can use the board to keep track of all the epics (s)he needs to implement according to the roadmap. The Scrum Master can use the board of the team to check the progress and what blocks the users. Any subtask of a ticket can be present only in a "personal" board. Once all subtasks of a ticket are done, they can be removed from the personal board and the corresponding ticket, found in the team board, moved in the corresponding state/column. |