1"use strict";(self.webpackChunkcore=self.webpackChunkcore||[]).push([[2013],{1964:function(e,t,a){a.d(t,{A:function(){return r}});var n=a(3696),l=a.p+"static/phoenix-book-paperback-cover-2023-05-10-2f9d66a11f9298192419928cb942ed24.jpg",o=a(2079);var r=()=>{const e=(0,n.useRef)();return(0,n.useEffect)((()=>{e.current.addEventListener("animationend",(()=>{e.current.addEventListener("click",(()=>{e.current.style.transform="rotateY(180deg)",setTimeout((()=>{e.current.style.transform="rotateY(35deg)"}),3e3)}))}))}),[]),(0,o.Y)("div",{className:"book-3d"},(0,o.Y)("div",{className:"book-3d-body",ref:e},(0,o.Y)("div",{className:"book-3d-page-edge"}),(0,o.Y)("img",{alt:"Phoenix book cover",className:"book-3d-cover",src:l})))}},3023:function(e,t,a){a.d(t,{R:function(){return r}});var n=a(3696);const l={},o=n.createContext(l);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}},3235:function(e,t,a){a.d(t,{A:function(){return d}});var n=a(3696),l=a(1964),o=a(2079);var r=()=>(0,o.Y)("div",{className:"box"},(0,o.Y)("div",{className:"book-ad-cover"},(0,o.Y)(l.A,null)),(0,o.Y)("h2",null,"Get the book"),(0,o.Y)("a",{className:"button primary small",href:"/phoenix"},"Buy Now"),(0,o.Y)("p",null,"$4.2 billion has been spent. The project began in 2007 ",(0,o.Y)("em",null,"and the system still doesnât work!")),(0,o.Y)("p",null,"How could this happen? Who is to blame? Was it preventable? Get answers to all these questions.")),s=a.p+"static/David-Portrait-(WSJ)-circle-5594919bc65c6ed5a801d54dcdab313b.png";var i=()=>{const e="David Sabine";return(0,o.Y)("div",{className:"space-after blog-bio"},(0,o.Y)("img",{alt:e,className:"blog-bio-photo",src:s}),(0,o.Y)("div",{className:"blog-bio-copy"},(0,o.Y)("strong",null,e),(0,o.Y)("br",null),"Professional Scrum Trainer",(0,o.Y)("br",null),"Professional Kanban Trainer"))},c=a(6885);var m=e=>{let{pageContext:t}=e;const{next:a,previous:l}=t;return(0,o.Y)(n.Fragment,null,(a||l)&&(0,o.Y)("ul",{className:"pagination"},(0,o.Y)("li",null,l&&(0,o.Y)(c.N_,{title:l.title,to:`${l.path}`,rel:"prev"},(0,o.Y)("span",{className:"button small"},"â Previous Article"))),(0,o.Y)("li",null,a&&(0,o.Y)(c.N_,{title:a.title,to:`${a.path}`,rel:"next"},(0,o.Y)("span",{className:"button small"},"Next Article â")))))};var u=e=>{let{pageContext:t}=e;const{tags:a}=t.frontmatter;return(0,o.Y)("div",{className:"box"},(0,o.Y)("h2",null,"Connect with me"),(0,o.Y)("p",null,"Please ",(0,o.Y)("a",{href:"/contact/"},"let me know")," if youâd like more articles on this topic in future."),(0,o.Y)("p",null,"And be sure to check out related articles:"),(0,o.Y)("ul",{className:"actions"},Object.keys(a).map((e=>(0,o.Y)("li",{key:e},(0,o.Y)(c.N_,{"aria-label":`Read more on topic: ${a[e]}`,className:"button xxsmall tag",to:`/articles?tags=${encodeURI(a[e])}`},a[e]))))))};var d=e=>{let{children:t,pageContext:a}=e;return(0,o.Y)("footer",null,(0,o.Y)("div",{className:"grid article-footer-grid"},(0,o.Y)(u,{pageContext:a}),(0,o.Y)(r,null)),(0,o.Y)(i,null),(0,o.Y)(m,{pageContext:a}),t)}},4079:function(e,t,a){var n=a(8898),l=(a(3696),a(2079));t.A=e=>{let{pageContext:t}=e;const{frontmatter:a,gatsbyImageData:o}=t;return(0,l.Y)("header",{className:o?"article-hero article-hero-has-image":"article-hero",style:{"--hero-title-len":`${a.title.length}`,"--hero-bg-image":o?`url('${o.images.fallback.src}')`:"none","--hero-bg-color":null==o?void 0:o.backgroundColor}},(0,l.Y)("div",null,(0,l.Y)("div",null,(0,l.Y)("h1",{className:"contains-highlight-heading"},(0,l.Y)("span",{className:"highlight-heading"},a.title))),(0,l.Y)("div",null,(0,l.Y)("p",null,"Published:"," ",(0,l.Y)("time",{dateTime:a.date},(0,n.GP)(new Date(a.date),"yyyy-MMM-dd"))))))}},4415:function(e,t,a){a(3696);var n=a(2079);t.A=e=>{let{label:t="Listen to this Article",src:a}=e;return(0,n.Y)("div",{className:"readalong"},(0,n.Y)("span",{"aria-hidden":!0},t),(0,n.Y)("audio",{"aria-label":t,controls:!0,preload:"metadata"},(0,n.Y)("source",{src:a,type:"audio/mpeg"})))}},4600:function(e,t,a){a(3696);var n=a(2079);t.A=e=>{let{children:t}=e;return(0,n.Y)("section",null,t)}},4826:function(e,t,a){a.r(t),a.d(t,{Head:function(){return g},default:function(){return b}});var n=a(3023),l=a(3696),o=a.p+"static/Kanban-Board-Not-For-Sprint-Backlog-326c2a
157be2cb1b0aa6d57dba45d17f2.mp3",r=a(4415);function s(e){const t=Object.assign({h2:"h2",h3:"h3",p:"p",strong:"strong",em:"em",ol:"ol",li:"li",ul:"ul",a:"a"},(0,n.R)(),e.components);return l.createElement(l.Fragment,null,l.createElement(r.A,{src:o}),"\n",l.createElement(t.h2,{id:"important-to-remember"},"Important to remember"),"\n",l.createElement(t.h3,{id:"kanban-boards-make-visible-the-flow-of-value--items-of-value-in-a-scrum-context-those-items-are-product-backlog-items-not-the-decomposed-tasks-of-the-sprint-backlog"},"Kanban Boards make visible the flow of value â items of value. In a Scrum context, those items are Product Backlog Items, not the decomposed tasks of the Sprint Backlog."),"\n",l.createElement(t.p,null,"This point is often misunderstood or overlooked, so Iâll explain with multiple analogies:"),"\n",l.createElement(t.p,null,l.createElement(t.strong,null,"If in a restaurant"),", the Kanban Board would show the progress of dinersâ experience. Columns on a Kanban Board might have labels like ",l.createElement(t.em,null,"Waiting to be seated"),", ",l.createElement(t.em,null,"Ordered"),", ",l.createElement(t.em,null,"Main course"),", ",l.createElement(t.em,null,"Dessert"),", ",l.createElement(t.em,null,"Paid"),", and ",l.createElement(t.em,null,"Table cleared"),". The Kanban system in this case would be optimized for the flow of meals for customers. The cycle we should want to measure starts when a customer enters our restaurant and ends when they have finished their dining experience."),"\n",l.createElement(t.p,null,"I wouldnât expect to see the chefâs tasks on the Kanban Board (e.g., âslice the prime rib,â âbake the potatoâ). Those task-level chores are not, in and of themselves, valuable to the customer."),"\n",l.createElement(t.p,null,l.createElement(t.strong,null,"If in software development"),", columns on a Kanban Board might have labels like ",l.createElement(t.em,null,"Discovery"),", ",l.createElement(t.em,null,"Implementation"),", ",l.createElement(t.em,null,"Deployed"),", ",l.createElement(t.em,null,"In Production"),", ",l.createElement(t.em,null,"Done"),". The Kanban system in this case would be optimized for the flow of Product Backlog Items (PBIs)."),"\n",l.createElement(t.p,null,"I wouldnât expect to see development tasks (i.e., Sprint Backlog Items) on the Kanban Board (e.g., âtest the new form,â âupdate the data table,â ârefactor function foo()â). Those task-level chores and technical procedures are not, in and of themselves, valuable to the stakeholders."),"\n",l.createElement(t.p,null,"Many teams post their Sprint Backlog tasks on a board with columns like ",l.createElement(t.em,null,"To Do"),", ",l.createElement(t.em,null,"Doing"),", and ",l.createElement(t.em,null,"Done"),". The items on that board are the technical procedures, chores, steps, recipes, and activities that developers will conduct to convert PBIs into usable functionality."),"\n",l.createElement(t.p,null,l.createElement(t.strong,null,"Thatâs not a Kanban Board.")," Iâm not saying it isnât helpful â itâs a sensible way to track tasks. But to be a Kanban Board, two conditions must be met:"),"\n",l.createElement(t.ol,null,"\n",l.createElement(t.li,null,"\n",l.createElement(t.p,null,"The right level of abstraction."),"\n",l.createElement(t.p,null,"The items on a Kanban Board are meaningful to both the stakeholders and the team â ",l.createElement(t.strong,null,"they represent recognizable value from a customerâs/userâs perspective"),"."),"\n",l.createElement(t.p,null,"Like in the restaurant analogy, the Kanban Board would visualize the flow of a customerâs meal (e.g., âEggs Benedictâ) whereas the Sprint Backlog would be the chefâs plan to cook and deliver that meal (e.g., âmix the Hollandaiseâ and âtoast the English muffinâ and âpoach the eggs.â)"),"\n"),"\n",l.createElement(t.li,null,"\n",l.createElement(t.p,null,"Explicit WIP limits."),"\n",l.createElement(t.p,null,"A Kanban Board imposes limits on Work In Progress. The people involved in the flow of work have made explicit agreements to constrain how much can be in progress at any one time."),"\n"),"\n"),"\n",l.createElement(t.p,null,"In the visual below (a software dev example), the Kanban Board shows the Product Backlog Items that are currently between ",l.createElement(t.em,null,"Selected for Development")," and ",l.createElement(t.em,null,"Done"),". These items are certainly in focus throughout the current Sprint, and one or more of them may have been started in previous Sprints. (A Scrum team should want to minimize the number of PBIs carried over from one Sprint to the next, but itâs not uncommon.)"),"\n",l.createElement(t.p,null,"And on a
1separate board, the same team can visualize the flow of their Sprint Backlog tasks from ",l.createElement(t.em,null,"To do")," to ",l.createElement(t.em,null,"Done"),". ",l.createElement(t.em,null,"(Tasks of the Sprint Backlog are decomposed from the PBIs selected for the Sprint â they are the chores and technical procedures that derive from PBIs.)")),"\n",l.createElement("iframe",{src:"https://app.mural.co/embed/3a45fadd-e034-498b-9c49-69673663630e",width:"100%",height:"480px",style:{minWidth:"640px",minHeight:"480px"},sandbox:"allow-same-origin allow-scripts allow-modals allow-popups allow-popups-to-escape-sandbox"}),"\n",l.createElement("golden-width",null,l.createElement("div",{className:"box small alert"},l.createElement(t.p,null,"The illustration above is a ",l.createElement(t.em,null,"Mural.co")," template I created to help my clients understand the necessary separation between the Sprint Backlog tasks and the Product Backlog Kanban Board."),l.createElement(t.ul,null,"\n",l.createElement(t.li,null,l.createElement(t.a,{href:"https://app.mural.co/template/4daaf8e0-5924-4cf7-821d-113a9e57d0ec/6c002f53-26dc-45a5-987a-a76a770d97f4"},"The Mural template can be viewed/copied here.")),"\n",l.createElement(t.li,null,l.createElement(t.a,{href:"https://scrumworks834-my.sharepoint.com/:b:/g/personal/david_betterteams_academy/Eaj5Uv_z6QFGu2rDdJaHw18BvNiC8R70RW0dTwMQzw-hxw?e=CTwF8e"},"Hi-res PDF can be downloaded here.")),"\n"))),"\n",l.createElement(t.h2,{id:"why-does-this-matter"},"Why Does This Matter?"),"\n",l.createElement(t.p,null,"It matters that you measure the right things."),"\n",l.createElement(t.p,null,"If a team measures the Cycle Time of Sprint Backlog tasks, they may observe the illusion of progress while hiding bottlenecks and delays. A team may appear busy, moving Sprint Backlog tasks from ",l.createElement(t.em,null,"Doing")," to ",l.createElement(t.em,null,"Done"),", while the actual delivery of value to customers (the PBIs) could be slow or uneven. By visualizing and limiting the flow of Product Backlog Items (the items that truly matter to stakeholders) Kanban exposes real constraints and encourages the team to optimize for outcomes rather than activity."),"\n",l.createElement(t.p,null,"When blending the ideas of ",l.createElement(t.a,{href:"/articles/2022/08/What-Is-Kanban/"},"Kanban")," with ",l.createElement(t.a,{href:"/articles/2022/08/What-Is-Scrum/"},"Scrum"),", you should want to measure the Cycle Time of value-creating Product Backlog Items, not the tasks of the Sprint Backlog."))}var i=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,n.R)(),e.components);return t?l.createElement(t,e,l.createElement(s,e)):s(e)},c=a(4600),m=a(3235),u=a(4079),d=a(7058),h=a(8457);const p=e=>{let{children:t,pageContext:a}=e;return l.createElement(d.A,{className:"post"},l.createElement("article",null,l.createElement(u.A,{pageContext:a}),l.createElement(c.A,null,t)),l.createElement("article",{className:"alternatecolor"},l.createElement(m.A,{pageContext:a})))},g=e=>{let{location:t,pageContext:a}=e;return l.createElement(h.A,{location:t,pageContext:a})};function b(e){return l.createElement(p,e,l.createElement(i,e))}},7058:function(e,t,a){a(3696);var n=a(239),l=a(2079);t.A=e=>{let{children:t}=e;return(0,l.Y)(n.A,{className:"article"},t)}},8457:function(e,t,a){var n=a(3696),l=a(2079);t.A=e=>{let{location:t,pageContext:a}=e;const{creator:o,description:r,locale:s,siteUrl:i,twitterCreator:c}=a.siteMetadata,{excerpt:m,favicon:u,frontmatter:d,gatsbyImageData:h}=a,p={canonicalUrl:`${i}${(null==t?void 0:t.pathname)||""}`,description:m||r,keywords:d.tags.join(", "),iconPath:u,imagePath:h.images.fallback.src,title:d.title};return(0,l.Y)(n.Fragment,null,(0,l.Y)("link",{rel:"canonical",href:p.canonicalUrl}),(0,l.Y)("link",{rel:"shortcut icon",href:`${p.iconPath}`}),(0,l.Y)("meta",{name:"author",content:o}),(0,l.Y)("meta",{name:"description",content:p.description}),(0,l.Y)("meta",{name:"keywords",content:p.keywords}),(0,l.Y)("meta",{name:"image",content:`${i}${p.imagePath}`}),(0,l.Y)("meta",{itemProp:"description",content:p.description}),(0,l.Y)("meta",{itemProp:"image",content:`${i}${p.imagePath}`}),(0,l.Y)("meta",{itemProp:"name",content:p.title}),(0,l.Y)("meta",{name:"twitter:card",content:"summary"}),(0,l.Y)("meta",{name:"twitter:creator",content:c}),(0,l.Y)("meta",{name:"twitter:description",content:p.description}),(0,l.Y)("meta",{name:"twitter:image",content:`${i}${p.imagePath}`}),(0,l.Y)("meta",{name:"twitter:image:alt",content:p.title}),(0,l.Y)("meta",{name:"twitter:site",content:c}),(0,l.Y)("meta",{name:"twitter:title",content:p.title}),(0,l.Y)("meta",{property:"og:description",content:p.description}),(0,l.Y)("meta",{property:"og:image",content:`${i}${p.imagePath}`}),(0,l.Y)("meta",{property:"og:image:alt",content:p.title}),(0,l.Y)("meta",{property:"og:locale",content:s}),(0,l.Y)("meta",{property:"og:site_name",content:p.title}),(0,l.Y)("meta",{property:"og:title",content:p.title}),(0,l.Y)("meta",{property:"og:type",content:"website"}),(0,l.Y)("meta",{property:"og:url",content:p.canonicalUrl}),(0,l.Y)("title",null,p.title," â ",o))}}}]); 2//# sourceMappingURL=component---gatsby-theme-blog-src-templates-post-js-content-file-path-src-articles-2025-11-does-your-kanban-board-include-sprint-backlog-tasks-you-might-be-doing-it-wrong-mdx-863f0093d3d6fb6f3aef.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.