Fall Conference Appearances

Friday, October 9th, 2009

I planned to write individual posts about new and upcoming workshops, but the rate at which we get invited and accepted to conferences this fall outstrips my ability to post new entries ;) I have to post now, before the conferences themselves are over… I hope you’ll join us for at least one of these. We’ll be doing some hard-core programming workshops as well as more enterprise and facilitation oriented sessions this fall.

(more…)

Mastering Unit Testing Course in Antwerp, Belgium September 24 and 25

Wednesday, September 9th, 2009

We are partnering with local companies to provide our training curriculum in other countries. We started the Mastering Unit Testing course after we found many teams have started writing unit tests, but very few have experienced the benefits of hard-core test-driven development.

“You have some experience writing unit tests, but wonder how you could get more out of unit testing. Register for the Mastering Unit Testing training to experience how test driven development can make development faster and more enjoyable. You’ll learn how working test-first lets you create better designed code, and understand why unit testing techniques that are ‘simple’ in theory can be difficult to practice. Past participants have experienced less defects in production code, as well as higher velocity, which leads to happier clients and more fun in your job!”

See the Mastering Unit Testing page on the iLean site for registration and details. The first course is scheduled for September 24 and 25. After that we’ve also got our Mastering legacy code, November 16 and 17, also in Antwerp.

Televox

Televox by d.billy

photo found through Photo Suggest

Process Improvement on “borrowed time”

Thursday, October 19th, 2006

