<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Pawel Brodzinski on Software Project Management</title>
	
	<link>http://blog.brodzinski.com</link>
	<description>Dealing with software projects in real life</description>
	<lastBuildDate>Fri, 18 May 2012 18:17:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SoftwareProjectManagement" /><feedburner:info uri="softwareprojectmanagement" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>SoftwareProjectManagement</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>What Do You Want To Do In Two Years From Now?</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/bpG9cvh6cVw/what-will-you-do-in-two-years.html</link>
		<comments>http://blog.brodzinski.com/2012/05/what-will-you-do-in-two-years.html#comments</comments>
		<pubDate>Fri, 18 May 2012 18:17:37 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[personal development]]></category>
		<category><![CDATA[recruitment]]></category>
		<category><![CDATA[career planning]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2755</guid>
		<description><![CDATA[As a manager of 130-something people I often have these chats on what opportunities people have to grow within the organization. You know, with such crowd you can pretty safely assume that people do want to grow, to change their role, to get promoted. So they eventually land on a sofa in my office to [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/05/what-will-you-do-in-two-years.html" title="Permanent link to What Do You Want To Do In Two Years From Now?"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/leaving.jpg" width="200" height="200" alt="Post image for What Do You Want To Do In Two Years From Now?" /></a>
</p><p>As a manager of 130-something people I often have these chats on what opportunities people have to grow within the organization. You know, with such crowd you can pretty safely assume that people do want to grow, to change their role, to get promoted. So they eventually land on a sofa in my office to discuss their future.</p>
<p>On one hand these discussions are always challenging. I mean we’re discussing here one’s future. That’s a serious matter. On the other most of the time I find it easy to share a flurry of ideas on where someone could push their career.</p>
<p>The context of organization is pretty much set – we know what we do, we roughly know how we do it and we definitely know how, in general, we want to improve it. And yet people often need a lot of guidance to show them what they can do in a couple years from now.</p>
<p>One thing is people often constrain themselves to just the lowest hanging fruit. I’m a developer so the next step is senior developer. Then a tech lead and then a software development manager. Oh so creative. How about business analysis, project management, product management, quality assurance (yes, this one too) or what have you?</p>
<p>While we are going beyond mental constraints, why not running a startup, consulting or freelancing?</p>
<p>Or simply doing the same thing you do and <a href="http://flowchainsensei.wordpress.com/rightshifting/">rightshifting</a> at the same time? Do you really need a new title on a business card to feel fulfilled? Maybe you just like what you already do and the fun comes when you shift toward improved effectiveness?</p>
<p>One could say that having much power it’s easy to come up with different ideas but I do as I preach. I mean I consider myself a leader. My current team has, at the moment, 130ish people. The previous one had 4. Another 35. In each and every of them I was self-developing like crazy. In each role I could imagine myself in a year being in any of others as well as doing a bunch of different things. I didn’t feel constrained either by the current situation or by current organization. These things change very rapidly in IT.</p>
<p>When you are asked a question what you want to do in two year time (and believe me, I ask this question a lot) it’s not a question about current options in your organization but it’s a challenge to your mental constraints.</p>
<p>As simple as that. No one is going to offer you a project management position or their biggest software development division unless they’re convinced you will manage. You won’t convince them using your will solely. You need to know what it takes to do the job, understand different approaches and have a vision of your own path.</p>
<p>My wild-ass guess is that you don’t know all that at the moment. That’s great. Because I’m not going to judge anyone on their current knowledge. I’m going to judge them on their potential and their <a href="http://blog.brodzinski.com/2010/01/become-great-professional.html">urge to learn</a>.</p>
<p>With such attitude you render your mental constraints irrelevant and you don’t need to ask anyone about your options anymore. You know the answer.</p>
<div id="tweetbutton2755" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fwhat-will-you-do-in-two-years.html&amp;via=pawelbrodzinski&amp;text=What%20Do%20You%20Want%20To%20Do%20In%20Two%20Years%20From%20Now%3F&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fwhat-will-you-do-in-two-years.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=bpG9cvh6cVw:14gvFc5dSH4:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=bpG9cvh6cVw:14gvFc5dSH4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/bpG9cvh6cVw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/05/what-will-you-do-in-two-years.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/05/what-will-you-do-in-two-years.html</feedburner:origLink></item>
		<item>
		<title>Slack Time</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/SDfq5S0kFoI/slack-time.html</link>
		<comments>http://blog.brodzinski.com/2012/05/slack-time.html#comments</comments>
		<pubDate>Thu, 10 May 2012 17:48:44 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[continuous improvement]]></category>
		<category><![CDATA[limits]]></category>
		<category><![CDATA[slack time]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2747</guid>
		<description><![CDATA[It often comes to me as a surprise that people misunderstand different concepts or definitions that we use in our writings or presentations. Actually, it shouldn’t. I have to remind myself over and over again that I do exactly the same thing – I start playing with different ideas and only eventually learn that I [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/05/slack-time.html" title="Permanent link to Slack Time"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/lazy.jpg" width="200" height="200" alt="Post image for Slack Time" /></a>
</p><p>It often comes to me as a surprise that people misunderstand different concepts or definitions that we use in our writings or presentations. Actually, it shouldn’t. I have to remind myself over and over again that I do exactly the same thing – I start playing with different ideas and only eventually learn that I misused or misunderstood some definitions.</p>
<p>Anyway, the context that brought me to these thoughts is slack time. When talking about WIP (Work In Progress) limits we often mention slack time and usually even (vaguely) point what slack time is for. However, basing on different conversations I’m having, people rarely get what slack time is when they first hear about it.</p>
<h2>How Slack Time Works</h2>
<p>Let’s start with basics. Imagine a very simple development process: we have backlog which we draw features from, then development and testing and after that we are done. For my convenience I split development stage into two sub-columns: ongoing and done, so we know which task is still under development and which can be pulled to testing.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/simple-kanban-board-1.png"><img class="aligncenter size-full wp-image-2748" title="Kanban Board" src="http://blog.brodzinski.com/wp-content/uploads/simple-kanban-board-1.png" alt="" width="495" height="260" /></a></p>
<p>As you might notice we also have WIP limits that will trigger slack time in our process.</p>
<p>In ideal situation a quality engineer would pull tasks from development done sub-column as soon as anything pops there and even if it won’t happen immediately we have a buffer for one feature in development (two developers and WIP limit of 3 in the column). I have a surprise for you: we don’t live in ideal world and ideal situations happen pretty rarely.</p>
<p>There are two scenarios possible here. One is that developers won’t be able to feed quality engineer with features at rate high enough to keep him busy.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/simple-kanban-board-2.png"><img class="aligncenter size-full wp-image-2749" title="Kanban Board" src="http://blog.brodzinski.com/wp-content/uploads/simple-kanban-board-2.png" alt="" width="483" height="251" /></a></p>
<p>In this situation quality engineer is idle. He just face slack time. He can’t pull another task from queue because it is empty so he needs to find a different task. He may try to help developers with their work (if possible) but he may also learn something new using slack time to <a href="http://blog.brodzinski.com/2007/12/sharpen-saw.html">sharpen his saw</a>. He can also use this time to automate some of his work (and believe me: vast majority apps I saw would benefit heavily from automating some tests) so that the whole process is more effective in future.</p>
<p>Another situation, and the one that is more interesting, would happen when the quality engineer is a bottleneck. It means that he can’t deal with features built by developers at the same rate they are flowing through development.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/simple-kanban-board-3.png"><img class="aligncenter size-full wp-image-2750" title="Kanban Board" src="http://blog.brodzinski.com/wp-content/uploads/simple-kanban-board-3.png" alt="" width="481" height="256" /></a></p>
<p>In this case one of developers who just finished working on a feature has slack time. It is possible that another will soon finish his feature as well and both will be in the same situation. And again, they can use slack time, e.g. to do some refactoring or learn something new or help quality engineer doing his work. However, probably most valuable and at the same moment most desirable thing to do would be finding a way to improve the part of the process that is bottlenecked; here: testing.</p>
<p>The effect might be some kind of automated test suite that reduces effort needed to test any single feature or maybe improvements in code quality policies that result in fewer bugs, thus less rework for each feature.</p>
<h2>What Slack Time Is</h2>
<p>By this point you should already understand when slack time happens and what it is roughly. Let’s try to pack it into some kind of definition then. Slack time happens when any team member for whatever reasons restrains to do the task they would typically do, e.g. a developer doesn’t develop new features. It is used to do other tasks, that usually result in improvements of all sorts.</p>
<p>That’s a bit simplified definition of course. You may ask what if a developer has a learning task every once in a while put into their queue. Well, I would dare to say that it is just planning for learning and not introducing slack time, but we don’t deal here with strict definitions so I could totally agree if others interpret it differently.</p>
<p>Note: we went through two different root causes for slack time emergence. One is when there aren’t enough tasks to feed one of roles. This is something that happens pretty naturally in many teams. If one of roles further downstream is able to process more tasks than roles upstream (in other words: bottleneck is somewhere upstream) they will naturally have moments of slack time.</p>
<p>Some people may argue that this is not slack time and again I can perfectly accept such point of view. However, for me it suits the definition.</p>
<p>Another root cause is when we intentionally limit throughput upstream to protect bottleneck that is somewhere downstream. This case is way more interesting for a couple of reasons. First, it doesn’t happen naturally so conscious action is required to introduce such slack time. Second, for many people introducing slack time there is counterintuitive, thus they resist to do it.</p>
<p>A result of not limiting throughput before a bottleneck is a huge queue of work waiting for availability of bottleneck role, which makes the whole thing only worse. The team has to juggle more tasks at the same time introducing a lot of context switching and crippling own productivity.</p>
<h2>Nature of Slack Time</h2>
<p>One of specific properties of slack time is its emergent nature. We don’t carefully plan slack time as we don’t exactly know when exactly it’s going to happen. It appears whenever our flow becomes unbalanced, which sometimes means all the time.</p>
<p>You can say that slack time is some sort of flow self-balancing mechanism. Whenever team members happen to have this time while they don’t do regular work they are encouraged to do something that improves the flow in future, usually balancing it better. At the same time the more unbalanced the team and the flow are the more slack time there will be.</p>
<p>Remember though that in software development business our flow won’t be stable. Even when you reach equilibrium in one moment it will likely be ruined a moment later when you’re dealing with a special case, be it a non-standard feature, a team member taking a few days off or whatever else.</p>
<p>It means that even in environment which is almost perfectly balanced slack time will be happening. Even better, such state means that you don’t have a fixed bottleneck – it will be flowing between two or more roles, meaning that every role in the team would have slack time on occasions.</p>
<p>Another specific of slack time is that usually we aren’t told what exactly we should do in it. It doesn’t have to be that way in each and every case, however since slack time itself isn’t planned we can hardly plan to complete something during slack time in a reasonable manner. On the other hand there may be some guidance which activities are more desirable.</p>
<p>It means that slack time seems to be a tool for teams that trust each other and are trusted by their leaders. It is true as slack time, thanks to its emergent nature, can’t be managed in command and control manner.</p>
<p>However, for those of you who are control freaks, considering you have sensible WIP limits even if your people do nothing during slack time (and I mean virtually nothing) it should still have positive impact on team’s productivity. This is because <a href="http://blog.brodzinski.com/2012/03/myth-of-100-utilization.html">100% utilization is a myth</a>. Note that in this case you lose self-balancing property of slack time – you don’t improve your flow. You just keep your efficiency on a bit higher level than you would otherwise.</p>
<h2>What Slack Time Is For</h2>
<p>I’ve already mentioned a few ideas what to use slack time for. Let’s try to generalize a bit here. Slack time, by definition, isn’t dedicated to do regular stuff, whatever “regular stuff” might mean in your case. If you think about examples I used and try to find a common part these all are important things: learning, improving team’s toolbox, balancing the flow or improving quality.</p>
<p>At the same time none of them seems to be urgent. It is usually more urgent to complete a project on time (or as soon as possible) than to tweak tools team uses or introduce new quality policies.</p>
<p>In short, slack time is for important and not urgent stuff. If something is urgent it likely is in the plan anyway and if something isn’t important what’s the point of doing it.</p>
<p>If you’re interested in more elaborate version of that please read the post: <a href="http://blog.brodzinski.com/2012/04/what-slack-time-is-for.html">what slack time is for</a>.</p>
<h2>Other Flavors of Slack Time</h2>
<p>When talking about slack time it is easy to notice that there is some ambiguity around this concept. Why unplanned slack time is OK and planned time slots dedicated to the very same tasks are not?</p>
<p>Personally I’m far from being orthodox over definitions. For me the key is understanding why and how slack time works and why it is valuable, so you can achieve similar effects using adjusted or completely different methods.</p>
<p>Considering that a general goal of slack time is improvement you can introduce dedicated time slots for that or include improvement features in your backlog. The effect might be pretty similar and you may feel that you have more control over a process.</p>
<p>What more, you may want to <a href="http://www.noop.nl/2012/04/slack-is-for-optional-stuff-not-for-important-stuff.html">plan for improvement activities</a> not leaving it to the random nature of slack time. Again, that’s fine for me even though personally I wouldn’t call that slack time.</p>
<p>We may argue over naming, whether something already can be called slack time or not, but I’m not going to die for that really. Especially if we agree on purpose of these activities.</p>
<p>I hope this helps to understand the concept of slack time – what it is, how it works and why it is valuable. Should you have any ideas what is missing or wrong here please leave a comment below. I’ll update the post.</p>
<div id="tweetbutton2747" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fslack-time.html&amp;via=pawelbrodzinski&amp;text=Slack%20Time&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fslack-time.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=SDfq5S0kFoI:dNLMvI2_F3w:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=SDfq5S0kFoI:dNLMvI2_F3w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/SDfq5S0kFoI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/05/slack-time.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/05/slack-time.html</feedburner:origLink></item>
		<item>
		<title>Pitfalls of Kanban Series: Abusing WIP Limits</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/3YQQntQ36PA/pitfall-of-kanban-abusing-wip-limits.html</link>
		<comments>http://blog.brodzinski.com/2012/05/pitfall-of-kanban-abusing-wip-limits.html#comments</comments>
		<pubDate>Tue, 08 May 2012 17:36:33 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[limits]]></category>
		<category><![CDATA[pitfalls]]></category>
		<category><![CDATA[problem solving]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2741</guid>
		<description><![CDATA[This is another problem that comes in different colors. It’s either simple acceptation of WIP limits violation, no matter how commonly it happens, or setting WIP limits so high that a team never gets even close. Now, I don’t say that violating WIP limits should be forbidden at all. Pretty far from that. I just [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/05/pitfall-of-kanban-abusing-wip-limits.html" title="Permanent link to Pitfalls of Kanban Series: Abusing WIP Limits"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/pitfall.jpg" width="199" height="200" alt="Post image for Pitfalls of Kanban Series: Abusing WIP Limits" /></a>
</p><p>This is another problem that comes in different colors. It’s either simple acceptation of WIP limits violation, no matter how commonly it happens, or setting WIP limits so high that a team never gets even close.</p>
<p>Now, I don’t say that violating WIP limits should be forbidden at all. Pretty far from that. I just say that if it is a common thing it basically means that you have no limits at all. The same is with too loose WIP limits – it means no limits at all. It’s always a matter of balance: when and why you accept to violate WIP limits.</p>
<p>I point this issue high on my list as basically not using WIP limits means that you voluntarily resign from the biggest gain you can get out of introducing Kanban – the rate of improvements and changes you introduce in the team is way slower. It is so because WIP limits are a mechanism that incentivize people to change their behavior (they would normally do one thing but they can’t as it would mean violating WIP limit so they do another). Without changing behaviors most changes are quickly rolled back to what people know and feel comfortable with.</p>
<p>When you start thinking about the issue it may be a very complex one and as such may be approached from different directions. One thing which is pretty obvious: make abusing WIP limits painful. I don’t mean here physically painful of course, but add enough hassle that people would think twice before doing it.</p>
<p>A neat trick I used was that every time someone wanted to violate WIP limit they had to organize a meeting with a team and tell everyone why they’re doing so. First, organizing a meeting, even an ad-hoc one, takes some time which you may use to rethink whether this is really needed. Second, you want to have pretty damn good reason to share as everyone will like to know why you’re breaking the rule. Actually, if you could come up with good argument you probably had a point in violating a limit anyway. You can use other similar methods as well, but basically the goal would be the same – to make abusing limits reasonably uncomfortable.</p>
<p>Different approach will be needed to deal with unreasonably high WIP limits. A thing that may come handy in such case is <a href="http://blog.brodzinski.com/2012/04/how-much-wip.html">measuring WIP over a period of time</a>. It is an interesting observation but some teams believe that they actually have more WIP than they really do. In such case once you’ve measured your work in progress you shouldn’t be scared of limits. Even more, your initial decisions on WIP limits will be informed.</p>
<p>Another idea is to reduce WIP limits periodically to see what will happen. Eventually the team would find their sweet spots, where limits are tight enough so that they’re incentivized to improve but loose enough that the inconvenience of having WIP limits is acceptable. It is like playing <a href="http://availagility.co.uk/2011/07/19/running-the-ball-flow-game/">ball flow game</a>, but on the real work done in a real team.</p>
<p>Check the other <a href="http://blog.brodzinski.com/2012/04/pitfalls-of-kanban.html">pitfalls of Kanban</a> as well.</p>
<address style="text-align: left; padding-left: 30px;"><span style="font-size: 85%;"><strong>Advertisement:</strong> Infragistics® NetAdvantage® for Windows Forms provides developers with flexible, advanced controls to rapidly build high-fidelity <a href="http://www.infragistics.com/dotnet/netadvantage/winforms.aspx" target="_blank">Windows Forms application</a> user interfaces “IN” style with the look and feel of Microsoft® Office® 2010 and Windows® 7. It Features every control developers need to deliver superior user experiences with stability, performance and robustness.</span></address>
<p>&nbsp;</p>
<div id="tweetbutton2741" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fpitfall-of-kanban-abusing-wip-limits.html&amp;via=pawelbrodzinski&amp;text=Pitfalls%20of%20Kanban%20Series%3A%20Abusing%20WIP%20Limits&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fpitfall-of-kanban-abusing-wip-limits.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=3YQQntQ36PA:9Gm2BH62D84:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=3YQQntQ36PA:9Gm2BH62D84:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/3YQQntQ36PA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/05/pitfall-of-kanban-abusing-wip-limits.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/05/pitfall-of-kanban-abusing-wip-limits.html</feedburner:origLink></item>
		<item>
		<title>The Project Portfolio Kanban Story: Better Board</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/aNgUxFWPGs4/project-portfolio-kanban-better-board.html</link>
		<comments>http://blog.brodzinski.com/2012/05/project-portfolio-kanban-better-board.html#comments</comments>
		<pubDate>Tue, 01 May 2012 17:30:03 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[kanban board]]></category>
		<category><![CDATA[limits]]></category>
		<category><![CDATA[portf]]></category>
		<category><![CDATA[portfolio management]]></category>
		<category><![CDATA[visualization]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2710</guid>
		<description><![CDATA[When applying Kanban on project portfolio level you’re dealing with different challenges than in case of standard Kanban implementation on a team level (if there even is such a thing). Both the flow dynamics and task granularity is very different, thus you need to focus on different aspects when designing Kanban board. This is basically [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/05/project-portfolio-kanban-better-board.html" title="Permanent link to The Project Portfolio Kanban Story: Better Board"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/kanban.jpg" width="200" height="200" alt="Post image for The Project Portfolio Kanban Story: Better Board" /></a>
</p><p>When applying Kanban on project portfolio level you’re dealing with different challenges than in case of standard Kanban implementation on a team level (if there even is such a thing). Both the flow dynamics and task granularity is very different, thus you need to focus on different aspects when designing Kanban board.</p>
<p>This is basically why typical Kanban board design will often be suboptimal.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/portfolio-kanban-2.png"><img class="aligncenter size-medium wp-image-2660" title="portfolio kanban 2" src="http://blog.brodzinski.com/wp-content/uploads/portfolio-kanban-2-400x257.png" alt="Portfolio Kanban Board 2" width="400" height="257" /></a></p>
<p>At the same time the biggest challenge you face on project portfolio level is <a href="http://blog.brodzinski.com/2012/04/project-portfolio-kanban-standard-board-not-good.html">defining and applying WIP limits</a>. For the time being my thoughts on a subject are that depending on a specific environment teams would be choosing very different measures to manage WIP on portfolio level. However, as we as a community still lack experience from addressing different scenarios I’ll focus on the path I’m following. After all the story format I chose requires that.</p>
<p>In my case the most reasonable thing I was able to come up with was a number of people involved in project work. Unfortunately the scale of the team (more than 130 people) didn’t allow me to use straightforward approach and scale up WIP limits with numbers.</p>
<p>Instead of continuing my struggle to find a perfect measure that suits the current board I decided to redesign it completely.</p>
<p>Whenever you read about Kanban you learn that it is an <em>evolutionary</em> approach. Kaizen and all the stuff. However one advice I have on designing a Kanban board in general is that when you start running circles with board evolution and see little or no improvements throw the whole board out and start from scratch. From one point of view it can be considered a revolution (<a href="http://blog.brodzinski.com/2010/12/difficult-big-changes.html">kaikaku</a>) but from another: you don’t really change your way of working, you just try to visualize it differently.</p>
<p>Either way I took my own advice and started from a clean whiteboard. I also remembered another advice: <a href="http://blog.brodzinski.com/2011/11/standard-kanban-board.html">not to stick to standard board designs</a>. This is what I ended up with.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/portfolio-kanban-3.png"><img class="aligncenter size-medium wp-image-2711" title="portfolio kanban 3" src="http://blog.brodzinski.com/wp-content/uploads/portfolio-kanban-3-400x251.png" alt="" width="400" height="251" /></a></p>
<p>First, there is no value stream or process in a way we understand it on a team level. Since the flow of index cards wasn’t dynamic I decided this isn’t information I should focus on that much.</p>
<p>Second, on horizontal axis, instead of process there is a time line (monthly granularity). As variability of project sizes is huge I decided I need some sort of time boxes which I measure WIP against. With very few small engagements, ones that take us less than a few weeks, monthly time boxes looked reasonable.</p>
<p>Third, I created swim lanes for teams. We don’t have 130 generic engineers, or Average Full-Time Equivalents, or whatever other inhumane label you can think of. We have teams that we strive to protect and teams do have specializations. It means the context of a team is very important and if it is important it goes to the board, thus swim lanes.</p>
<p>Fourth, having such board construction I had to change my approach to index cards. Instead of having a single index card representing single project I ended up with territory-driven approach. A project covers a territory both in terms of team(s) and time. Looking at index cards with a project name you can instantly guess which team is working on the project and how long it’s going to take them. And the best part: a size of index card in any given month represents roughly how big part of a team would be involved in work on a project. This way we can easily show a few smaller projects as well as on big or any combination of those two.</p>
<p>Fifth, as one of Kanban base concepts is pull it is represented by backlog area – green cards on the left side of the board. These are projects that aren’t yet started. The specific swim lane they are neighboring show preferable team to work on a project. However, it rarely is such a direct dependency: this team will do the project as there is no other one suitable to do the job. Most of the time we assume that another team can build the project too. Each time a project goes into development we decide, at last responsible moment, which team will take it.</p>
<p>Of course there are some nice additional flavors here as well. Violet and yellow index cards differentiate maintenance projects from new ones. Green card are for projects that aren’t yet started and once they are we switch to yellow. Red index cards represent overrun in projects that are late. As we work on fixed price, fixed time projects we roughly know up front how much time and people we want to invest into a project. When something bad happens and this plan changes we show that. After all we put more attention to challenged projects.</p>
<p>A simple fact that we are working on fixed time, fixed price projects doesn’t mean our arrangements never change. They do. Any time something changes we just update it on the board, same as we’d do with any other board. We just keep the board updated as other way its value would diminish.</p>
<p>This Kanban board design definitely tells more than the initial one but I started this whole revolution to deal with WIP limits. What with them?</p>
<p>Well, there still aren’t explicit WIP limits. However at this moment there are implicit WIP limits and information about them can be pretty easily extracted. Considering that I use territory-driven approach to index cards WIP limit is show by vertical axis of the board. Each team has a limit of one full-sized sticky note (representing whole team) per month which can be split in any way.</p>
<p>In other words we won’t start another project unless there’s some white space that this project would fit into as white space represents our spare capabilities. Actually, it may be a bit of simplification as on rare occasions there are project we just start, no matter what. But even then we either can make such project fit the white space in a reasonable way or we need to make some more white space for it.</p>
<p>Even though such WIP limits aren’t explicit, after some time of working with the board I can tell you they do the job. They do, not only in pulling new projects into development but also, and more importantly, in long-term planning as we have visibility a year ahead and can confront our capabilities with planned sales etc.</p>
<p>With this board, for the first time from the beginning of my journey with project portfolio Kanban I felt satisfied.</p>
<p>See how we come up to this point – read <a href="http://blog.brodzinski.com/2011/11/project-portfolio-kanban.html">the whole story</a>.</p>
<address style="text-align: left; padding-left: 30px;"><span style="font-size: 85%;"><strong>Advertisement:</strong> Infragistics® NetAdvantage® for Windows Phone gives you rich, innovative <a href="http://www.infragistics.com/dotnet/netadvantage/windows-phone.aspx" target="_blank">mobile UI controls</a> to build high-end mobile user experiences for Microsoft® Windows Phone®. Their high performance, eye-catching data visualizations, mobile form factor optimization, touch gesture support, and alignment with Metro usability guidelines take your social media connected mobile applications to the next level.</span></address>
<p>&nbsp;</p>
<div id="tweetbutton2710" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fproject-portfolio-kanban-better-board.html&amp;via=pawelbrodzinski&amp;text=The%20Project%20Portfolio%20Kanban%20Story%3A%20Better%20Board&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F05%2Fproject-portfolio-kanban-better-board.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=aNgUxFWPGs4:ZQp5kJNligI:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=aNgUxFWPGs4:ZQp5kJNligI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/aNgUxFWPGs4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/05/project-portfolio-kanban-better-board.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/05/project-portfolio-kanban-better-board.html</feedburner:origLink></item>
		<item>
		<title>Pitfalls of Kanban Series: Kanban Board Not Up To Date</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/S4Ja_hDpBa8/pitfalls-of-kanban-board-not-up-to-date.html</link>
		<comments>http://blog.brodzinski.com/2012/04/pitfalls-of-kanban-board-not-up-to-date.html#comments</comments>
		<pubDate>Thu, 26 Apr 2012 17:21:54 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[kanban board]]></category>
		<category><![CDATA[pitfalls]]></category>
		<category><![CDATA[problem solving]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2736</guid>
		<description><![CDATA[This is something I see very often and at least in a couple of flavors. The problem can be a team member who haven’t really bought the whole thing and see little value in updating all these stickies on the board every time something changes. It can be more a whole team’s thing – Kanban [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/04/pitfalls-of-kanban-board-not-up-to-date.html" title="Permanent link to Pitfalls of Kanban Series: Kanban Board Not Up To Date"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/pitfall.jpg" width="199" height="200" alt="Post image for Pitfalls of Kanban Series: Kanban Board Not Up To Date" /></a>
</p><p>This is something I see very often and at least in a couple of flavors. The problem can be a team member who haven’t really bought the whole thing and see little value in updating all these stickies on the board every time something changes. It can be more a whole team’s thing – Kanban implementation has its leader, or a champion, and when they have a day off suddenly the board starts to deteriorate as people don’t feel pushed or obligated to update anything.</p>
<p>On a side note: I would put it on the same shelf in my mind as when Scrum teams don’t do daily stand-ups when a leader is out.</p>
<p>This issue is tricky as it doesn’t seem to be much harmful but, if tolerated, it basically renders the whole Kanban implementation useless. The first step we do with Kanban is we visualize all the work. Basing on that we make informed project decisions every single day (with help of WIP limits, explicit policies etc.)</p>
<p>Now, if the board isn’t up to date these decisions are made on a basis which doesn’t reflect the reality. We may violate the limits or cease to help a colleague with a critical issue not even knowing about that. This way, not only do we make suboptimal everyday decisions but we also cripple the biggest power of Kanban – its improvement mechanism.</p>
<p>Potential solutions of this problem depend on what flavor of the problem you face. If it is a single person you can work with them to convince them there is value in updated board for them too. You can also ask them to give everyone in the team a credit of trust and give a method a try for a few weeks or a couple of months. It usually is enough to turn them back into the light side of the force.</p>
<p>However, in the worst case scenario you last resort may be setting up a proxy who updates the board instead of a problematic person. It will be a hit on team’s morale (<em>“we have someone who is treated differently”</em>) but it’s a tradeoff some teams are willing to make. Especially that, eventually such person either changes their behavior or leaves a team.</p>
<p>If we think of a whole group not updating the board it is a signal that there’s little or no <a href="http://blog.brodzinski.com/2010/07/team-buy-in.html">buy-in</a> for the idea. Unless this can be changed most likely the Kanban implementation is doomed.</p>
<p>The way of getting team’s buy-in will of course depend on people. However, I find it pretty successful to ask the group to give the method a try. Of course considering there is a problem I believe Kanban can help to fix quickly. Thanks to simplicity of Kanban it doesn’t cost much hassle to “<a href="http://www.imdb.com/title/tt0080684/quotes?qt=qt0358485">try it</a>” and pretty often first results are rather quick as almost always teams have some low-hanging fruits in terms of improvements they can make – quick wins they just aren’t aware of.</p>
<p>Read the whole <a href="http://blog.brodzinski.com/2012/04/pitfalls-of-kanban.html">Pitfalls of Kanban series</a>.</p>
<div id="tweetbutton2736" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fpitfalls-of-kanban-board-not-up-to-date.html&amp;via=pawelbrodzinski&amp;text=Pitfalls%20of%20Kanban%20Series%3A%20Kanban%20Board%20Not%20Up%20To%20Date&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fpitfalls-of-kanban-board-not-up-to-date.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=S4Ja_hDpBa8:5izlQDR2C2Q:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=S4Ja_hDpBa8:5izlQDR2C2Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/S4Ja_hDpBa8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/04/pitfalls-of-kanban-board-not-up-to-date.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/04/pitfalls-of-kanban-board-not-up-to-date.html</feedburner:origLink></item>
		<item>
		<title>Pitfalls of Kanban Series</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/KrdYmqisM6Y/pitfalls-of-kanban.html</link>
		<comments>http://blog.brodzinski.com/2012/04/pitfalls-of-kanban.html#comments</comments>
		<pubDate>Thu, 26 Apr 2012 17:20:15 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[pitfalls]]></category>
		<category><![CDATA[problem solving]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2733</guid>
		<description><![CDATA[One of tricks I sometimes use when coaching teams that are starting with Kanban is I tell them why they shouldn’t adopt it. Challenging the team in such way helps me to indicate whether there is buy in as this is crucial thing to deal with issues the team will face. I do that knowing [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/04/pitfalls-of-kanban.html" title="Permanent link to Pitfalls of Kanban Series"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/pitfall.jpg" width="199" height="200" alt="Post image for Pitfalls of Kanban Series" /></a>
</p><p>One of tricks I sometimes use when coaching teams that are starting with Kanban is I tell them why they <em>shouldn’t</em> adopt it. Challenging the team in such way helps me to indicate whether there is <a href="http://blog.brodzinski.com/2010/07/team-buy-in.html">buy in</a> as this is crucial thing to deal with issues the team will face.</p>
<p>I do that knowing that, thanks to its flexibility, Kanban is pretty vulnerable and even a single team member may cripple Kanban implementation, thus vastly reducing value the whole team gets from adopting the method. Besides getting buy in having knowledge of these potential vulnerabilities can be a game-changer as then the team can avoid them.</p>
<p>This was the idea which stood behind my session titled <a href="http://blog.brodzinski.com/2011/10/when-kanban-fails.html">Kanban weak spots</a> which I presented at <a href="http://blog.brodzinski.com/2011/10/lean-kanban-central-europe-2011-thought-impressions.html">Lean Kanban Central Europe</a> last year.</p>
<p>Recently <a href="http://agilemanagement.net/">David Anderson</a> started an email discussion that inspired me to write a follow-up on the subject. As I was typing an answer to David’s questions I realized that it would be worthwhile to discuss each and every pitfall in details, covering reasons why it may appear and tools that can be used to deal with it.</p>
<p>And this is how the idea of this series was born. You can expect a number of posts covering just a single Kanban weak spot. The whole list will be gathered here:</p>
<ul>
<li><a href="http://blog.brodzinski.com/2012/04/pitfalls-of-kanban-board-not-up-to-date.html">Kanban Board Not Up To Date</a></li>
<li><a href="http://blog.brodzinski.com/2012/05/pitfall-of-kanban-abusing-wip-limits.html">Abusing WIP Limits</a></li>
</ul>
<div id="tweetbutton2733" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fpitfalls-of-kanban.html&amp;via=pawelbrodzinski&amp;text=Pitfalls%20of%20Kanban%20Series&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fpitfalls-of-kanban.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=KrdYmqisM6Y:oz_VFaUlShU:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=KrdYmqisM6Y:oz_VFaUlShU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/KrdYmqisM6Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/04/pitfalls-of-kanban.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/04/pitfalls-of-kanban.html</feedburner:origLink></item>
		<item>
		<title>You Can Deliver Late</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/1kHN-9aYG3s/you-can-deliver-late.html</link>
		<comments>http://blog.brodzinski.com/2012/04/you-can-deliver-late.html#comments</comments>
		<pubDate>Tue, 24 Apr 2012 17:03:14 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[project management]]></category>
		<category><![CDATA[missed deadlines]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2729</guid>
		<description><![CDATA[It is a problem that never really goes away. You build your app and at the beginning everything seems to be as planned. Suddenly you realize you are late. For the sake of this post it doesn’t really matter whether late means 6 more months in 18-month long project or a day in a week-long [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/04/you-can-deliver-late.html" title="Permanent link to You Can Deliver Late"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/time.jpg" width="200" height="200" alt="Post image for You Can Deliver Late" /></a>
</p><p>It is a problem that never really goes away. You build your app and at the beginning everything seems to be as planned. Suddenly you realize you are late. For the sake of this post it doesn’t really matter whether late means 6 more months in 18-month long project or a day in a week-long sprint. Either way you realize you won’t make it.</p>
<p>Then, people go crazy.</p>
<p>Depending on team’s maturity you will notice a range of different behaviors. Anything from cutting corners on quality (<em>“we have this buffer here we can use – it is called functional testing”</em>), through abandoning best practices (<em>“maybe we hit the window if we skip writing unit tests”</em>), cheating client (<em>“let’s deploy and we’ll be building the rest while they’re testing”</em>), throwing features out (<em>“oh, they are just saying it is crucial, they’ll manage without this feature and otherwise we won’t make it by the deadline”</em>), to working team’s butts off beyond any limits (<em>“hey guys, I know it’s the fifth weekend in a row, but we need to finish it and we aren’t anywhere close”</em>).</p>
<p>I have a question for you: <strong>how often do you consider being late as a viable option?</strong></p>
<p>My wild-ass guess answer: <strong>way too rarely</strong>.</p>
<p>I mean, how many times in your life have you worked on a system that really had a deadline written in the stone? How many times there would be deadly serious consequences for your users and/or clients if you were late. Not tragically, hopelessly, beyond-any-recovery late, but simply late. Like a day every couple of weeks or a month every year.</p>
<p>Personally I worked on such project only once. We were adjusting ERP system to new law after Poland joined EU. Deadline: May 1, 2004.</p>
<p>Guess what. We were late. A week. And then, like hours after we released we found a bug which basically got medieval on the database. Almost another week to publish a hotfix that made the software usable again. And you know what? Nothing happened. The sun rose again, the moon was there at night, we didn’t lose our jobs, and our clients didn’t lose theirs. It was OK.</p>
<p><strong>It was OK, even though we missed the deadline that actually was written in the stone.</strong></p>
<p>Well, if we missed it by a couple of months we would probably be out of business but still, a couple of weeks were sort of acceptable.</p>
<p><strong>You can miss your deadlines too.</strong> They aren’t going to kill you for that I guess. And yes, I am well aware that being a supervisor of a dozen project teams it is unlikely that I am expected to state such opinions so openly.</p>
<p>Yet still I believe that the price we pay for being on time when it can’t happen on reasonable terms more often than not is bigger than any value we might get by hitting the window. And talking about price I think about dollars, euros or whatever currency is on your paycheck. Actually most of the time we pay for decisions mentioned at the beginning of this post long way after the deadline passed. <strong>We pay in maintenance cost, we pay in discouraged users that can’t really use the app, and we pay in burned-out teams.</strong></p>
<p>So next time you’re going to make your call, consider this: you can be late. Even more, most of the time, being late is fairly OK.</p>
<address style="text-align: left; padding-left: 30px;"><span style="font-size: 85%;"><strong>Advertisement:</strong> Infragistics® NetAdvantage® for jQuery expands the reach of your web applications by using the NetAdvantage <a href="http://www.infragistics.com/dotnet/netadvantage/jquery-controls.aspx" target="_blank">jQuery controls</a> that are cross browsers, cross platforms and cross devices supported. This fully client-side JavaScript &amp; HTML5 based toolset is equipped with Line of Business UI applications needs with rich interactive dash boarding <a href="http://www.infragistics.com/dotnet/netadvantage/jquery-controls/hierarchical-grid.aspx" target="_blank">charts in HTML5</a>.</span></address>
<p>&nbsp;</p>
<div id="tweetbutton2729" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fyou-can-deliver-late.html&amp;via=pawelbrodzinski&amp;text=You%20Can%20Deliver%20Late&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fyou-can-deliver-late.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=1kHN-9aYG3s:F5iuYEHMQtk:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=1kHN-9aYG3s:F5iuYEHMQtk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/1kHN-9aYG3s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/04/you-can-deliver-late.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/04/you-can-deliver-late.html</feedburner:origLink></item>
		<item>
		<title>The Project Portfolio Kanban Story: Why Standard Board Design Is Not a Good Choice</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/vHATd9EuJok/project-portfolio-kanban-standard-board-not-good.html</link>
		<comments>http://blog.brodzinski.com/2012/04/project-portfolio-kanban-standard-board-not-good.html#comments</comments>
		<pubDate>Fri, 20 Apr 2012 20:43:21 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[capability]]></category>
		<category><![CDATA[kanban board]]></category>
		<category><![CDATA[limits]]></category>
		<category><![CDATA[portfolio management]]></category>
		<category><![CDATA[project portfolio]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2706</guid>
		<description><![CDATA[When I was starting my journey with Kanban on project portfolio level I based on a classic board design I knew from my work with Kanban within project teams. I basically tried to map value stream to the board but on a different level. The effect was sort of predictable. It was also naive. The [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/04/project-portfolio-kanban-standard-board-not-good.html" title="Permanent link to The Project Portfolio Kanban Story: Why Standard Board Design Is Not a Good Choice"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/kanban.jpg" width="200" height="200" alt="Post image for The Project Portfolio Kanban Story: Why Standard Board Design Is Not a Good Choice" /></a>
</p><p>When I was starting my journey with <a href="http://blog.brodzinski.com/2011/11/project-portfolio-kanban.html">Kanban on project portfolio level</a> I based on a classic board design I knew from my work with <a href="http://blog.brodzinski.com/2009/10/kanban-story.html">Kanban within project teams</a>. I basically tried to map value stream to the board but on a different level.</p>
<p>The effect was sort of predictable.</p>
<p><a href="http://blog.brodzinski.com/wp-content/uploads/portfolio-kanban-2.png"><img class="aligncenter size-medium wp-image-2660" title="portfolio kanban 2" src="http://blog.brodzinski.com/wp-content/uploads/portfolio-kanban-2-400x257.png" alt="Portfolio Kanban Board 2" width="400" height="257" /></a></p>
<p>It was also naive.</p>
<p>The basic strength of such design is it’s very intuitive. Well, at least for these parts of the world that read from left to right. The same way we read the board: whatever is closer to the right edge of the board is closer to completion. The value stream we map may be a bit simplified (as me make it linear) but then it isn’t that much of a problem – after all index cards are flowing through the board pretty smoothly.</p>
<p>Unless you put on single index cards “tasks” that last a year or more, which is exactly what I have done.</p>
<p>When you’re looking at very long lasting projects you look for different information than in case of several hour long tasks. <strong>It isn’t that important how an index card is flowing through the board.</strong> After all you expect it to sit in one place for months. If you find out that the status of the index card has changed a few days late it likely isn’t a problem at all.</p>
<p><strong>It is way more important, and interesting at the same time, to see teams’ capabilities in terms of undertaking new projects, i.e. how much more we can commit to our clients.</strong> Note: we aren’t talking about a single team of 7 (plus or minus 2). What we have here is 100+ people working on a couple dozen different projects concurrently. At this level capabilities are pretty damn difficult to estimate, especially given ever-changing business surroundings.</p>
<p>This is a huge weakness of the common board design: it doesn’t really help you with estimating free capabilities. It would help if we were able to set reasonable WIP limits on such board. Unfortunately, it is (close to) impossible.</p>
<p>A number of projects isn’t a good candidate to measure WIP, as projects differ in size hugely. If you use time-boxing you could try using a number of time-boxes as a measure. However in this case you don’t want to have a random team working on thirteenth iteration of a project that was build so far by the other team. With WIP limits measured by the number of iterations you would likely end up this way. Another idea was using money-related measures. This brings a question whether you sell all your work for the same prices. I guess that is true in very few cases and definitely mine is not one of them.</p>
<p>The longer I thought about it the more often I was coming back to people. I mean a team could start another project if they had some free people who could deal with it in planned/expected time frame. I even thought for a moment of setting base WIP limit around 130 (roughly a number of people working on projects represented on the board) and having each index card to weigh as much as there were people involved in a project at the time. The problem was the hassle needed to manage such board would be horrifying.</p>
<p>On the other hand measuring WIP in number of teams was way too coarse-grained as we had anything from multiple projects covered by a single team to multiple teams working on a single project.</p>
<p>All in all I ended up with a belief that, in terms of project portfolio Kanban, standard board design isn’t a good choice. I was ready to redesign the board completely.</p>
<p>If I piqued your interest read the whole <a href="http://blog.brodzinski.com/2011/11/project-portfolio-kanban.html">project portfolio Kanban story</a>.</p>
<div id="tweetbutton2706" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fproject-portfolio-kanban-standard-board-not-good.html&amp;via=pawelbrodzinski&amp;text=The%20Project%20Portfolio%20Kanban%20Story%3A%20Why%20Standard%20Board%20Design%20Is%20Not%20a%20Good%20Choice&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fproject-portfolio-kanban-standard-board-not-good.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=vHATd9EuJok:_RHTJ5C9VMQ:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=vHATd9EuJok:_RHTJ5C9VMQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/vHATd9EuJok" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/04/project-portfolio-kanban-standard-board-not-good.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/04/project-portfolio-kanban-standard-board-not-good.html</feedburner:origLink></item>
		<item>
		<title>How Much Work In Progress Do You Have?</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/YeboS9OYW74/how-much-wip.html</link>
		<comments>http://blog.brodzinski.com/2012/04/how-much-wip.html#comments</comments>
		<pubDate>Tue, 17 Apr 2012 19:51:13 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[kanban]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[limits]]></category>
		<category><![CDATA[WIP]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2702</guid>
		<description><![CDATA[One of common patterns of adopting Kanban is that teams start just with visualization and, for whatever reasons, resist applying Work In Progress limits at the very beginning. While, and let me stress it, resignation from introducing WIP limits means drawing most of improvement power out of the system I understand that many teams feel [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/04/how-much-wip.html" title="Permanent link to How Much Work In Progress Do You Have?"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/kanban.jpg" width="200" height="200" alt="Post image for How Much Work In Progress Do You Have?" /></a>
</p><p>One of common patterns of adopting Kanban is that teams start just with visualization and, for whatever reasons, resist applying Work In Progress limits at the very beginning. While, and let me stress it, resignation from introducing WIP limits means drawing most of improvement power out of the system I understand that many teams feel safe to start this way.</p>
<p>If you are in such point, or even a step earlier, when you’re just considering Kanban but haven’t yet started, and you are basically afraid of limits I have a challenge for you. Well, even if you use WIP I have the very same challenge.</p>
<p>First, think of limits you might want to have.</p>
<p>Second, measure how the tasks flow through your process. It’s enough to write down the date when you start working on a task and the date when you’re done with it – the difference would give you a cycle time.</p>
<p>Third, after some time, check how many tasks in progress you really had every day. <strong>In other words: check what your WIP was.</strong></p>
<p>Odds are you will be surprised.</p>
<p>One of my teams followed the <em>“let’s just start with visualization and we’ll see how it goes”</em> path. We even discussed WIP limits but eventually they weren’t applied. It is a functional team of 4 that juggles tasks which are pretty often blocked by their “clients,” i.e. beyond team’s control. The process, besides backlog and done bucket, is very simple: there’s only one column – ongoing.</p>
<p>The discussion ended up with the idea of limit of 8, considering there are some rather longish tasks mixed with quite a few short but urgent tasks, e.g. <em>“needs to be done today”</em> sort, and of course there are frequent blockers. In other words rough limits two tasks per person should account for all the potential issues.</p>
<p>As I’ve mentioned, WIP limits weren’t initially set. Even the WIP limit of 8 looked too scary at that point. After a few months we came back to the discussion. Fortunately, this time we had hard data from a hundred days.</p>
<p>Guess what the worst WIP was.</p>
<p>Seven. Over the course of a hundred days there wasn’t a single case that the scary limit of 8 was reached, let alone violated. What more, there were only 5 days where limit was higher than 6. In other words setting the limit of 6 and keeping it would be no sweat. A challenge starts at 5, which sounds very reasonable for such team.</p>
<p>All of that considering that each and every blocked item was counted within the limit as at the moment the team doesn’t gather the data to show how long a task remains blocked.</p>
<p><strong>The lesson I got was that we can and should challenge our WIP limits basing on historical data.</strong> How often we hit WIP limits. How often we violate them. If it appears that we have enough padding that we barely scratch the ceiling on rare occasions it is a time to discuss reducing WIP limits. After all, it might mean that we are pursuing <a href="http://blog.brodzinski.com/2012/03/myth-of-100-utilization.html">100% utilization</a>, which is bad.</p>
<p><strong>If WIP limits are barely and rarely painful, they aren’t working.</strong></p>
<div id="tweetbutton2702" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fhow-much-wip.html&amp;via=pawelbrodzinski&amp;text=How%20Much%20Work%20In%20Progress%20Do%20You%20Have%3F&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Fhow-much-wip.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=YeboS9OYW74:vwIOaIdtsQQ:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=YeboS9OYW74:vwIOaIdtsQQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/YeboS9OYW74" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/04/how-much-wip.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/04/how-much-wip.html</feedburner:origLink></item>
		<item>
		<title>Instant Feedback Culture</title>
		<link>http://feedproxy.google.com/~r/SoftwareProjectManagement/~3/qXljXLfqnGM/instant-feedback-culture.html</link>
		<comments>http://blog.brodzinski.com/2012/04/instant-feedback-culture.html#comments</comments>
		<pubDate>Thu, 12 Apr 2012 21:48:51 +0000</pubDate>
		<dc:creator>Pawel Brodzinski</dc:creator>
				<category><![CDATA[communication]]></category>
		<category><![CDATA[team management]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[performance appraisal]]></category>

		<guid isPermaLink="false">http://blog.brodzinski.com/?p=2698</guid>
		<description><![CDATA[There is said a lot about feedback. We continuously learn how important it is and how to deliver it in constructive way. Yet still, for many of us, me included, delivering feedback is difficult. I already hear you nodding your heads and saying “yes, especially critical feedback is a hard part.” Well, no. Not at [...]]]></description>
			<content:encoded><![CDATA[<p><a class="post_image_link" href="http://blog.brodzinski.com/2012/04/instant-feedback-culture.html" title="Permanent link to Instant Feedback Culture"><img class="post_image alignright" src="http://blog.brodzinski.com/wp-content/uploads/decision.jpg" width="200" height="200" alt="Post image for Instant Feedback Culture" /></a>
</p><p>There is said a lot about feedback. We continuously learn how important it is and how to deliver it in constructive way. Yet still, for many of us, me included, delivering feedback is difficult.</p>
<p>I already hear you nodding your heads and saying <em>“yes, especially critical feedback is a hard part.”</em></p>
<p>Well, no. Not at all.</p>
<p>I mean when it comes to critical feedback we happen to fail to do it constructively, but at least we do it. Positive (supportive or however you want to call it) is a different animal though. It’s easier to do it constructively. The problem is every now and then we forget to do it at all.</p>
<p>But I have a solution. Yay!</p>
<p>It is totally simple. That’s a good part. Unfortunately there’s also bad news for you. Prerequisites are difficult to achieve.</p>
<p>OK, the method. I call it <strong>instant feedback culture</strong>. Why culture? Well, it is the part of organizational culture. The rest is pretty self-explanatory – <strong>you deliver feedback instantly</strong>. Has someone just said or done something you want to comment on in either a positive or a negative way? Use the Nike way: just do it. Do it instantly or almost instantly. Why “almost?” Um, not all the feedback you want to deliver publicly and the situation or behavior you have feedback on might have happened in a big group.</p>
<p>You don’t keep it for later, for dreadful performance appraisal or something. You don’t wait until you forget it, which is by far the most common thing to happen. <strong>In some way you just get it out of the chest.</strong></p>
<p>Simple enough, isn’t it?</p>
<p>Now the hard part. Prerequisites.</p>
<p>First, <strong><a href="http://blog.brodzinski.com/2010/04/trust-isnt-measurable.html">trust</a></strong>. Unless you all trust each other it won’t happen. OK, it may happen partially, between people who trust each other, even if you can’t say that virtually everyone trusts anyone else. However, bear in mind that it’s like with number communication paths: between two people, there is one, between three there are there, with four people you have 6, etc. It doesn’t scale up linearly but exponentially. And the more people you get on trust side the more value they get out of instant feedback culture.</p>
<p>Second, <strong>openness</strong>. It works both ways: one has to be ready to honestly share what they think and on the other side they need to accept an incoming message. I don’t have to to agree uncritically with it, let alone doing something about it, but I should accept and appreciate someone cared enough to share it.</p>
<p>Doesn’t look difficult? Believe me, it is. Actually if you asked me what is a single biggest challenge in leading teams I will point building trust as it is totally intangible, yet crucial to get this entity called “a team” working.</p>
<p>Anyway, considering you’re doing great and these prerequisites aren’t an issue for you, introducing instant feedback culture should be a piece of cake. <strong>Just remember to share every little bit of feedback instantly.</strong> Don’t wait until it fades away to oblivion. Don’t wait till there is an occasion because by this time it can be totally irrelevant or meaningless. Start sharing your feedback instantly and do it consistently.</p>
<p>Others will follow. After all we like to receive feedback, especially a pleasant part of it. This way we get relevant feedback and get it quickly so it actually is easy to do something about the thing which is under discussion. Either do more of it (if a feedback is supportive) or change it (it it’s not).</p>
<p>Soon you will see feedback flying all around in different directions and people, armed with new knowledge, will be improving much faster.</p>
<p>So go, try introducing instant feedback culture. Considering that your team is ready for it, that is.</p>
<div id="tweetbutton2698" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Finstant-feedback-culture.html&amp;via=pawelbrodzinski&amp;text=Instant%20Feedback%20Culture&amp;related=pawelbrodzinski&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fblog.brodzinski.com%2F2012%2F04%2Finstant-feedback-culture.html" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://blog.brodzinski.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=qXljXLfqnGM:XmEzhhkWdRA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?a=qXljXLfqnGM:XmEzhhkWdRA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SoftwareProjectManagement?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SoftwareProjectManagement/~4/qXljXLfqnGM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.brodzinski.com/2012/04/instant-feedback-culture.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.brodzinski.com/2012/04/instant-feedback-culture.html</feedburner:origLink></item>
	</channel>
</rss>

