Webdev/Web Production/Kanban: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 6: Line 6:


<p>This document is an overview and guide for using Kanban on Web
<p>This document is an overview and guide for using Kanban on Web
Production (WP) projects. WP uses kanbanery.com to host our kanban boards
Production (WP) projects. WP uses kanbanery.com to host our Kanban boards
and this document contains information specific to their implementation.</p>
and this document contains information specific to their implementation.</p>


<p>WP projects have the option to use Kanban methodology for organizing work. You can use kanban boards
<p>WP projects have the option to use Kanban methodology for organizing work. You can use Kanban boards
as part of a full kanban project or as a visualisation tool on scrum/sprint based projects. </p>
as part of a full Kanban project or as a visualization tool on scrum/sprint based projects. </p>


<h2>Candidate Projects</h2>
<h2>Candidate Projects</h2>
Line 22: Line 22:
</ol>
</ol>


<p>If your project is short-term, release or event based you might consider using a mix of Scrum and Kanban. You can use kanban
<p>If your project is short-term, release or event based you might consider using a mix of Scrum and Kanban. You can use Kanban
boards in the traditional manner or you can use them just to visualize what's currently being worked on. It's flexible.</p>
boards in the traditional manner or you can use them just to visualize what's currently being worked on. It's flexible.</p>


Line 34: Line 34:
If you are using a 'scrumban' approach or some other hybrid, please customize to suit your specific needs.</p>
If you are using a 'scrumban' approach or some other hybrid, please customize to suit your specific needs.</p>


<p>If using kanban there are only 2 'must follow rules':</p>
<p>If using Kanban there are only 2 'must follow rules':</p>


<ol>
<ol>
<li>Visualize the workflow</li>
<li>Visualize the workflow.</li>
<li>Limit work in progress</li>
<li>Limit work in progress.</li>
</ol>
</ol>


Line 46: Line 46:
<h2>Column Overview</h2>
<h2>Column Overview</h2>


<p>Columns reflect the lifecycle of a task. WebProd projects are given default columns. You can adjust columns
<p>Columns reflect the life cycle of a task. WebProd projects are given default columns. You can adjust columns
to match the workflow on your specific project. You should model how your team currently works.</p>
to match the workflow on your specific project. You should model how your team currently works.</p>


Line 68: Line 68:


<p>Set WIP limits on columns where appropriate. These numbers can be changed/updated as you learn
<p>Set WIP limits on columns where appropriate. These numbers can be changed/updated as you learn
what works best for the team. For coding a good start is 2 items in'coding' at a given time per developer. If an open slot
what works best for the team. For coding a good start is 2 items in 'coding' at a given time per developer. If an open slot
is not available, you can not take on more work.</p>
is not available, you can not take on more work.</p>


<p>If you are using kanban you must use WIP limits, they are important!</p>
<p>If you are using Kanban you must use WIP limits, they are important!</p>


<h2>Kanbanery Card Overview</h2>
<h2>Kanbanery Card Overview</h2>
Line 77: Line 77:
<h3>Task Title &amp; Description</h3>
<h3>Task Title &amp; Description</h3>


<p>Use a good title. Description is required for cards not associated with an item in bugzilla.</p>
<p>Use a good title. Description is required for cards not associated with an item in Bugzilla.</p>


<h3>Task Types</h3>
<h3>Task Types</h3>
Line 93: Line 93:
</ul>
</ul>


<p>While you can customize the work types, we reommend general types rather than specific or feature based  
<p>While you can customize the work types, we recommend general types rather than specific or feature based  
(like API) unless those types are relevant for the life of the project. </p>
(like API) unless those types are relevant for the life of the project. </p>


Line 99: Line 99:


<p>The default size scale includes 0, .5, 1, 2, 3, 5, 8, 13, 21. All cards get estimated
<p>The default size scale includes 0, .5, 1, 2, 3, 5, 8, 13, 21. All cards get estimated
and size can change throughout the lifecycle of the card as additional information about the task becomes known.</p>
and size can change throughout the life cycle of the card as additional information about the task becomes known.</p>


<h3>Bugzilla &amp; Single Source Of Truth</h3>
<h3>Bugzilla &amp; Single Source Of Truth</h3>


<p>Tasks that are non-trivial, require formal QA, involve another group, and/or require public discussion should have a corresponding bug in bugzilla.  
<p>Tasks that are non-trivial, require formal QA, involve another group, and/or require public discussion should have a corresponding bug in Bugzilla.  
When creating a card:</p>
When creating a card:</p>


<ol>
<ol>
<li>Create a bug in bugzilla.</li>
<li>Create a bug in Bugzilla.</li>
<li>Enter the bug into the description field of the card.</li>
<li>Enter the bug into the description field of the card.</li>
<li>All comments / discussion / attachments are entered into bugzilla.</li>
<li>All comments / discussion / attachments are entered into Bugzilla.</li>
</ol>
</ol>


<p>Bugzilla is used by everyone at mozilla and our community. We want to keep our projects and tasks open. We also need to have a single
<p>Bugzilla is used by everyone at Mozilla and our community. We want to keep our projects and tasks open. We also need to have a single
source of truth for information about a task. For these tasks kanban is the "when", bugzilla is the "what".</p>
source of truth for information about a task. For these tasks Kanban is the "when", Bugzilla is the "what".</p>


<h3>Priority</h3>
<h3>Priority</h3>
Line 123: Line 123:
<p>Owner can either be assigned manually or it can be assigned automatically. If you pull a card into a column it will be assigned to you.</p>
<p>Owner can either be assigned manually or it can be assigned automatically. If you pull a card into a column it will be assigned to you.</p>


<h3>Subtasks</h3>
<h3>Sub-tasks</h3>


<p>A powerful feature of kanbanery is that cards can consist of multiple tasks. These will often have corresponding bugs in bugzilla. The format
<p>A powerful feature of Kanbanery is that cards can consist of multiple tasks. These will often have corresponding bugs in Bugzilla. The format
for subtasks should be "Description #BUGID" when appropriate.</p>
for sub-tasks should be "Description #BUGID" when appropriate.</p>


<h3>Deadline</h3>
<h3>Deadline</h3>
Line 145: Line 145:
<ul><li>When research &amp; design phase is complete they are marked <strong>ready</strong> with the green checkmark</li>
<ul><li>When research &amp; design phase is complete they are marked <strong>ready</strong> with the green checkmark</li>
<li>Cards that do not require research and design still go into this column and are marked <strong>ready</strong></li></ul></li>
<li>Cards that do not require research and design still go into this column and are marked <strong>ready</strong></li></ul></li>
<li><strong>Coding &amp; In Progess</strong> : Task is pulled into this column and worked on.
<li><strong>Coding &amp; In Progress</strong> : Task is pulled into this column and worked on.
<ul><li>Bugzilla: Bug should be assigned to whomever is doing the work.</li></ul></li>
<ul><li>Bugzilla: Bug should be assigned to whomever is doing the work.</li></ul></li>
<li><strong>Code Review</strong> : Pull request filed
<li><strong>Code Review</strong> : Pull request filed
Line 158: Line 158:
</ol>
</ol>


<p>The above uses the kanban 'pull' methodology. Tasks are marked as ready, signaling that it can be worked on. The task is then pulled
<p>The above uses the Kanban 'pull' methodology. Tasks are marked as ready, signaling that it can be worked on. The task is then pulled
into the next column where work occurs. </p>
into the next column where work occurs. </p>


canmove, Confirmed users
2,745

edits