<meta name="GENERATOR" content="OpenOffice.org 2.0 (Linux)" /><meta name="AUTHOR" content="willem ende" /><meta name="CREATED" content="20061019;9374500" /><meta name="CHANGED" content="16010101;0" /><br /> <style type="text/css"> <!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --> </style> <p class="western" style="margin-bottom: 0in">I liked <a href="http://emmanuelgaillot.blogspot.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://emmanuelgaillot.blogspot.com']);">Emmanuel Gaillot</a>‘s <a href="http://emmanuelgaillot.blogspot.com/2006/10/borrowing-first-5-minutes.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://emmanuelgaillot.blogspot.com']);">Borrowing the First 5 minutes</a> a lot. You can almost see the <a href="http://wiki.systemsthinking.net/Systemsthinking/DiagramOfEffects.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wiki.systemsthinking.net']);">Diagrams of Effects</a> in the words, so I decided to draw some (<a href="http://wiki.systemsthinking.net/Systemsthinking/SystemsThinkingSteps.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wiki.systemsthinking.net']);">systems thinking step</a> 1: tell story). I’ve made a bunch of them, hoping that it makes the thought process easily traceable.</p> <p class="western" style="margin-bottom: 0in">The first two diagrams are on the problem</p> <p class="western" style="margin-bottom: 0in"> <p class="western" style="margin-bottom: 0in"><img alt="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure1.png" src="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure1.png" /></p> <blockquote> <p class="western" style="margin-bottom: 0in">The more pressure you’re under to deliver, the less you care about the quality of the software you’re releasing. Unfortunately, the less the quality is, the more rework you’ll have to do. And of course, more rework means more schedule slippage, ergo more pressure to deliver the next bit.</p> </blockquote> <p>Lower quality means more rework, more rework means more slippage, more slippage leads to more pressure, which in turn leads to lower quality – a vicious circle.</p> <p class="western" style="margin-bottom: 0in">and the first analysis:</p> <p><img alt="The image “http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure2.png” cannot be displayed" src="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure2.png" /></p> <blockquote><p>Here’s the catch: changing your work process means that first, you’ll have to slow down.</p></blockquote> <p>Improving your process will (hopefully) in time lead to higher quality (the || indicate a delay). In the short run, process improvement is likely to cost time and cause noteable slippage.</p> <p>The first two were easy to draw, as the cycles and arrows are literally in the text. Emmanuel offers five solutions, drawing diagrams for them required more interpretation. And that is what I like about DOE’s: they require another mode of thinking, and open different perspectives on the problem or proposed solution.</p> <p class="western" style="margin-bottom: 0in"> <p class="western" style="margin-bottom: 0in">So in the third step, two interventions are added. As Emmanuel says,accepting pressure is a choice and there is always something you can do to improve.</p> <p class="western" style="margin-bottom: 0in"><img alt="The image “http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure4.png” cannot be displayed, because it contains errors." src="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure4.png" /></p> <p>So two ‘interventions’ are added to the diagram. The intervention from Slippage to Pressure means that you can choose to accept the slippage as a fact of life. Calmness will save you! Maintaining a clear head will increase your chances of actually delivering. The other intervention, between improved process and slippage, indicates there might be a way to improve the process without causing noticeably more slippage. If you can not find such a way, <a href="http://www.easycomp.org/cgi-bin/OrgPatterns?TakeNoSmallSlips" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.easycomp.org']);">take no small slips</a> .</p> <p>After the third DOE, I notice I forgot something. The assumption is that ‘ordinary’ rework will increase quality. I’ve been in places where rework caused quality to remain insufficient for release. Rework without sufficient safeguards will introduce new defects, so instead of improving quality by removing defects, the number of defects increased…</p> <p class="western" style="margin-bottom: 0in"> <p class="western" style="margin-bottom: 0in">I’ve used the techniques Emmanuel mentions in recommendation #2 – <em>Don’t try to deny all the pressure at once</em> – before (usually up-front with moderate pressure, though). Writing a test for a defect and doing (if even a little) pair-work would be the kind of safeguards that ensure your rework is a quality improvement.</p> <p class="western" style="margin-bottom: 0in"><img width="477" style="cursor: -moz-zoom-in" alt="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure5.png" src="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure5.png" /></p> <p class="western" style="margin-bottom: 0in"> <p class="western" style="margin-bottom: 0in">If we take the steps from #2 as our improved process, and draw Pair Rework, new Tests per Defect and Hasty Rework as variables, we get a choice of which activities to perform when Quality is insufficient.</p> <p class="western" style="margin-bottom: 0in">Hasty Rework is likely to decrease quality (<a href="http://www.xpday.net/Xpday2006/HasteMakesWasteOhNoItDoesNot.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.xpday.net']);">haste makes waste</a>), a new Test per Defect will focus the repair work, and prevent the defect from re-appearing in the future. Assuming these tests are programmed (not done by hand), collected in a test-suite, and re-run regularly.</p> <p class="western" style="margin-bottom: 0in">Pair rework ensures knowledge about the defect and its’ repair is spread, and that errors made in repairing are caught before the fix is released.</p> <p class="western" style="margin-bottom: 0in">Looking at diagram 3, we may notice these suggestions all work on the defects directly. How can we come up with suggestions like these, and new ideas to improve the process? <a href="http://www.toyota.co.jp/en/vision/traditions/mar_apr_06.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://www.toyota.co.jp']);">Ask ‘why’ five times about every matter</a>. Which gives me energy to write about, at another time. The DOE helps to see at which level you are working, and gives inspiration for other levels.</p> <p class="western" style="margin-bottom: 0in">In proposal #3, Emmanuel recomends to <em>watch for improvement</em> and in #4 to <em>reinvest</em> . I’ve combined them in a new DOE – managing the process improvement process is at another level of abstraction than what we had before. Since the timings are measureable, they are drawn as ellipses rather than clouds – clouds are for observables:</p> <p class="western" style="margin-bottom: 0in"><img alt="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure6.png" src="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure6.png" /></p> <p class="western" style="margin-bottom: 0in"> <p class="western" style="margin-bottom: 0in">The Process Improvement Effectiveness depends in part on the time you spent on it; if you spend no time on PI then the process is unlikely to improve, but after some point, more time spent will not increase the effectiveness. Effective PI will reduce the mean time to solve a defect (I refuse to use the word bug, as that suggests the defect magically came<br /> into life in the code…) .</p> <p class="western" style="margin-bottom: 0in">Emmanuel suggests in #, that once you’ve had some success, you might call for some guidance.</p> <p class="western" style="margin-bottom: 0in"><img width="493" style="cursor: -moz-zoom-in" alt="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure7.png" src="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure7.png" /></p> <p>Getting an Expert in will increase the effectiveness of your process improvement. It also might save you time spent on PI per defect, as the expert can quickly guide you to what to do and what not. Guidance will improve the quality of your work, save time on improvement, and (not drawn) if you get a hands-on kind of person in, he or she may directly contribute to repairing defects as well – and often with more awareness of possible root causes as well .</p> <p>Proposition #5 is about <em>spiraling up</em> – what to do when you’ve gained so much time through process improvement that</p> <blockquote><p>your managers will start noticing that it takes you significantly less time to do stuff</p></blockquote> <p><img width="493" alt="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure8.png" style="cursor: -moz-zoom-in" src="http://www.willemvandenende.com/images/2006/forblogging/accept_the_pressure8.png" />At first management may not notice the change in Mean time to solve defect, then when they notice, they’ll celebrate, hopefully after making sure you are not reducing time by cutting corners…</p> <p>Then it is time to <em>negotiate . </em>Together with your management you can choose to divide the gained time between increasing throughput (solve more defects per week) and training (drawn here as a higher investment in Expert Guidance).<br /> Do not increase throughput implicitly – you’ll lose the time you’ve gained, and you lose an opportunity to share your gains with other teams around you.</p> <p class="western" style="margin-bottom: 0in"> <p>The diagrams have worked for me, it helped me better understand what <a href="http://emmanuelgaillot.blogspot.com/" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://emmanuelgaillot.blogspot.com']);">Emmanuel</a> was exactly writing about and spin off some more ideas, some of which ended up in this post, others as <a href="http://me.andering.com/2006/02/15/five-seconds-to-fieldstone/" >fieldstones</a>.</p> <p>I hope they have worked for you, and I’m looking for feedback (<a href="http://wiki.systemsthinking.net/Systemsthinking/SystemsThinkingSteps.html" onclick="javascript:_gaq.push(['_trackEvent','outbound-article','http://wiki.systemsthinking.net']);">systems thinking steps 10 and 11</a>: get feedback from presenting to a group, and adjust the diagrams).</p> </div> <p class="postmetadata">Posted in <a href="http://me.andering.com/category/people-systems/" title="View all posts in people & systems" rel="category tag">people & systems</a> | <a href="http://me.andering.com/2006/10/19/process-improvement-on-borrowed-time/#comments" title="Comment on Process Improvement on “borrowed time”">3 Comments »</a></p> </div> <div class="navigation"> <div class="alignleft"></div> <div class="alignright"></div> </div> </div> <div id="sidebar"> <ul> <li> <form method="get" id="searchform" action="http://me.andering.com/"> <div><input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Search" /> </div> </form> </li> <!-- Author information is disabled per default. Uncomment and fill in your details if you want to use it. <li><h2>Author</h2> <p>A little something about you, the author. Nothing lengthy, just an overview.</p> </li> --> <li class="pagenav"><h2>Pages</h2><ul><li class="page_item page-item-2"><a href="http://me.andering.com/about/">About Willem</a></li> <li class="page_item page-item-367"><a href="http://me.andering.com/archivepage/">Archives</a> <ul class='children'> <li class="page_item page-item-851"><a href="http://me.andering.com/archivepage/we-are-uncoveringbetter-ways-of-moving-post-its/">We are uncovering better ways of moving post-its</a></li> </ul> </li> <li class="page_item page-item-705"><a href="http://me.andering.com/contact/">Contact</a></li> </ul></li> <li><h2>Archives</h2> <ul> <li><a href='http://me.andering.com/2013/08/' title='August 2013'>August 2013</a></li> <li><a href='http://me.andering.com/2013/06/' title='June 2013'>June 2013</a></li> <li><a href='http://me.andering.com/2013/05/' title='May 2013'>May 2013</a></li> <li><a href='http://me.andering.com/2013/01/' title='January 2013'>January 2013</a></li> <li><a href='http://me.andering.com/2012/12/' title='December 2012'>December 2012</a></li> <li><a href='http://me.andering.com/2012/10/' title='October 2012'>October 2012</a></li> <li><a href='http://me.andering.com/2012/05/' title='May 2012'>May 2012</a></li> <li><a href='http://me.andering.com/2012/02/' title='February 2012'>February 2012</a></li> <li><a href='http://me.andering.com/2012/01/' title='January 2012'>January 2012</a></li> <li><a href='http://me.andering.com/2011/12/' title='December 2011'>December 2011</a></li> <li><a href='http://me.andering.com/2011/11/' title='November 2011'>November 2011</a></li> <li><a href='http://me.andering.com/2011/09/' title='September 2011'>September 2011</a></li> <li><a href='http://me.andering.com/2011/06/' title='June 2011'>June 2011</a></li> <li><a href='http://me.andering.com/2011/02/' title='February 2011'>February 2011</a></li> <li><a href='http://me.andering.com/2011/01/' title='January 2011'>January 2011</a></li> <li><a href='http://me.andering.com/2010/12/' title='December 2010'>December 2010</a></li> <li><a href='http://me.andering.com/2010/10/' title='October 2010'>October 2010</a></li> <li><a href='http://me.andering.com/2010/05/' title='May 2010'>May 2010</a></li> <li><a href='http://me.andering.com/2010/04/' title='April 2010'>April 2010</a></li> <li><a href='http://me.andering.com/2009/10/' title='October 2009'>October 2009</a></li> <li><a href='http://me.andering.com/2009/09/' title='September 2009'>September 2009</a></li> <li><a href='http://me.andering.com/2009/08/' title='August 2009'>August 2009</a></li> <li><a href='http://me.andering.com/2009/07/' title='July 2009'>July 2009</a></li> <li><a href='http://me.andering.com/2009/06/' title='June 2009'>June 2009</a></li> <li><a href='http://me.andering.com/2009/05/' title='May 2009'>May 2009</a></li> <li><a href='http://me.andering.com/2009/04/' title='April 2009'>April 2009</a></li> <li><a href='http://me.andering.com/2009/03/' title='March 2009'>March 2009</a></li> <li><a href='http://me.andering.com/2009/02/' title='February 2009'>February 2009</a></li> <li><a href='http://me.andering.com/2009/01/' title='January 2009'>January 2009</a></li> <li><a href='http://me.andering.com/2008/12/' title='December 2008'>December 2008</a></li> <li><a href='http://me.andering.com/2008/10/' title='October 2008'>October 2008</a></li> <li><a href='http://me.andering.com/2008/09/' title='September 2008'>September 2008</a></li> <li><a href='http://me.andering.com/2008/08/' title='August 2008'>August 2008</a></li> <li><a href='http://me.andering.com/2008/07/' title='July 2008'>July 2008</a></li> <li><a href='http://me.andering.com/2008/06/' title='June 2008'>June 2008</a></li> <li><a href='http://me.andering.com/2008/05/' title='May 2008'>May 2008</a></li> <li><a href='http://me.andering.com/2008/04/' title='April 2008'>April 2008</a></li> <li><a href='http://me.andering.com/2008/03/' title='March 2008'>March 2008</a></li> <li><a href='http://me.andering.com/2008/02/' title='February 2008'>February 2008</a></li> <li><a href='http://me.andering.com/2008/01/' title='January 2008'>January 2008</a></li> <li><a href='http://me.andering.com/2007/12/' title='December 2007'>December 2007</a></li> <li><a href='http://me.andering.com/2007/11/' title='November 2007'>November 2007</a></li> <li><a href='http://me.andering.com/2007/10/' title='October 2007'>October 2007</a></li> <li><a href='http://me.andering.com/2007/09/' title='September 2007'>September 2007</a></li> <li><a href='http://me.andering.com/2007/08/' title='August 2007'>August 2007</a></li> <li><a href='http://me.andering.com/2007/06/' title='June 2007'>June 2007</a></li> <li><a href='http://me.andering.com/2007/05/' title='May 2007'>May 2007</a></li> <li><a href='http://me.andering.com/2007/02/' title='February 2007'>February 2007</a></li> <li><a href='http://me.andering.com/2007/01/' title='January 2007'>January 2007</a></li> <li><a href='http://me.andering.com/2006/11/' title='November 2006'>November 2006</a></li> <li><a href='http://me.andering.com/2006/10/' title='October 2006'>October 2006</a></li> <li><a href='http://me.andering.com/2006/09/' title='September 2006'>September 2006</a></li> <li><a href='http://me.andering.com/2006/08/' title='August 2006'>August 2006</a></li> <li><a href='http://me.andering.com/2006/07/' title='July 2006'>July 2006</a></li> <li><a href='http://me.andering.com/2006/06/' title='June 2006'>June 2006</a></li> <li><a href='http://me.andering.com/2006/05/' title='May 2006'>May 2006</a></li> <li><a href='http://me.andering.com/2006/04/' title='April 2006'>April 2006</a></li> <li><a href='http://me.andering.com/2006/03/' title='March 2006'>March 2006</a></li> <li><a href='http://me.andering.com/2006/02/' title='February 2006'>February 2006</a></li> <li><a href='http://me.andering.com/2006/01/' title='January 2006'>January 2006</a></li> <li><a href='http://me.andering.com/2005/12/' title='December 2005'>December 2005</a></li> <li><a href='http://me.andering.com/2005/11/' title='November 2005'>November 2005</a></li> <li><a href='http://me.andering.com/2005/10/' title='October 2005'>October 2005</a></li> <li><a href='http://me.andering.com/2005/09/' title='September 2005'>September 2005</a></li> <li><a href='http://me.andering.com/2005/08/' title='August 2005'>August 2005</a></li> <li><a href='http://me.andering.com/2005/06/' title='June 2005'>June 2005</a></li> <li><a href='http://me.andering.com/2005/05/' title='May 2005'>May 2005</a></li> <li><a href='http://me.andering.com/2005/04/' title='April 2005'>April 2005</a></li> <li><a href='http://me.andering.com/2005/03/' title='March 2005'>March 2005</a></li> <li><a href='http://me.andering.com/2005/02/' title='February 2005'>February 2005</a></li> <li><a href='http://me.andering.com/2005/01/' title='January 2005'>January 2005</a></li> <li><a href='http://me.andering.com/2004/08/' title='August 2004'>August 2004</a></li> <li><a href='http://me.andering.com/2004/07/' title='July 2004'>July 2004</a></li> <li><a href='http://me.andering.com/2004/06/' title='June 2004'>June 2004</a></li> <li><a href='http://me.andering.com/2004/05/' title='May 2004'>May 2004</a></li> <li><a href='http://me.andering.com/2004/02/' title='February 2004'>February 2004</a></li> <li><a href='http://me.andering.com/2003/12/' title='December 2003'>December 2003</a></li> <li><a href='http://me.andering.com/2003/11/' title='November 2003'>November 2003</a></li> </ul> </li> <li class="categories"><h2>Categories</h2><ul> <li class="cat-item cat-item-3"><a href="http://me.andering.com/category/bookmarks/" title="View all posts filed under bookmarks">bookmarks</a> (5) </li> <li class="cat-item cat-item-4"><a href="http://me.andering.com/category/people-systems/" title="View all posts filed under people & systems">people & systems</a> (255) </li> <li class="cat-item cat-item-94"><a href="http://me.andering.com/category/programming/" title="View all posts filed under programming">programming</a> (9) </li> <li class="cat-item cat-item-8"><a href="http://me.andering.com/category/public-courses/" title="View all posts filed under public courses">public courses</a> (5) </li> <li class="cat-item cat-item-7"><a href="http://me.andering.com/category/testing/" title="View all posts filed under testing">testing</a> (2) </li> <li class="cat-item cat-item-1"><a href="http://me.andering.com/category/unfiled/" title="View all posts filed under unfiled">unfiled</a> (4) </li> <li class="cat-item cat-item-5"><a href="http://me.andering.com/category/wrestling-with-programs/" title="View all posts filed under wrestling with programs">wrestling with programs</a> (6) </li> </ul></li> </ul> </div> <hr /> <div id="footer"> <p> <a rel="license" href="http://creativecommons.org/licenses/by/3.0/nl/"> <img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/nl/88x31.png" /> </a> <br />All works on this site are licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/nl/">Creative Commons Attribution 3.0 Netherlands License</a>.<br/> me.andering – Willem van den Ende is written, photographed and drawn by <a href="http://www.willemvandenende.com">Willem van den Ende</a> and people who are kind enough to donate comments :)<br/> me.andering is powered by <a href="http://wordpress.org/">WordPress</a> <a href="http://me.andering.com/feed/">Entries (RSS)</a> and <a href="http://me.andering.com/comments/feed/">Comments (RSS)</a> and proudly hosted by <a href="http://www.wyrdweb.eu">Wyrd Web</a>. <!-- 16 queries. 0.038 seconds. --> </p> </div> </div> <!-- Gorgeous design by Michael Heilemann - http://binarybonsai.com/kubrick/ --> </body> </html>