<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>&#62;kloctalk&#187; Agile Development</title>
	<atom:link href="http://www.klocwork.com/blog/category/agile-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.klocwork.com/blog</link>
	<description>&#62;kloctalk is a blog and a community for software development professionals who create and maintain mission-critical software and the challenges they face on a daily basis.</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:45:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>What&#8217;s the Right Iteration Length?</title>
		<link>http://www.klocwork.com/blog/2011/11/whats-the-right-iteration-length/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=whats-the-right-iteration-length</link>
		<comments>http://www.klocwork.com/blog/2011/11/whats-the-right-iteration-length/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 13:00:44 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1410</guid>
		<description><![CDATA[The question of &#8220;what&#8217;s the right iteration length&#8221; may not be as interesting as any of the questions found here (gum really doesn&#8217;t stay in you for 7 years. Who knew?), but it is a common question from organizations moving to agile development. You can certainly get a lot of different opinions on this from [...]]]></description>
			<content:encoded><![CDATA[<p>The question of &#8220;what&#8217;s the right iteration length&#8221; may not be as interesting as any of the questions found <a href="http://www.telegraph.co.uk/news/newstopics/howaboutthat/4696372/Greatest-101-questions-of-all-time-1-20.html">here</a> (gum really doesn&#8217;t stay in you for 7 years. Who knew?), but it is a common question from organizations moving to agile development. You can certainly get a lot of different <a href="http://www.mountaingoatsoftware.com/articles/30-selecting-the-right-iteration-length-for-your-software-development-process">opinions</a> on this from a Google search, but since you&#8217;re reading this now, I&#8217;ll give you mine, based on personal experience.</p>
<p>A number of years ago, one of the projects I was PM on decided to try out Scrum. I had attended some Product Owner <a href="http://www.mountaingoatsoftware.com/certified-product-owner-training">training</a>, and our soon-to-be Scrum Master had been on some training as well, but we were very green and decided to approach things with a &#8220;let&#8217;s see what works best for us&#8221; mentality. At the time, we thought the best way for us to get immersed and efficient with Scrum was lots of repetitions. We went with 1-week iterations, thinking that by having a rapid and regular cycle of sprint planning meetings, demo meetings, retrospective meetings, etc. we would learn more quickly the &#8220;proper&#8221; way of doing development with Scrum.</p>
<p>We certainly did learn a lot during our first 3 or 4 sprints, mainly that having this regular weekly cycle of meetings was just too much overhead, and the actual amount of value produced at the end of each sprint was too little. Next on our list, the 2-week sprint.<a href="http://www.klocwork.com/blog/wp-content/uploads/2011/10/monkey.jpeg"><img class="alignright size-full wp-image-1411" title="monkey" src="http://www.klocwork.com/blog/wp-content/uploads/2011/10/monkey.jpeg" alt="" width="259" height="194" /></a></p>
<p>The 2-week sprints worked great for us, and we saw the differences from the 1-week sprints almost immediately. We were producing what we thought was a good amount of value from each sprint, but with a better and more balanced level of overhead. We hit our groove and established a good cadence with these 2-week sprints, and from the looks of the burn-down chart, we were becoming a more efficient team with every sprint.</p>
<p>The team definitely was cruising and enjoying the pace, but the holiday season snuck up on us and we thought that it might make sense to make some adjustments to deal with the vacation time various team members would be taking.</p>
<p>After collecting everyone&#8217;s vacation schedule, we were able to determine a start and finish date for our &#8220;holiday sprint&#8221; that would essentially start when everyone was still in the office, and finish when everyone returned from their vacation. Call it either luck or good management, but we had planned a 4-week sprint. I won&#8217;t go through all the gory details, but let&#8217;s just say that upon reflection, the 4-week iteration just felt wrong.</p>
<p>The initial planning session felt harder to estimate the amount of work we could do. The cadence we developed didn&#8217;t show itself, and it really felt like we never gained any momentum during the 4 weeks. Now I&#8217;m sure that the whole holiday season thing played a role in this, but it was our least effective iteration ever, and by a lot. We never tried the 4-week iteration again.</p>
<p>The bottom line is that all teams are different and need to go with the iteration length that feels right for them. For us, the 2-week one was best.</p>
<p>For the record, I have always wondered if the 7-year rule for chewing gum was true. Glad to hear it isn&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2011/11/whats-the-right-iteration-length/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Pure Agile Always an Option?</title>
		<link>http://www.klocwork.com/blog/2011/10/is-pure-agile-always-an-option/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=is-pure-agile-always-an-option</link>
		<comments>http://www.klocwork.com/blog/2011/10/is-pure-agile-always-an-option/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 13:50:27 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Embedded]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[General Industry]]></category>
		<category><![CDATA[Medical Device Software]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[medical device software]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1397</guid>
		<description><![CDATA[Over the past few years I’ve talked to a number of customers in the embedded software and medical devices industries, and I continue to see a significant number of these organizations either moving to, or planning on moving to agile development processes. With all of the inherent challenges for agile in these organizations such as [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few years I’ve talked to a number of customers in the embedded software and medical devices industries, and I continue to see a significant number of these organizations either moving to, or planning on moving to agile development processes.</p>
<p>With all of the inherent challenges for agile in these organizations such as standards/regulatory compliance, hardware changes and integration, security issues, etc. I must say that I’m a little shocked that customers are moving away from their current processes towards something like agile. Add to this the fact that the Agile Manifesto specifically states “Working software over comprehensive documentation” and it doesn’t exactly sound like agile is a great fit for embedded systems in general, let alone medical device.</p>
<p>Now, don’t get me wrong, I am a huge proponent of agile, and I certainly realize that there are many pros for moving to agile, and these have been well <a href="http://www.objectmentor.com/omSolutions/agile_why.html">documented</a>, but I have to wonder just how agile are these specific industries going?  I would bet that most (all?) of these organizations are adopting some of the key fundamentals of agile, but to say they are going “all in” would be a bit of a stretch.</p>
<p><br class="spacer_" /></p>
<div id="attachment_1400" class="wp-caption alignright" style="width: 310px"><a href="http://www.klocwork.com/blog/wp-content/uploads/2011/10/whales-10.jpg"><img class="size-medium wp-image-1400" title="whales-10" src="http://www.klocwork.com/blog/wp-content/uploads/2011/10/whales-10-300x193.jpg" alt="" width="300" height="193" /></a><p class="wp-caption-text">Even industries heavy on process (because of regulatory requirements) are taking the leap into agile. How agile are they?</p></div>
<p>Looking at the <a href="http://agilemanifesto.org/">manifesto</a> a little closer, some of the principles are fairly generic and feel more like common sense than anything revolutionary, so they probably apply to any industry. There are a few principles however that are fairly easy to imagine in these industries, such as:</p>
<ul>
<li> getting all stakeholders involved in defining requirements (Principle #4), or </li>
<li>embracing more face-to-face conversations (Principle #6), and </li>
<li>simplicity, or minimizing the amount of work not done (Principle #10). </li>
</ul>
<p>But do people really think that Principles #1 (early and often delivery of software), and #2 (welcome changing requirements) really apply to the embedded or medical devices industries? Personally I don’t see it.</p>
<p>So what do you think? Are the embedded software or medical devices industries capable of going full out Agile?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2011/10/is-pure-agile-always-an-option/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>And the word of the day is&#8230; docragination</title>
		<link>http://www.klocwork.com/blog/2011/05/and-the-word-of-the-day-is-docragination/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=and-the-word-of-the-day-is-docragination</link>
		<comments>http://www.klocwork.com/blog/2011/05/and-the-word-of-the-day-is-docragination/#comments</comments>
		<pubDate>Thu, 19 May 2011 12:42:25 +0000</pubDate>
		<dc:creator>Helen Abbott</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[User Documentation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[technical writing]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1299</guid>
		<description><![CDATA[I came to the practice of procrastination late in life. I was always one of those annoying people who arrived for appointments early, handed in assignments early, went to bed early. Becoming a full-time working parent drove me to the dark side. Now I&#8217;m routinely late &#8212; late for exercise classes, late going to bed, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2011/04/procrastination1.png"><img class="size-medium wp-image-1301  alignleft" title="procrastination" src="http://www.klocwork.com/blog/wp-content/uploads/2011/04/procrastination1-300x237.png" alt="Procrastination: I'll find a picture for it later" width="300" height="237" /></a></p>
<p>I came to the practice of procrastination late in life. I was always one of those annoying people who arrived for appointments early, handed in assignments early, went to bed early.</p>
<p>Becoming a full-time working parent drove me to the dark side.</p>
<p>Now I&#8217;m routinely late &#8212; late for exercise classes, late going to bed, late getting the kids to daycare.</p>
<p>My forgetfulness factor has increased about 26-fold too. I&#8217;ve always been a list-maker, but now I have a few sayings that my husband is sick of: If it&#8217;s not in my calendar, it&#8217;s not getting done. If it&#8217;s not on the grocery list, it&#8217;s not going to show up in the fridge.</p>
<p>My work equivalent: If it&#8217;s not in <a title="XPlanner" href="http://www.xplanner.org/" target="_blank">XPlanner</a>, it&#8217;s not getting done.</p>
<p>However, I&#8217;ve also discovered that adding tasks to XPlanner is a necessary but not sufficient condition for something getting done. Ever so occasionally, I&#8217;ll realize that a task in my slightly overlong list of tasks for the iteration should have been done&#8230; yesterday.</p>
<p>In my pre-kid years (which incidentally and unfortunately coincided with the days of larger doc teams), that just didn&#8217;t happen. I had sufficient brain space to accommodate what needed to be done.</p>
<p>My colleague <a title="Patti Murphy's Kloctalk posts" href="http://www.klocwork.com/blog/author/patti-murphy/" target="_blank">Patti</a> and I decided to elevate this practice of procrastination in agile documentation by giving it a name:</p>
<p><strong>DOCRAGINATION.</strong></p>
<p>Fortunately, in my latest slip into docragination, I got away with it: I wasn&#8217;t the only reason for another software build.</p>
<p>As I get older, I&#8217;m growing more certain that procrastination in general is not always a bad thing. There&#8217;s something to be said for waiting, listening, processing &#8212; even sleeping on it &#8212; instead of rushing in and finishing.</p>
<p>Patti just reminded me of another of my annoying sayings: What doesn&#8217;t get documented today won&#8217;t have to be revised later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2011/05/and-the-word-of-the-day-is-docragination/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Rockin&#8217; Agile Roadshow</title>
		<link>http://www.klocwork.com/blog/2011/04/a-rockin-agile-roadshow/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-rockin-agile-roadshow</link>
		<comments>http://www.klocwork.com/blog/2011/04/a-rockin-agile-roadshow/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 15:22:58 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[General Industry]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[Static Analysis]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1281</guid>
		<description><![CDATA[Last week I toured the West coast with our friends from VersionOne, Perforce, and Electric Cloud on our Agile roadshow hitting the cities of Seattle, Santa Clara, and San Diego. In one of the after meeting discussions, one of the attendees asked me what the differences were between Agile and Lean. Having only been involved [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I toured the West coast with our friends from <a href="http://www.versionone.com/">VersionOne</a>, <a href="http://www.perforce.com/">Perforce</a>, and <a href="http://www.electric-cloud.com/">Electric Cloud</a> on our Agile roadshow hitting the cities of Seattle, Santa Clara, and San Diego. In one of the after meeting discussions, one of the attendees asked me what the differences were between Agile and Lean. Having only been involved with Lean from an outside perspective, I didn&#8217;t really think there were huge differences and that they shared many of the same beliefs.</p>
<p>Luckily, it looks like others believe this to be the case too. So rather than me trying to explain this, this timely <a href="http://leantechnologytransformation.blogspot.com/2011/04/this-week-we-are-exploring-questions.html">blog</a> does a great job of explaining Agile and Lean, and why there is a lack of understanding and acceptance of Agile practices in many companies that practice Lean.</p>
<p>Also, as part of this Agile roadshow, we had a bit of a celebrity in our midst--our illustrious keynote speaker David Hussman of <a href="http://devjam.com/">DevJam</a> consulting has a past that most of us weekend musicians dream about. He was part of a big-hair metal band! Not only can he play a mean guitar, the dude knows his stuff about Agile and gave one of the best keynotes I&#8217;ve ever seen. Check out his website when you get a chance, and see if you can find him in this video.</p>
<p><span class="youtube">
<iframe title="YouTube video player" class="youtube-player" type="text/html" width="425" height="344" src="http://www.youtube.com/embed/Ll9aZkJBLKc?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1" frameborder="0"></iframe>
</span><p><a href="http://www.youtube.com/watch?v=Ll9aZkJBLKc">www.youtube.com/watch?v=Ll9aZkJBLKc</a></p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2011/04/a-rockin-agile-roadshow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Medical Devices Roadshow &#8211; Minneapolis style</title>
		<link>http://www.klocwork.com/blog/2011/01/medical-devices-roadshow-minneapolis-style/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=medical-devices-roadshow-minneapolis-style</link>
		<comments>http://www.klocwork.com/blog/2011/01/medical-devices-roadshow-minneapolis-style/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 18:49:38 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Medical Device Software]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[fda]]></category>
		<category><![CDATA[IEC 62304]]></category>
		<category><![CDATA[medical device software]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1212</guid>
		<description><![CDATA[Yesterday we did our second Medical Devices software seminar, this time in snowy and cold Minneapolis. Say what you will about the weather, but this city is built for winter&#8230;it has various overhead &#8216;tunnels&#8217; called &#8216;skyways&#8216; connecting what seemed to be the entire downtown core, so you rarely ever need to go outside. Anyways, our [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday we did our second Medical Devices software seminar, this time in snowy and cold Minneapolis. Say what you will about the weather, but this city is built for winter&#8230;it has various overhead &#8216;tunnels&#8217; called &#8216;<a href="http://www.minneapolis.org/page/skyways-minneapolis.jsp">skyways</a>&#8216; connecting what seemed to be the entire downtown core, so you rarely ever need to go outside. <a href="http://www.klocwork.com/blog/wp-content/uploads/2011/01/Untitled.png"><img class="alignright size-medium wp-image-1217" title="Untitled" src="http://www.klocwork.com/blog/wp-content/uploads/2011/01/Untitled-300x187.png" alt="" width="300" height="187" /></a></p>
<p>Anyways, our seminar drew the interest of over 75% of registrants, mostly software engineers and QA, so really another great turnout. The format was the same as our <a href="http://www.vectorcast.com/blog/2010/12/20/software-testing-for-medical-devices-seminar/">Boston event</a>, with the same players from <a href="http://www.sterlingtechsoftware.com/html/why/">SterlingTech</a>, Klocwork (duh) and <a href="http://www.vectorcast.com/company/index.php">Vector Software</a>. There really didn&#8217;t seem to be too much separating this group from the Boston group with the exception being around the development methodologies being used. The Boston group all appeared to be using (or moving to) and Agile methodology, whereas this group was not using Agile at all. For the life of me I cannot explain this. I would have thought if Medical device organizations in one part of the country were primarily using Agile, perhaps it was becoming the norm for that market segment&#8230;but based on this sample, now I just don&#8217;t know. If anyone can share their observations on this, I would love to hear from you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2011/01/medical-devices-roadshow-minneapolis-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In standards we unite, in agile we diverge</title>
		<link>http://www.klocwork.com/blog/2011/01/in-standards-we-unite-in-agile-we-diverge/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=in-standards-we-unite-in-agile-we-diverge</link>
		<comments>http://www.klocwork.com/blog/2011/01/in-standards-we-unite-in-agile-we-diverge/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 14:42:25 +0000</pubDate>
		<dc:creator>Patti Murphy</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Embedded]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[ESxR]]></category>
		<category><![CDATA[IPA]]></category>
		<category><![CDATA[MISRA]]></category>
		<category><![CDATA[SCA]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1199</guid>
		<description><![CDATA[What comes first—the process or the tool? Yes. Any tool worth its salt should integrate into existing processes and tools. What’s interesting and informative is seeing the similarities and differences in how the same tool is applied in different organizations, across continents and oceans. The emphasis on quality unites everyone, but the level to which [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2011/01/thumb21.jpg"><img class="alignright size-medium wp-image-1201" title="thumb2" src="http://www.klocwork.com/blog/wp-content/uploads/2011/01/thumb21-300x195.jpg" alt="" width="300" height="195" /></a></p>
<p>What comes first—the process or the tool?</p>
<p>Yes.</p>
<p>Any tool worth its salt should integrate into existing processes and tools.</p>
<p>What’s interesting and informative is seeing the similarities and differences in how the same tool is applied in different organizations, across continents and oceans.</p>
<p>The emphasis on quality unites everyone, but the level to which agile is adopted is what makes static analysis markets different.</p>
<p>No one knows this more than <a href="http://www.klocwork.com/blog/2010/06/7-habits-of-highly-ineffective-sourc-code-analysis/" target="_blank">Mark Grice</a>, Klocwork Director and Manager of the International Reseller/Partner Network, and Steve Howard, head of Partner Support in Europe.</p>
<p>Trying to talk to these guys at the same time is a challenge. Mark’s work takes him all over Asia, but I managed to pinpoint him in Japan; Steve spends most of his time traveling across Europe, but was at his home base in England—for a time, anyway.</p>
<p><strong>Same difference</strong></p>
<p>The European and Asian markets are all singing from the same song book when it comes to coding standards.</p>
<p>“<a href="http://www.misra-c2.org/" target="_blank">MISRA</a> is very appealing here in Europe, particularly on the developer desktop,” Steve says.</p>
<p>“There’s a strong focus on quality here,” Mark says about his Asian market. While MISRA is “somewhat appealing,” Mark says he gets asked about Embedded System development exemplar Reference Series (ESxR) quite a lot. It’s a coding standard similar to MISRA in that it’s aimed at embedded system development, but its adoption is more Japan-centric. For more information, see <a href="http://www.ipa.go.jp/cgi-bin/namazu.cgi?query=ESxr&amp;whence=0&amp;max=20&amp;result=normal&amp;sort=score" target="_blank">ESxR</a> at Information-technology Promotion Agency, Japan (<a href="http://www.ipa.go.jp/index-e.html" target="_blank">IPA</a>).</p>
<p>Steve explains  that the ability to extend checkers to suit the needs of specific organizations is of keen interest to customers in his bailiwick. <br />
 “Sometimes organizations want to enforce their own naming conventions or code constructions, and the extensibility tools provide a very quick and effective way to accomplish that,” he says.</p>
<p><strong>Difference </strong></p>
<p>The developer desktop illustrates the great agile divide.</p>
<p>“I’d say Europe is a little bit behind North America in its adoption of agile, but there’s still the same requirement for developer productivity and speed,” Steve says.</p>
<p>For that reason, he sees more opportunity to penetrate the European market with a static code analysis tool for the developer desktop. The growing interest in agile in Europe gives him an increasingly receptive audience.</p>
<p>Japan is a bit different on this score from the rest of Asia.</p>
<p>Quality is seen as the purview of testing teams, and not development. That means that there’s a huge focus on quality at the end of the development life cycle, rather than the beginning, Mark explains.</p>
<p>Desktop source code analysis tools are a harder sell in Japan, but that may change as agile processes trickle in.</p>
<p>And there you have it, a quick peek at a couple of our markets.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2011/01/in-standards-we-unite-in-agile-we-diverge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Translation woes revisited</title>
		<link>http://www.klocwork.com/blog/2010/12/translation-woes-revisited/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=translation-woes-revisited</link>
		<comments>http://www.klocwork.com/blog/2010/12/translation-woes-revisited/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 14:42:11 +0000</pubDate>
		<dc:creator>Helen Abbott</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[User Documentation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[technical writing]]></category>
		<category><![CDATA[translation]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1164</guid>
		<description><![CDATA[In a previous post, I discussed the problems we encountered when considering translating our entire MediaWiki-based documentation suite. I talked about how to get content out of the wiki for translation, and then get translated content back to our users. In this post, I want to discuss translation and globalization requirements more generally, and how [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://www.klocwork.com/blog/2010/12/wiki-translation-woes/" target="_blank">previous post</a>, I discussed the problems we encountered when  considering translating our entire MediaWiki-based documentation suite. I talked  about how to get content out of the wiki for translation, and then get  translated content back to our users.</p>
<p>In this post, I want to discuss translation and globalization requirements  more generally, and how our small, agile doc team, working in MediaWiki, handles  each requirement. Fulfilling these requirements results in lower translation  costs and easier translation:</p>
<ul>
<li>Provide a medium for the translated documentation that accommodates text  expansion </li>
<li>Use preformatted styles </li>
<li>Minimize the amount of text to be translated </li>
<li>Minimize content churn </li>
<li>Write in a style that allows easy translation </li>
</ul>
<p><strong>A medium for the translated documentation </strong></p>
<p>Full marks on this requirement. Delivering the translated documentation in a  Japanese sister wiki will work well. We also integrate our documentation with  our software as JavaHelp, and there are no issues with text expansion in either  medium.</p>
<p><strong>Preformatted styles </strong></p>
<p>Again, no issues here. MediaWiki provides heading and formatting styles that  are preserved in the XML export, so no one needs to waste time on formatting the  translated text.</p>
<p><strong>Minimizing the amount of text </strong></p>
<div id="attachment_1169" class="wp-caption alignright" style="width: 216px"><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/12/marktwain.jpg"><img class="size-medium wp-image-1169 " title="MarkTwain" src="http://www.klocwork.com/blog/wp-content/uploads/2010/12/marktwain-206x300.jpg" alt="Mark Twain" width="206" height="300" /></a><p class="wp-caption-text">I didn’t have time to write a short letter, so I wrote a long one instead. – Mark Twain</p></div>
<p>Here&#8217;s where the slope gets slippery. Shorter takes longer. With a small team  under constant pressure to keep up with agile development, it&#8217;s hard to find the  time to write concisely. It&#8217;s also hard to find time to deal with legacy  content.</p>
<p>Minimizing the amount of documentation makes sense for the English version as  well as translations. And it makes for easier maintenance, too.</p>
<p><strong>Minimizing churn </strong></p>
<p>There are two opportunities for content churn: during development, and after  the release.</p>
<p><strong>During development.</strong> Ideally, we&#8217;d provide an initial drop to  the translators at Beta, and pledge that we&#8217;re something like 80% complete. But  in agile development, features are constantly refined as a result of testing and  customer feedback. Features are added to the release as resources permit, and as  product management becomes aware of new customer requirements. With a small  team, we work on documenting features right up to the release date. Our  development, test, and product management teams review the docs whenever they  have time. And as perfectionists, we just can&#8217;t resist editing&#8230; and  re-editing. An agile wiki is a highly flexible creature. But churn is its middle  name.</p>
<p><strong>After the release.</strong> We continue to fix problems we find in  the English documentation, and our customers can edit too. That&#8217;s the whole  point. Presto: The translation is out of date.</p>
<p><strong>Easily translatable style </strong></p>
<p>We&#8217;ve adopted a casual, conversational, humorous style as an attempt to  engage our users. But this type of style can be difficult to translate. It can  also be difficult for ESL readers to understand. And even non-North American  English speakers might find our humor&#8230; unfunny.</p>
<p>Here are just a few things we need to do:</p>
<ul>
<li>keep sentences short </li>
<li>simplify the grammatical structure </li>
<li>avoid idioms and jargon </li>
<li>create a more extensive glossary </li>
<li>avoid text in graphics </li>
</ul>
<p>So, in our spare time, we&#8217;re updating our style guide, and when that&#8217;s done,  we&#8217;ll be creating a review checklist for translation and globalization  requirements. Our style guide will be funny, because so far, no one has asked us  to translate it.</p>
<p><strong>Good reading </strong></p>
<p>I found the article &#8220;<a href="http://www.stc.org/ConfProceed/2003/PDFs/STC50-105.pdf" target="_blank">Maintaining  Documentation Across Several Languages</a>&#8221; helpful in my research.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/12/translation-woes-revisited/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wiki translation woes</title>
		<link>http://www.klocwork.com/blog/2010/12/wiki-translation-woes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wiki-translation-woes</link>
		<comments>http://www.klocwork.com/blog/2010/12/wiki-translation-woes/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 15:40:35 +0000</pubDate>
		<dc:creator>Helen Abbott</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[User Documentation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[technical writing]]></category>
		<category><![CDATA[translation]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1161</guid>
		<description><![CDATA[We moved all of our user documentation from Author-it to MediaWiki a few releases ago. At that point, we translated only a part of our documentation to Japanese – the help pages for detected issues. For these wiki pages, we used MediaWiki language templates to display language links at the bottom, and we copied-and-pasted the [...]]]></description>
			<content:encoded><![CDATA[<p>We moved all of our user documentation from Author-it to MediaWiki <a href="http://www.klocwork.com/blog/2009/12/rtfw/" target="_blank">a few releases ago</a>.  At that point, we translated only a part of our documentation to Japanese – the  help pages for detected issues. For these wiki pages, we used MediaWiki language  templates to display language links at the bottom, and we copied-and-pasted the  translated text.</p>
<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/12/mediawiki-language-template.png"><img class="alignleft size-medium wp-image-1162" style="float: left;" title="mediawiki-language-template" src="http://www.klocwork.com/blog/wp-content/uploads/2010/12/mediawiki-language-template-300x103.png" alt="MediaWiki's language templates" width="300" height="103" /></a></p>
<p>For our most recent release, we expanded the translation effort. This meant  more copy-and-paste – from the wiki to Microsoft Word, to send to the  translator, and then from Word to the wiki, when we received the translated  text.</p>
<p>We discovered that the language templates don&#8217;t work when the page title  contains a backslash, so we had to change some page titles – for example, some  of our page titles include &#8220;C/C++&#8221;. In MediaWiki, changing a page title means  manually editing all pages that link to that page – not so fun.</p>
<p>Recently, one of our product managers (who&#8217;s been doing double-duty as  localization coordinator – a.k.a. Copy-and-Paster Extraordinaire) said that he  needed to get a quote on translating the entire wiki into Japanese. Warning  bells went off in my head. I wondered:</p>
<ul>
<li>How do we ensure that shared content is translated only once? </li>
<li>How do we get the material out of the wiki to send to the translator for a  quote and translation? </li>
<li>Where do we put the translated text? </li>
<li>How well does our documentation lend itself to translation? </li>
</ul>
<p><strong>Handling shared content</strong></p>
<p>We use <a href="http://www.mediawiki.org/wiki/Help:Templates" target="_blank">MediaWiki templates</a> to &#8220;single-source&#8221; documentation. Much as in traditional documentation  platforms, wikis allow you to reuse content. For instance, we use a template for  the current release number, so that we have to edit it only once per release. We  also use templates for information that&#8217;s identical across multiple Klocwork  tools – from phrases to multiple paragraphs.</p>
<p><strong>Getting the content out of the wiki – attempt #1</strong></p>
<p>Clearly, copy-and-paste for 435 wiki pages plus templates = carpal tunnel  syndrome.</p>
<p>Given that we were in the last days of our release, my brain was perhaps not  at its most efficient. We use the <a href="http://meta.wikimedia.org/wiki/Help:Books" target="_blank">MediaWiki Book  extension</a>, so that we (and our users) can create collections of pages that  can be downloaded as PDF. To get a translation quote, I decided to create a  massive PDF.</p>
<p>This was no easy task. I don&#8217;t recommend it, so I won&#8217;t explain the torture  involved. Plus, the resultant PDF did not handle the shared text, so the word  count was not accurate.</p>
<p><strong>Getting the content out of the wiki – attempt #2</strong></p>
<p>Eventually, once our release was out the door and my head cleared, I did some  more reading and investigated <a href="http://meta.wikimedia.org/wiki/Help:Export" target="_blank">MediaWiki&#8217;s XML export  feature</a>.</p>
<p>First, I used the MediaWiki special page &#8220;All Pages&#8221; to display a list of all  of the pages in the Main namespace. This list is displayed in three columns over  several screens, so I pasted all of the page names into an Excel spreadsheet.  Then I created a single column of page titles. Next, I copied this list from  Excel into the MediaWiki page Special:Export. This page requires only a straight  list of page titles, one per line, without the surrounding double square  brackets, so the copy-and-paste from Excel worked perfectly. I chose to include  only the current revision, not the full history. I chose to include templates  (shared text). And I chose to save to file.</p>
<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/12/mediawiki-export-pages.png"><img class="alignleft size-medium wp-image-1163" style="float: right;" title="mediawiki-export-pages" src="http://www.klocwork.com/blog/wp-content/uploads/2010/12/mediawiki-export-pages-300x255.png" alt="MediaWiki's XML export" width="300" height="255" /></a></p>
<p>To my great relief, the XML file was very readable, and shared text was  included only once. The translator provided a second quote and said that they  felt more confident with the XML file than with the earlier PDF.</p>
<p>So, we&#8217;d taken care of points 1 and 2: We got the material out of the wiki  for a quote and translation, and ensured that shared content would be translated  only once.</p>
<p><strong>A medium for translated content</strong></p>
<p>Now, what to do with the translated text? The only sane option would be to  use <a href="http://meta.wikimedia.org/wiki/Help:Import" target="_blank">MediaWiki&#8217;s XML import  feature</a>. To do this, we&#8217;d need to abandon our current model of having the  Japanese pages alongside the English in the same wiki. Instead, we&#8217;d need a  separate Japanese wiki, where we could simply import the translated XML file.  Changing our translation model also means changing how the Japanese  documentation is integrated into our software.</p>
<p><strong>Documentation style</strong></p>
<p>Last and most painful: how well does our documentation lend itself to  translation? My research and common sense told me that we have some work to do.  For example, to make our documentation more engaging and user-friendly, we&#8217;ve  adopted a casual, conversational, and (some might say) humorous style. This can  make translation tricky, but it can also be problematic for ESL readers. And  what we think is funny here in Canada may make no sense, or may be just plain  annoying, across the pond. I&#8217;ll write more about style issues and translation in  a future post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/12/wiki-translation-woes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Top 5 time wasters for developers</title>
		<link>http://www.klocwork.com/blog/2010/12/top-5-time-wasters-for-developers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=top-5-time-wasters-for-developers</link>
		<comments>http://www.klocwork.com/blog/2010/12/top-5-time-wasters-for-developers/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 15:23:26 +0000</pubDate>
		<dc:creator>Patti Murphy</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Software Career]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[lessons learned]]></category>
		<category><![CDATA[time management]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1153</guid>
		<description><![CDATA[Time&#8217;s a precious resource, so the saying goes. Don&#8217;t waste it. That&#8217;s particularly true for developers, who live in the critical path lane. And if there&#8217;s someone who knows a lot about time management, it&#8217;s Russ Sherk, an intermediate developer here at Klocwork, and the father of three young &#8216;uns. Russ works on our Klocwork [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1154" class="wp-caption alignright" style="width: 310px"><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/11/Russ_backup.png"><img class="size-medium wp-image-1154" title="Russ_backup" src="http://www.klocwork.com/blog/wp-content/uploads/2010/11/Russ_backup-300x238.png" alt="" width="300" height="238" /></a><p class="wp-caption-text">Klocwork developer Russ Sherk sporting his mo&#39;stache. It&#39;s hair today, gone tomorrow.</p></div>
<p>Time&#8217;s a precious resource, so the saying goes. Don&#8217;t waste it. That&#8217;s particularly true for developers, who live in the critical path lane.</p>
<p>And if there&#8217;s someone who knows a lot about time management, it&#8217;s Russ Sherk, an intermediate developer here at Klocwork, and the father of three young &#8216;uns. Russ works on our Klocwork Review and Klocwork Inspect products and handles licensing.</p>
<p>For Russ, these are lessons learned over his six-year tenure at Klocwork.</p>
<p>&#8220;These are things you need to think about or you won&#8217;t progress as a developer,&#8221; he says.</p>
<p>Here&#8217;s what to do if you want to waste time:</p>
<p><strong>1. Code without a plan</strong></p>
<p>It&#8217;s easy to get carried away with ideas about cool features, Russ says. This is how you burn through the days&#8211;by doing a lot of things that don&#8217;t need to be done.</p>
<p><em>The fix</em>: Classic agile philosophy. &#8220;You have a story. Then break it up into a list of features that must be done. You take those features and you break them down into tasks taking less than a day, Russ explains. A task taking two to four hours is optimal. The team here uses <a href="http://www.klocwork.com/blog/2010/03/limping-through-agile-part-2/">XPlanner</a> for project/story/task management. You can always augment with pieces of paper.&#8221;</p>
<p><strong>2. Switch tasks constantly</strong></p>
<p>Mental switching eats up a lot of time because you need to evaluate where you were before you switched gears, and then go through it again when you switch back.</p>
<p><em>The fix:</em> Get to a completion point before switching (if you can).</p>
<p><strong>3. Take the idealistic approach to bad or &#8220;delicate&#8221; code </strong></p>
<p>Inheriting problem code makes debugging and feature work more difficult and error prone, Russ says.</p>
<p>&#8220;It&#8217;s tempting to want to fix it all&#8211;but that will always set you back.&#8221;</p>
<p><em>The fix:</em> Fix what you touch to the best of your ability. Schedule larger-scale <a href="http://www.klocwork.com/blog/2010/10/refactoring-if-it-aint-broken-dont-fix-it/">refactoring</a> and reorganization work separately.</p>
<p><strong>4. Build infrequently</strong></p>
<p>This strategy goes beyond the individual developer.  There was a time here when there were only weekly builds (Egad! Say it ain&#8217;t so!). Even 15 minutes per build slows you down, Russ says. The push by development managers for frequent builds has paid dividends.</p>
<p>&#8220;Now, I can go through a build process in 2-4 minutes,&#8221; Russ says. That translates into 10 to 15 builds a day.</p>
<p><em>The fix:</em> Frequent build cycles allow you to make your changes, verify them, and handle bugs quickly.</p>
<p><strong>5. Optimize early and over-engineer</strong></p>
<p>This is the dark side of planning. Over-planning and perfectionism can be paralyzing.</p>
<p>The better approach is to keep it simple, he says.</p>
<p><em>The fix:</em> Plan the bare minimum to get your feature working. After the feature is in place, it&#8217;s time to optimize and refactor.</p>
<p>And there you have it. Surprisingly, World of Warcraft didn&#8217;t even make the list.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/12/top-5-time-wasters-for-developers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PM Thoughts on Code Reviews</title>
		<link>http://www.klocwork.com/blog/2010/11/pm-thoughts-on-code-reviews/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pm-thoughts-on-code-reviews</link>
		<comments>http://www.klocwork.com/blog/2010/11/pm-thoughts-on-code-reviews/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 18:07:59 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[Nasty Bugs]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[code reviews]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1133</guid>
		<description><![CDATA[While I may not be the most active Twitter-er in the world, the one thing I have noticed is that there is an awful lot of activity around the term “code review” lately. Since code reviews have become a widely used practice, I thought I would share one of my experiences about code reviews with [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">While I may not be the most active Twitter-er in the world, the one thing I have noticed is that there is an awful lot of activity around the term “code review” lately. Since code reviews have become a widely used practice, I thought I would share one of my experiences about code reviews with you, from a product manager perspective.</p>
<p>In my first Agile team, many years ago, it was tabled (in our retrospective meeting after a couple of Sprints) that code reviews should be added to our definition of “<a href="http://www.scrumalliance.org/articles/105-what-is-definition-of-done-dod">Done</a>”.  Let’s just say my initial response was less than enthusiastic… but why was that?  Well, in my opinion (perhaps uneducated on this topic), doing code reviews seems to add more to the time it takes to finish stories, so that means less stories are getting done per iteration, which potentially means longer release times, or releases with less functionality than hoped for. This is not something a Product Manager is usually receptive to. After some debate, we put it to a vote where the “yays” defeated the “nays” by a fairly healthy margin (okay, it missed being unanimous by one vote).  So we updated our “Done” criteria and moved into our next Sprint.</p>
<p>Our next couple of sprints went off similar to our earlier sprints, I didn’t really notice any differences. We seemed to have about the same number of stories being started and completed, and I for one was mildly surprised that we were able to maintain the same velocity, even with the extra process of doing code reviews for each story. Curious, I decided to talk to one of the more senior developers about what was going on. He walked me over to our Scrum board and asked me if anything looked different. Nothing jumped out at me initially, until he pointed out that the number of ‘bug’ cards (the dreaded red cards) were significantly less than in those early iterations. He proceeded to tell me that the code reviews were playing a major role in this. Developers were finding things early and fixing them before passing the code onto the testers, leaving the testers to focus on testing the actual features …crazy, I know.<a href="http://www.klocwork.com/blog/wp-content/uploads/2010/11/DSC011661.jpg"><img class="alignright size-medium wp-image-1135" title="Scrum board" src="http://www.klocwork.com/blog/wp-content/uploads/2010/11/DSC011661-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>It really appeared as though the code reviews were producing better code, without actually slowing down the development process. My opinions of code reviews did a complete 180…now they were helping to contribute to better quality code that I could show our customers, without having to sacrifice anything in the way of release delays or velocity degradation. I had become a believer!</p>
<p> I think I have something to Twitter about now…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/11/pm-thoughts-on-code-reviews/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Tools: An ROI Example</title>
		<link>http://www.klocwork.com/blog/2010/07/agile-tools-an-roi-example/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agile-tools-an-roi-example</link>
		<comments>http://www.klocwork.com/blog/2010/07/agile-tools-an-roi-example/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 15:06:02 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Static Analysis]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=1036</guid>
		<description><![CDATA[There has been lots of discussion on this blog (and others for that matter) on the importance of early defect detection, refactoring, and code reviews, but what does it all mean to a team of developers trying to maximize their velocity in a 2 week iteration? Based on a number of studies, and some real-world [...]]]></description>
			<content:encoded><![CDATA[<p>There has been lots of discussion on this blog (and others for that matter) on the importance of <a href="http://www.klocwork.com/blog/2009/06/get-the-red-out/">early defect detection</a>, <a href="http://www.versionone.com/Agile101/Refactoring.asp">refactoring</a>, and <a href="http://www.klocwork.com/blog/2010/04/the-joy-of-code-review-part-4/">code reviews</a>, but what does it all mean to a team of developers trying to maximize their <a href="http://softwaredevelopmenttoday.blogspot.com/2008/10/what-is-velocity-in-agile-software.html">velocity </a>in a 2 week iteration? Based on a number of studies, and some real-world customer feedback  we have put together the following ROI&#8230;but note that this ROI is not measured in dollars, but rather in hours saved, because a development team can more easily relate to a 20 hour time savings per iteration rather than a break even point of 14.5 months. A few assumptions first&#8230;the team is made up of 10 developers, working on 5 stories (each story creates about 300 LOC) every 2 week iteration. Also, we used internal estimates for the refactoring time savings since we couldn&#8217;t find any 3<sup>rd</sup> party data on refactoring ROI. . If you have anything more concrete, I&#8217;d love to hear about it.</p>
<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/07/roi1.jpg"><img class="size-large wp-image-1040 alignleft" title="roi" src="http://www.klocwork.com/blog/wp-content/uploads/2010/07/roi1-e1279631266773.jpg" alt="" width="626" height="187" /></a></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>From this table (which has been a regular slide in our Agile in Action roadshow series) we see that tools can help, in this example just over 40 hours/iteration, which if you break that down further works out to about 1/2 day per developer every 2 weeks. Now that is an ROI that an agile development team can relate to&#8230;</p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/07/agile-tools-an-roi-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting developers to RTFM</title>
		<link>http://www.klocwork.com/blog/2010/05/getting-developers-to-rtfm/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=getting-developers-to-rtfm</link>
		<comments>http://www.klocwork.com/blog/2010/05/getting-developers-to-rtfm/#comments</comments>
		<pubDate>Thu, 27 May 2010 19:08:42 +0000</pubDate>
		<dc:creator>Helen Abbott</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[User Documentation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[technical writing]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=979</guid>
		<description><![CDATA[Documentation is the castor oil of programming. The managers know it must be good, because programmers hate it so much. Gerald M. Weinberg I used to be a strong believer in formal doc reviews. Distribute a draft, plan a meeting, and have everyone gather around the table. But in the last few years, my team [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Documentation is the castor oil of programming. The managers know it must be good, because programmers hate it so much. <a title="Gerald Weinberg" href="http://www.softwarequotes.com/showquotes.aspx?id=605&amp;name=Gerald%20M.%20Weinberg" target="_blank">Gerald M. Weinberg </a></p>
</blockquote>
<p>I used to be a strong believer in formal doc reviews. Distribute a draft, plan a meeting, and have everyone gather around the table. But in the last few years, my team has moved towards mostly meetingless reviews&#8211;because people hate review meetings (you know, like <a href="http://www.klocwork.com/blog/2009/11/the-joy-of-code-review/" target="_blank">code reviews</a>, only worse), because people haven’t always read the drafts when they get to the meeting, and because some of our dev team is overseas.</p>
<ul>
<li>First, we distributed PDFs and asked reviewers to submit comments in email or on a hard copy. For the overseas team, email was the only option. This is not fun for either the reviewer, who has to do a lot of copying and pasting and referring to page numbers, or for the writer.</li>
<li>Then we tried Adobe Acrobat PDF reviews, which allowed all reviewers to comment on the same PDF and view others’ comments. This was a big improvement over the email method.</li>
<li>Now that all of our product documentation is hosted on a MediaWiki-based site, we’ve asked reviewers to edit the pages themselves, or add comments to the Talk pages. This makes life much easier for both reviewers and writers.</li>
</ul>
<p>Still, as <a href="http://justwriteclick.com/" target="_blank">Anne Gentle</a> stresses in <a href="http://www.amazon.com/gp/product/0982219113?ie=UTF8&amp;tag=justwriteclic-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0982219113" target="_blank">Conversation and Community</a>, using a collaborative medium doesn’t guarantee that collaboration will happen.</p>
<p>How do we encourage developers and testers to “own” the documentation for their tools, and to think of help as part of the product? If we can get developers and testers to RTFM, the benefits are obvious. They understand the tools in a way that no one else does, so they’ll provide feedback that no one else can. And they’ll become familiar with the help for the tools they’re responsible for, so they’d know whether a change they’re making or testing would affect the help.</p>
<ul>
</ul>
<p>I thought up a few ways that might increase the amount of review feedback:</p>
<ul>
<li>Create review tasks in our Agile project tracking tool, <a href="http://www.xplanner.org/" target="_blank">XPlanner</a>. A top-down approach, and I wasn’t enthusiastic about it. Kinda like the daily castor oil treatment.</li>
<li>Make everyone’s MediaWiki user page into their doc review page; we’d add links to these pages and reviewers would be notified through email, then they could delete the link when they’ve reviewed it. A nice bottom-up approach, I thought, in the spirit of the wiki.</li>
</ul>
<p>But encouraging collaboration may be less about tools and more about process. If we involve reviewers earlier, they can tell us what they think before we’ve written a draft. A draft takes a long time to review, and if a reviewer doesn’t like it, they might not provide any feedback at all.</p>
<p>As Donna L. Davis says in a <a href="http://www.developerdotstar.com/mag/bookreviews/davis_agiledocumentation.html" target="_blank">review</a> of Andreas Rüping&#8217;s <a href="http://www.amazon.com/Agile-Documentation-Producing-Lightweight-Documents/dp/0470856173/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1274971603&amp;sr=1-1" target="_blank"><em>Agile Documentation</em></a>:</p>
<blockquote><p>Documentation isn’t bad. But bad documentation is terrible.</p>
</blockquote>
<p>Is reviewing docs worse than eating Brussels sprouts? Do you review docs when asked, or do you hide the invitations under the edge of your plate, hoping mom won’t notice? Is the help so bad that you can’t be bothered? Are you just too busy? Are you one of those people who never consults the help for tools you use? Do you think your users will be able to use the tools you’re developing or testing without the docs?</p>
<p>What would make you more inclined to “own” the help for the tools you’re developing or testing?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/05/getting-developers-to-rtfm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Observations from the Agile in Action Roadshow</title>
		<link>http://www.klocwork.com/blog/2010/05/observations-from-the-agile-in-action-roadshow/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=observations-from-the-agile-in-action-roadshow</link>
		<comments>http://www.klocwork.com/blog/2010/05/observations-from-the-agile-in-action-roadshow/#comments</comments>
		<pubDate>Fri, 21 May 2010 19:41:11 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[Static Analysis]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=973</guid>
		<description><![CDATA[Just returned from my second stint on the Agile in Action roadshow with our friends from Electric Cloud, Perforce, and VersionOne, this time visiting the cities of Toronto, Philadelphia and Chicago. Rather than going into minute detail (and the fact it is a Friday afternoon before a long weekend), I thought I would share a [...]]]></description>
			<content:encoded><![CDATA[<p>Just returned from my second stint on the <a href="http://www.perforce.com/perforce/roadshows/register-chicago052010-p4.html">Agile in Action </a>roadshow with our friends from <a href="http://www.electric-cloud.com/">Electric Cloud</a>, <a href="http://www.perforce.com/">Perforce</a>, and <a href="http://www.versionone.com/">VersionOne</a>, this time visiting the cities of Toronto, Philadelphia and Chicago. Rather than going into minute detail (and the fact it is a Friday afternoon before a <a href="http://en.wikipedia.org/wiki/Victoria_Day">long weekend</a>), I thought I would share a few random observations from this trip:</p>
<ul>
<li>Organizations (and individuals) are begging for as much information and guidance as they can get on Agile and tools for Agile, and are willing to give up a days in the office and brave horrific traffic to get it</li>
<li>Teams that are 6 to 9 months practicing Agile think they&#8217;re novices, but in reality are seasoned veterans and have lived through most of the nightmares newer teams are currently facing</li>
<li>Toronto cab drivers have a random-number generator for their &#8220;flat-rate&#8221; fares from the airport</li>
<li>The majority of our audience would rank low to medium on both their knowledge and their adoption of Agile&#8230;they all want to go Agile, they just don&#8217;t know where to start (or if they were started, how they could improve things)</li>
<li>Window seats suck, but not as much as middle seats</li>
<li>Developers do code reviews, but don&#8217;t like doing them&#8230;</li>
<li>&#8230;but you could always count of the one guy in the audience who claimed to like them&#8230;obviously someone&#8217;s living in denial</li>
<li>And finally, if you are in 3 different hotels in 3 nights, keep the sleeve your room key comes in on you at all times&#8230;I guarantee you&#8217;ll forget your room number at least once during the trip. </li>
</ul>
<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/05/Picture1.jpg"><img class="alignleft size-full wp-image-977" title="Picture1" src="http://www.klocwork.com/blog/wp-content/uploads/2010/05/Picture1.jpg" alt="" width="274" height="181" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/05/observations-from-the-agile-in-action-roadshow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>If you want users to RTFM, write a better FM</title>
		<link>http://www.klocwork.com/blog/2010/05/if-you-want-users-to-rtfm-write-a-better-fm/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=if-you-want-users-to-rtfm-write-a-better-fm</link>
		<comments>http://www.klocwork.com/blog/2010/05/if-you-want-users-to-rtfm-write-a-better-fm/#comments</comments>
		<pubDate>Thu, 06 May 2010 13:40:33 +0000</pubDate>
		<dc:creator>Helen Abbott</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[User Documentation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[technical writing]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=963</guid>
		<description><![CDATA[When I was documenting a new refactoring plugin for Vim, I checked out the Vim web site, and came across this blasphemy: Vim isn&#8217;t an editor designed to hold its users&#8217; hands. It is a tool, the use of which must be learned. Later, someone sent me this beauty, from Elitist Jerks: Stop being lazy [...]]]></description>
			<content:encoded><![CDATA[<p>When I was documenting a new refactoring plugin for Vim, I checked out the <a title="Vim web site" href="http://www.vim.org/" target="_blank">Vim web site</a>, and came across this blasphemy:</p>
<blockquote><p>Vim isn&#8217;t an editor designed to hold its users&#8217; hands. It is a tool, the use of which must be learned.</p>
</blockquote>
<p>Later, someone sent me this beauty, from <a title="Elitist Jerks" href="http://www.elitistjerks.com" target="_blank">Elitist Jerks</a>:</p>
<blockquote><p>Stop being lazy and read.</p>
</blockquote>
<p>Are users lazy? Do they expect hand-holding? Do they expect one button and no manual?</p>
<p>Or is this more true to life?</p>
<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/05/If-you-want-them-to-rtfm.jpg"><img class="alignleft size-medium wp-image-964" title="If-you-want-them-to-rtfm" src="http://www.klocwork.com/blog/wp-content/uploads/2010/05/If-you-want-them-to-rtfm-300x225.jpg" alt="If you want them to RTFM, write a better FM" width="300" height="225" /></a><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>In the end, it probably comes down to this: Make tools usable. Then technical communicators can spend more time creating truly helpful help, and less time explaining a bad UI.</p>
<p>If our goal as communicators is not just great help, but a great product, Agile makes more sense than ever.  If we want our usability suggestions to be implemented, we need to get developers’ attention while they’re working on that feature. Find the rough edges that would require a lot of <a title="splainy" href="http://www.urbandictionary.com/define.php?term=Splainy" target="_blank">splainy-splainy</a>, request a change, and then rejoice that we don’t need to explain what’s now obvious. Sometimes it’s hard for me to decide what’s a rough edge. Would my audience of developers find this as confusing as I do? But I’m learning to trust my gut.</p>
<p>At the same time, though I appreciate the benefits of Agile, I’ve started to worry less about the help being “done” at the end of an iteration; instead, I want to make sure I understand a feature well enough before the end of the iteration to suggest design changes and know what help will be required.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/05/if-you-want-users-to-rtfm-write-a-better-fm/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>If Agile is going Lean, then get it right</title>
		<link>http://www.klocwork.com/blog/2010/04/if-agile-is-going-lean-then-get-it-right/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=if-agile-is-going-lean-then-get-it-right</link>
		<comments>http://www.klocwork.com/blog/2010/04/if-agile-is-going-lean-then-get-it-right/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 15:21:48 +0000</pubDate>
		<dc:creator>Eric Hollebone</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=947</guid>
		<description><![CDATA[There has been a start to bring the concepts of  lean manufacturing  into agile development. Recently, Mike Cottmeyer in How to Build a Large Agile Organization proposes that Agile on its own is not enough for a large organization.  In his view, Agile falls short and needs to be supplemented by additional methodologies like Lean or Kanban when coordinating [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/04/Kanban-LeanAgile-WithBacklog.png"><img class="alignleft size-medium wp-image-951" style=" margin-right: 10px;" title="Kanban-LeanAgile-WithBacklog" src="http://www.klocwork.com/blog/wp-content/uploads/2010/04/Kanban-LeanAgile-WithBacklog-300x171.png" alt="" width="300" height="171" /></a>There has been a start to bring the concepts of  lean manufacturing  into <a title="Agile development and static analysis" href="http://www.klocwork.com/solutions/agile-development/" target="_blank">agile  development</a>. Recently, Mike Cottmeyer in <a href="http://www.leadingagile.com/2010/03/okay.html" target="_blank">How to Build a Large Agile Organization</a> proposes that Agile on its own is not enough for a large organization.  In his view, Agile falls short and needs to be supplemented by additional methodologies like Lean or Kanban when coordinating outside the development team.</p>
<p>If adoption of Agile is impeded by its very nature in large organizations and Kanban is the proposed answer, then the Agile solution is insufficient. Agile needs to expand its scope to be relevant and useful for non-developers as well as across development teams.</p>
<p>To understand how Lean applies to Agile development, I&#8217;m going to take a short detour though history.</p>
<p>Mapping manufacturing principles to software development is an interesting cross-pollination of ideas. Discrete manufacturing is quite different from application development, but that doesn&#8217;t mean the software industry can&#8217;t learn a thing or two from a different sector.</p>
<p>Lean was born out of a need to re-invent the manufacturing industry, which had not really evolved since the inventions of Henry Ford and the production line. From Ford&#8217;s time to the post second world war period, most manufacturing was very good at making enormous quantities of the same product, regardless of the demand. Ford&#8217;s famous quote about color clearly exemplified the thinking of the day: &#8220;Any customer can have a car painted any colour that he wants so long as it is black&#8221;. In other words, Ford&#8217;s production line was optimized for manufacturing, not profit, and turned out to be quite inflexible when market conditions changed.</p>
<p>In the 1950s, Sakichi Toyoda made a revolutionary leap forward with two principles:</p>
<ol>
<li>Pull vs. push &#8211; at any point in the production process, the trigger to start work on a production unit is governed by its upstream neighbor.  As an example, I do not start my work on a product unit until the guy following me says he will be able to receive it.</li>
<li>Efficient manufacturing depends on the management of three key inefficiencies: overburden (muri), inconsistency (mura), and eliminating waste (muda).</li>
</ol>
<p>Together, these elements formed the underlying principles that Sakichi spearheaded into what is now known as <a href="http://en.wikipedia.org/wiki/Toyota_production_system">The Toyota Production System (TPS)</a>.  The TPS has subsequently been used as the the basis for Western derivatives such as Just-In-Time, value-stream mapping, Six Sigma and Lean, to name a few.</p>
<p>So what does this have to do with Agile and large organizations?</p>
<p>There are well-documented cases where <a title="Agility XL by Robert Schaaf" href="http://www.sstc-online.org/Proceedings/2007/pdfs/RJS1722.pdf" target="_blank">agile alone was not enough</a>, and that&#8217;s where Lean/TPS can add value.  For the most part though, the application of Lean principles has been limited to just one part: Kanban.</p>
<p>The TPS Kanban methodology has two aspects. First,  a Kanban card is attached to every unit under production and carries contextual information (metadata) about the tasks that need to be performed on that unit  and second, task readiness and data are used to trigger an specific action (work).</p>
<p>Over the past decade, the Agile methodology has been used successfully within  development teams, usually sized between  8 and 15 people. Agile&#8217;s benefits and values for this type of environment have been well articulated by many others (including on <a title="Agile Development" href="http://www.klocwork.com/blog/category/agile-development/">this blog</a>), but most Agile adopters may not have realized the close mapping to Lean/TPS.</p>
<ul>
<li>Muri (overburden) &#8211; overproduction &#8211; in an Agile context, this is usually expressed as over-planning</li>
<li>Mura (inconsistency) - elimination of bugs at the earliest stages, resulting in more  stable and reliable iterations</li>
<li>Muda (waste) &#8211; close interaction with the customer to absorb change and prevent wasted iterations</li>
<li><a title="Kaizen" href="http://en.wikipedia.org/wiki/Kaizen">Kaizen</a> (continuous improvement) &#8211; refactoring, unit testing, system integration</li>
</ul>
<p>Secondly and more importantly for large teams, the TPS/Lean idea of pull vs. push is key. But there are other aspects of Lean/TPS that would benefit software development, Kanban being an important one but not the only one.</p>
<p>In an Agile context, Kanban is usually expressed as a board or wall with movable index cards to visualize units of customer value and work flow. This is where I think the rails have come off Agile/Kanban compared to the original TPS philosophy.  Kanban is just one gear in the whole TPS methodology.  Its an integral part but no more important than the other parts.  To function optimally, the TPS/Lean requires all the piece to be implemented not just one.</p>
<p>The other aspects of TPS/Lean are:</p>
<ul>
<li>Andon (signage, early warning)  - literally means paper lantern and is used to call attention to a problem in the process.  For Agile, it should be express as how do you measure your team&#8217;s progress and convey that information to the whole organization.</li>
<li>Jidoka (autonomation) &#8211; automation with human intelligence.  The efficient use of tools like <a href="http://www.klocwork.com/products/insight/klocwork-truepath/">static analysis</a> and continuous build to aid in development.</li>
<li>Poka-yoke (fail-safing) &#8211; not just exception handling, but actual prevention of faults and counter-measure strategies to prevent the fault from reoccurring.</li>
</ul>
<p>These other parts of the TPS were not born because people like more processes and rules; they came out of need, something the agile methodology has yet to realize it requires.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/04/if-agile-is-going-lean-then-get-it-right/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Joy of&#8230; Code Review (part 4)</title>
		<link>http://www.klocwork.com/blog/2010/04/the-joy-of-code-review-part-4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-joy-of-code-review-part-4</link>
		<comments>http://www.klocwork.com/blog/2010/04/the-joy-of-code-review-part-4/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 13:56:51 +0000</pubDate>
		<dc:creator>Gwyn Fisher</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=945</guid>
		<description><![CDATA[Part IV – Joy is in the eye of the beholder In preceding posts on this topic, I’ve outlined the continuing shift from in-person, physical interactions as being the defining notion of both social and business contexts, towards virtual interactions and marketplaces, and the fact that in all aspects except the most personal the latter [...]]]></description>
			<content:encoded><![CDATA[<p>Part IV – Joy is in the eye of the beholder</p>
<p>In <a href="http://www.klocwork.com/blog/2010/03/the-joy-of-code-review-part-3/">preceding posts</a> on this topic, I’ve outlined the continuing shift from in-person, physical interactions as being the defining notion of both social and business contexts, towards virtual interactions and marketplaces, and the fact that in all aspects except the most personal the latter can fulfill everything expected of the former. But what does all this have to do with engendering a vibrant and successful <a href="http://www.klocwork.com/products/insight-pro/inspect-code-review/">code review</a> practice within a development organization? On the face of it, nothing much. Code review, you could determine, tends to happen within organizations that enforce it, so all we need to do is to pass a rule requiring code review before shipment and we’re gold, right? I mean, what could go wrong?</p>
<p>Unfortunately the reality isn’t so clear cut. Most organizations worth their salt have a “requirement” for code review to be performed. At least on the important bits (a definition I particularly like, particularly when it comes to motivating programmers working on the “unimportant” bits). Or the hard bits (likewise). One awesome process description I saw in action recently called for the architects in the team to review each others’ code, but everybody else got a free ride – because obviously the code that our highest paid, most talented developers produce is the stuff we’re really worried about being wrong, amirite?</p>
<p>Despite such requirements, whether they make sense or not, the rarity of code review is out there for all to see. In fact, we recently <a href="http://www.klocwork.com/blog/2010/03/code-reviews-mandatory-but-ad-hoc/">sponsored</a> the analysts at <a href="http://www.forrester.com/rb/research">Forrester</a> to produce a survey of code review practice in various different development environments (embedded, ISV, IT, etc.) and found that although most developers appear to believe that they live in organizations that do code review, most also claim that it doesn’t happen consistently for some reason or other.</p>
<p>Let’s take the most prevalent excuse claimed: too busy, got other stuff to do. Why is this claimed so uniformly? Certainly developers are busy people – we pay them a lot and expect a lot for that remuneration, after all, so sure they’ve got other stuff to do. But if we put this in another context, perhaps outside of the development process, say visiting Grandma, I’m sure there’s a parallel to be drawn. After all, we should definitely go visit Grandma more often. She’s probably not going to be around that long. She’s a nice lady, and she cooks cute little cupcakes when we do go there. So why not do it more often? Too busy, got other stuff to do. And, of course, it’s <em>really annoying</em> to drop whatever you are legitimately doing (whether development or otherwise) and go visit the old lady with the bad habit of talking about you as if you weren’t in the room.</p>
<p>As a manager, therefore, your task in ensuring code review has a much lower friction profile to it, is to remove what I think I’ll try to trademark as <em>The Grandma Effect</em>. If I have to stop what I’m doing, put on my Sunday best, and sit listening to stories from three decades past, I’m going to find all kinds of reasons not to. But if instead (to stretch the analogy to what I’m sure is the breaking point), Grandma were to learn how to play a <a href="http://www.worldofwarcraft.com/info/classes/rogue/">wtf-pwning Mutilate-spec’d Rogue</a>, then my interactions with her become much more palatable and <em>manageable. </em>Replace the trip to Grandma’s house with the annoyance of setting up a formal code review and you’ll get the picture.</p>
<p>There’s a <a href="http://books.google.com/books?id=MMlxzMNkE_0C&amp;dq=tipping+point&amp;printsec=frontcover&amp;source=bn&amp;hl=en&amp;ei=eoKzS_eNDcX_lgfxqaS6BA&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=4&amp;ved=0CB4Q6AEwAw#v=onepage&amp;q=&amp;f=false">tipping point</a> here, and it revolves around the place and relevance of social tooling within your development team. You, your peers and your reports are currently interacting with friends over <a href="http://windowslive.com/desktop/messenger">MSN</a>, <a href="http://www.twitter.com">Twitter</a>, <a href="http://www.facebook.com">Facebook</a>, you name it. They’re booking dates, arranging weekend schedules, and getting the latest news from <a href="http://www.reddit.com">Reddit</a>. You name it, they’re doing it and it’s all coming to them through a few pretty simple to leverage mechanisms.</p>
<p>Replace their social and common knowledge-gathering activities with knowledge <em>leveraged</em> within the code base, and it’s pretty easy to see how you could graft what has the potential to be a <a href="http://msdn.microsoft.com/en-us/library/aa302437.aspx">very</a> <a href="http://hub.opensolaris.org/bin/view/Project+jds/code_review">annoying</a> <a href="http://searchsoftwarequality.techtarget.com/generic/0,295582,sid92_gci1319923,00.html">activity</a>, e.g. code review, onto a natural way of conducting business. Instead of creating an entire workflow around the invite, simply inform interested parties about commits and let them decide whether to review or not. Instead of insisting on top-down imposition, encourage a bottom-up adoption simply through ubiquitous availability of information.</p>
<p>Nobody forces anybody to use a service like Reddit, after all. It exists and thrives because of the community that finds value in its presence. Personally I interact with it through <a href="http://www.reddit.com/.rss">RSS</a> as I find that the most natural way of learning what it’s got to say. Lots of different feeds of information for the <a href="http://www.reddit.com/r/programming/.rss">different</a> <a href="http://www.reddit.com/r/funny/.rss">types</a> of <a href="http://www.reddit.com/r/science/.rss">news</a>, all presented through a common aggregation mechanism that feels natural, that works well, and that I don’t have to think about.</p>
<p>So, if commits that my team members are making, or commits that others are making to a component for which I feel either moral or actual responsibility are available through that same mechanism, I’m going to take advantage of the tools to review those commits and to make my presence felt.</p>
<blockquote><p><em>No formal review.</em></p>
<p><em>No formal sign-off</em>.</p>
</blockquote>
<p>But also a guarantee of way more participation, and what’s more, a broad reach around the typical chain-of-command style code reviews that we know and hate, instead engaging atypical contributors, not to mention the legion of lurkers just out to learn more. And isn&#8217;t that what it&#8217;s all about at the end of the day?</p>
<p>In summary: don’t <em>require</em> the architect, but <em>appreciate</em> their presence. And instead of bringing the people to the code, bring the code to the people.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/04/the-joy-of-code-review-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where Agile shines</title>
		<link>http://www.klocwork.com/blog/2010/03/where-agile-shines/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=where-agile-shines</link>
		<comments>http://www.klocwork.com/blog/2010/03/where-agile-shines/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 22:22:04 +0000</pubDate>
		<dc:creator>Alen Zukich</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=939</guid>
		<description><![CDATA[In my previous post I discussed where I thought Agile really falls flat.  The problem I have is working remotely.  Several times now I&#8217;ve misinterpreted what exactly we covered in remote meetings.  These have been mostly minor things but they do add up. But here is where there is just a massive difference between Waterfall [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous <a href="http://www.klocwork.com/blog/2010/03/where-agile-sucks/" target="_self">post </a>I discussed where I thought Agile really falls flat.  The problem I have is working remotely.  Several times now I&#8217;ve misinterpreted what exactly we covered in remote meetings.  These have been mostly minor things but they do add up.</p>
<p>But here is where there is just a massive difference between Waterfall versus Agile.  By far the biggest lesson for me and why I love Agile is all based on  visibility.  Having a working product in one simple iteration means the  world.  So even though I was ranting in my previous post, imagine if we were  doing waterfall.  Chaos could have ensued once the  product was integrated (maybe months after).  As many <a title="Leading   Agile" href="http://www.leadingagile.com/2009/01/agile-doesnt-fix-anything.html" target="_blank">point out</a>, iterative development shows us up front  (in two weeks or less) that we have a major problem.  I&#8217;ll stick to  Agile, thank you.</p>
<p>So Agile is great, I&#8217;m all aboard but I still have to do something about working remotely.  Once I get this addressed I should be sailing.</p>
<p>I&#8217;ve come across a few things that people are doing .  Mostly with some interesting video conferencing techniques (<a href="http://lisacrispin.com/wordpress/category/remote-team-members/" target="_blank">here </a>and <a href="http://www.hanselman.com/blog/BuildingAnEmbodiedSocialProxyOrCrazyWebcamRemoteCartThing.aspx" target="_blank">here</a>).  Do these really work?  There are some <a href="http://biblio.gdinwiddie.com/biblio/StudiesOfColocation" target="_blank">studies</a> which are interesting but they are not really applied in an Agile context.  I did come across one <a href="http://www.computer.org/portal/web/csdl/doi/10.1109/ADC.2003.1231464" target="_blank">article </a>that might be helpful&#8230;although I need to shell out a few bucks.  I did find one <a href="http://martinfowler.com/articles/agileOffshore.html" target="_blank">reference</a> on martinfowler.com that I thought was useful as it goes through the key points you need to consider with offshore development.</p>
<p>Overall, I still don&#8217;t have a good plan to deal with this.  So let me ask everyone out there, please let me know if you know of any good references.  I could certainly use some help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/03/where-agile-shines/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Code Reviews &#8211; Mandatory but Ad-Hoc?</title>
		<link>http://www.klocwork.com/blog/2010/03/code-reviews-mandatory-but-ad-hoc/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-reviews-mandatory-but-ad-hoc</link>
		<comments>http://www.klocwork.com/blog/2010/03/code-reviews-mandatory-but-ad-hoc/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 12:33:52 +0000</pubDate>
		<dc:creator>Brendan Harrison</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[Forrester]]></category>
		<category><![CDATA[software verification]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=936</guid>
		<description><![CDATA[The importance of code reviews has already been well covered by lots of smart people like Jack Ganssle and Jason Cohen. Recently, the subject has become more important around here, so we want to offer our take. In particular, we’re looking at the best way(s) to incorporate code reviews into an overall software verification strategy [...]]]></description>
			<content:encoded><![CDATA[<p>The importance of <a href="http://www.klocwork.com/solutions/code-review/">code reviews</a> has already been well covered by lots of smart people like <a title="Peer Code Reviews in Embedded Software" href="http://www.ganssle.com/inspections.htm" target="_blank">Jack Ganssle</a> and <a title="Lightweight Peer Code Reviews" href="http://www.methodsandtools.com/archive/archive.php?id=66" target="_blank">Jason Cohen</a>. Recently, the subject has become <a title="Klocwork Code Review Tool" href="http://www.klocwork.com/products/insight-pro/inspect-code-review/" target="_blank">more important</a> around here, so we want to offer our take. In particular, we’re looking at the best way(s) to incorporate code reviews into an overall software verification strategy and how automated tools (such as <a title="Static Analysis" href="http://www.klocwork.com/products/insight/klocwork-truepath/" target="_blank">static analysis</a>, no shock there) can help unleash the benefits of peer code review. More on that angle another time, first the bigger picture.</p>
<p>Klocwork recently commissioned a survey conducted by Forrester research on this whole topic and the results are pretty interesting. While there’s a whole bunch of data that can’t be covered in a single blog post, a general theme we found is that developers see the value of code reviews, they’re often mandatory, but the process itself seems to be ad-hoc and quite ‘behind the times’. Here’s an example of what I mean:</p>
<div id="attachment_938" class="wp-caption aligncenter" style="width: 642px"><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/03/code_review_data11.png"><img class="size-full wp-image-938 " title="Code Review Survey Data" src="http://www.klocwork.com/blog/wp-content/uploads/2010/03/code_review_data11.png" alt="" width="632" height="336" /></a><p class="wp-caption-text">Code Reviews - Mandatory but Ad-Hoc</p></div>
<p>So, code reviews are mandatory but you can kinda invite whoever you want to review the code. Shouldn’t who reviews the code be pretty important? (Hint: Yes)</p>
<p>We’re gonna keep talking about different aspects of this important development milestone, so stay tuned and we’d be interested to hear anything you have to say on the topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/03/code-reviews-mandatory-but-ad-hoc/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Where Agile sucks</title>
		<link>http://www.klocwork.com/blog/2010/03/where-agile-sucks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=where-agile-sucks</link>
		<comments>http://www.klocwork.com/blog/2010/03/where-agile-sucks/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 16:06:43 +0000</pubDate>
		<dc:creator>Alen Zukich</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=935</guid>
		<description><![CDATA[Unlike Todd who is this blog’s main Agile expert, I’m pretty new to agile.  I’ve gone through the typical training (CSPO) and all the other good stuff,  so I’m drinking the Kool-aid.  But I thought I would provide my perspective,  now that I’ve been working in an Agile shop for a while and tell you [...]]]></description>
			<content:encoded><![CDATA[<p>Unlike <a href="http://www.klocwork.com/blog/author/todd-landry/" target="_blank">Todd</a> who is this blog’s main Agile expert, I’m pretty new to agile.  I’ve gone through the typical training (<a href="http://www.scrumalliance.org/pages/certified_scrum_product_owner" target="_blank">CSPO</a>) and all the other good stuff,  so I’m drinking the Kool-aid.  But I thought I would provide my perspective,  now that I’ve been working in an Agile shop for a while and tell you what I think really sucks.  I’ve read lots of warnings why <a href="http://www.stickyminds.com/sitewide.asp?Function=WEEKLYCOLUMN&amp;ObjectId=12384&amp;ObjectType=ARTCOL&amp;btntopic=artcol" target="_blank">Agile can fail</a> and I’ve tried to stay focused on overcoming the hurdles.</p>
<p>Being a product manager, one of the things that is really ringing true to me is where Agile falls flat&#8211;working remotely.  Lots of discussions on how much it can suck <a href="http://weblogs.asp.net/astopford/archive/2006/08/03/The-impact-of-the-remote-worker-on-Agile-approaches.aspx" target="_blank">here</a>, <a href="http://jrothman.com/blog/mpd/2009/10/what-would-a-successful-agile-all-remote-team-look-like.html" target="_blank">here</a>, <a href="http://blog.mountaingoatsoftware.com/using-a-task-board-with-one-remote-team-member" target="_blank">here</a> and <a href="http://jrothman.com/blog/mpd/2009/10/agile-and-remote-people-part-1-telecommuting.html" target="_blank">here</a>.  As part of my job, I travel&#8230; lots.  If I’m not at a customer meeting I’m at the next trade show.  This means many design and planning meetings are done remotely.  I end up finding we have developed something different than what was originally discussed or at least what I thought.</p>
<p>This gets frustrating because it has a major impact &#8212; all of a sudden as opposed to having that working functionality at the end of the iteration, you are set back by redoing that same work the very next iteration.  About as productive as watching every single sport of the Winter Olympics (I don’t even like figure skating&#8230;I swear).</p>
<p>As much as I&#8217;m puking all over Agile, I&#8217;m still very invested (messy as it is).  Let&#8217;s face it, offshore development is a way of life and there are many things people are using to work in this remote context.  Next week I&#8217;ll post the opposite side of things and discuss the consequences of working remotely along with the value Agile does give you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/03/where-agile-sucks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Everything IS big in Texas</title>
		<link>http://www.klocwork.com/blog/2010/03/everything-is-big-in-texas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=everything-is-big-in-texas</link>
		<comments>http://www.klocwork.com/blog/2010/03/everything-is-big-in-texas/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 13:20:40 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[General Industry]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=931</guid>
		<description><![CDATA[As I write this, I&#8217;m sitting at the Dallas airport, suffering through a 3 hour delay on my flight to Washington D.C. to present at our 2nd Agile in Action Roadshow with our friends from Electric Cloud, Perforce, and VersionOne. As I have the time, I&#8217;ve been reflecting on my time here in Dallas, and [...]]]></description>
			<content:encoded><![CDATA[<p>As I write this, I&#8217;m sitting at the Dallas airport, suffering through a 3 hour delay on my flight to Washington D.C. to present at our 2nd <a href="http://www.electric-cloud.com/lp/road-show_TX030910-KW.php">Agile in Action Roadshow </a>with our friends from <a href="http://www.electric-cloud.com/">Electric Cloud</a>, <a href="http://www.perforce.com/">Perforce</a>, and <a href="http://www.versionone.com/">VersionOne</a>. As I have the time, I&#8217;ve been reflecting on my time here in Dallas, and the phrase &#8220;Everything is big in Texas&#8221; is bang on. Before I get to that though, I have to say that I do love Dallas&#8230;I&#8217;m not totally sure, but I truly believe I&#8217;m treated a little more special because of my last name (which I <em>casually </em>mention whenever<a href="http://www.klocwork.com/blog/wp-content/uploads/2010/03/yukon.jpg"><img class="alignright size-medium wp-image-932" title="yukon" src="http://www.klocwork.com/blog/wp-content/uploads/2010/03/yukon-300x225.jpg" alt="" width="210" height="158" /></a> I get the chance). Nothing like having the same surname as a famous <a href="http://en.wikipedia.org/wiki/Tom_Landry">coach </a>from the Dallas Cowboys!</p>
<p>Okay, so why do I think the Everything is big in Texas is accurate. For starters, my big delay is due to a big thunderstorm. My rental car preference is a Compact car, and what do I get? A Yukon&#8230;I&#8217;m not sure what is bigger, this vehicle, or the Canadian Territory with the same name.</p>
<p>I saw big hair, big hats, big rings, big belt buckles, big omelets, big waffles, and big enchiladas. What I also saw was a big enthusiasm for Agile development. We had a great turnout that was fully engaged from the instant the roadshow began, asking questions wanting to know more, sharing their experiences with others, visiting with the vendors and not leaving until they got the information they needed. I wrote a few weeks ago about <a title="Agile Adoption" href="http://www.klocwork.com/blog/2010/02/agile-adoption-an-update/" target="_blank">Agile adoption</a> and where it currently was, and participating in this event, and speaking with the attendees, it allowed me to gain some additional data points that only strengthened my beliefs on this&#8230;Agile is definitely growing, and in all industries. As I said before, I truly believe almost all organizations have some Agile developments teams.</p>
<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/03/dallas.jpg"><img class="alignleft size-medium wp-image-933" title="dallas" src="http://www.klocwork.com/blog/wp-content/uploads/2010/03/dallas-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Hopefully the enthusiasm I encountered in Dallas will follow us to Washington D.C. And I&#8217;m thinking I may want to introduce myself as Todd Ovechkin&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/03/everything-is-big-in-texas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Joy of&#8230; Code Review (part 3)</title>
		<link>http://www.klocwork.com/blog/2010/03/the-joy-of-code-review-part-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-joy-of-code-review-part-3</link>
		<comments>http://www.klocwork.com/blog/2010/03/the-joy-of-code-review-part-3/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 20:59:17 +0000</pubDate>
		<dc:creator>Gwyn Fisher</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[General Coding]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=916</guid>
		<description><![CDATA[Part III – Joy is All Around Us When you think of a social activity, what do you think of? Perhaps a rave? Or maybe a quiet bridge foursome is more your style? Or even a Matrix-style meet-and-greet complete with latex and contortionists? Ahem… Or maybe you’ve finally let go of this old-world requirement to [...]]]></description>
			<content:encoded><![CDATA[<p>Part III – Joy is All Around Us</p>
<p>When you think of a social activity, what do you think of? Perhaps a rave? Or maybe a quiet bridge foursome is more your style? Or even a Matrix-style meet-and-greet complete with latex and contortionists? Ahem…</p>
<p>Or maybe you’ve finally let go of this old-world requirement to actually be in the presence of an individual to enjoy a social encounter with them, and instead have <a href="http://www.chatroulette.com">embraced</a> the <a href="http://omegle.com/">reality</a> of the 21<sup>st</sup> century, that <a href="http://www.reddit.com">society</a> and social interactions no longer require physical presence, and instead surround us every day, at every minute, as long as we (virtually) get out there and find them. Speaking as a long-time <a href="http://www.worldofwarcraft.com">online gamer</a>, I have a circle of folks I consider friends, with whom I <a href="http://www.ventrilo.com">talk most evening</a>s<a href="http://www.ventrilo.com/"></a>, with whom I’ve spent quality time learning and beating goal-based activities, yet none of whom I’ve ever met. And whilst their reaction to some family tragedy on my part may result in no more than a weak “dude, that blows…” on some forum or other, in every other aspect of social interplay, they fulfill exactly the same role as those few- and far-between actual, you know, <em>friends</em> that each of us cling to throughout life.</p>
<p>According to a <a href="http://en.wikipedia.org/wiki/Friendship#Decline_of_friendships_in_the_U.S.">study on the topic</a> conducted earlier this decade, friendship is becoming something of a luxury for the average American adult. Rather than expanding our circle of friends as travel has become more reachable for the masses, we’ve instead decreased that circle from an average of 3 to just above 1. So are we all just becoming obnoxious, introverted, “bah humbug!” Ebenezer Scrooge wannabes? Perhaps, and certainly that’s the <a href="http://www.usatoday.com/news/nation/2006-06-22-friendship_x.htm">trite response</a> to the statistics for people in search of a quick buzzword or appliance to blame.</p>
<p>But perhaps instead of this reflecting a net diminution of our quality of life, we’re simply replacing much of what was considered necessary in previous generations (beer with the boys, poker night, ice fishing trips, whatever floats your boat) with a more constant, more consistent, but at the same time more arms length notion of <a href="http://www.facebook.com">friendship</a> and <a href="http://www.twitter.com">social interaction</a>. Though different, it fulfills everything we need in terms of <a href="http://news.bbc.co.uk/2/hi/7920434.stm">communication</a> and <a href="http://jcmc.indiana.edu/vol12/issue4/ellison.html">support</a>, but leaves us free to concentrate on our family lives, or personal hobbies, or whatever else makes us happy to be, well, us.</p>
<p>Friendship when <em>we </em>want it, on <em>our </em>terms, and only then.</p>
<p>One potential projection of all of this can be found in the ongoing trending of the social nexus of life, business and relationships towards the online marketplaces that have sprung up around activity-, or focus-based requirements (I referred to this in my first post on this topic, drawing the correlation between <a href="http://www.facebook.com">Facebook</a> and dating, <a href="http://www.linkedin.com">LinkedIn</a> and prospecting, etc.).</p>
<p>Find a marketplace, find a life (or maybe, a <a href="http://www.secondlife.com">Second Life</a>) – and frankly, is that really any different from the actual bricks-and-mortar reality of the rat-infested, smelly locales of the distant past (minus, you know, the scary crone shouting on the street corner, and the propensity for picking up the Black Death at a moment’s notice…)?</p>
<p>Indeed, my Chief Architect likes to describe an attendee at a recent conference as saying something like, “But what should we do about all these <em>old people</em> who can only e-mail or even worse need to use the phone? I mean, how am I supposed to communicate with somebody who doesn’t have a Facebook account, or doesn’t keep up with Twitter?” Note that this wasn’t a casual conversation over a beer, but rather a key point in a presentation (presumably to a room full of people with the requisite qualifications to be able to laugh affably at such an observation).</p>
<p>Whether we like it or not, whether we can personally deal with our relationships migrating into the ether, that’s where they’re headed, at double-quick time. So are you the guy with a red flag making sure that cars only drive at the same speed as horses, or are you busy building a Formula 1 car in your back yard?</p>
<p>And actually, perhaps more importantly, whether you’re either of these, you&#8217;d better believe your staff are busy climbing onboard with everything the new paradigm has to offer, so do you really want to be left playing catch up?</p>
<p>At a recent customer meeting I was surprised to hear that this highly compartmentalized, classified installation was putting a social media strategy in place (they termed it “our space”) to embrace what was happening anyway, and obviously to attempt to contain it within the security mechanisms required by their business. If they can do it, with all the restrictions and fenced-off classified strictures they have to deal with, why can&#8217;t we all?</p>
<p><a href="http://www.klocwork.com/products/insight-pro/inspect-code-review/">Code review</a>, you say? <em>Social</em> code review, more like. The current means of accomplishing the goal is fundamentally broken and will never scale, just like the requirement to only befriend people you could physically reach out and touch. The paradigm is changing, time to keep up&#8230;</p>
<p>And now in a deferential nod to the awesome Douglas Adams, this trilogy of posts on code review as a social activity will be continued in <a title="Code Review Part IV – Joy is in the eye of the beholder" href="http://www.klocwork.com/blog/2010/04/the-joy-of-code-review-part-4/">part IV</a>, coming to a blog near you soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/03/the-joy-of-code-review-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limping through agile: Part 2</title>
		<link>http://www.klocwork.com/blog/2010/03/limping-through-agile-part-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=limping-through-agile-part-2</link>
		<comments>http://www.klocwork.com/blog/2010/03/limping-through-agile-part-2/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 14:28:56 +0000</pubDate>
		<dc:creator>Patti Murphy</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[User Documentation]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=892</guid>
		<description><![CDATA[At the risk of sounding like a co-dependent, in this post I discuss coping mechanisms that a “big picture” technical  writer (say, like my friend Beulah) can use to adjust to working in the granular conditions of an agile environment. Don’t give up the big picture When you work on a bunch of stories or [...]]]></description>
			<content:encoded><![CDATA[<p>At the risk of sounding like a co-dependent, in this post I discuss coping mechanisms that a “big picture” technical  writer (say, like my friend Beulah) can use to adjust to working in the granular conditions of an agile environment.</p>
<p><strong>Don’t give up the big picture</strong></p>
<p><strong> </strong></p>
<div id="attachment_909" class="wp-caption alignright" style="width: 310px"><strong><strong><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/03/Agile_tech_writing_2_tasks1.png"><img class="size-medium wp-image-909" title="Agile_tech_writing_2_tasks" src="http://www.klocwork.com/blog/wp-content/uploads/2010/03/Agile_tech_writing_2_tasks1-300x145.png" alt="Life planning with XPlanner" width="300" height="145" /></a></strong></strong><p class="wp-caption-text">Wouldn&#39;t it be great to use XPlanner for everything? Just imagine the velocity I could achieve.</p></div>
<p><strong> </strong></p>
<p>When you work on a bunch of stories or tasks, it’s trees, trees, trees everywhere  you look and not a forest to be found.  This means that a nice concise how-to could be a long way off while you document myriad  features.</p>
<p>My advice is to finish the pieces and try to get to the minimalist documentation afterwards. In fact, Shannon Greywalker <a href="http://greyfiti.com/2009/why-minimalist-documentation-not-always-good-match-for-agile-development/">suggests going back and fixing things up later</a>, but mentions that the business case for this can be a bit weak.  I think it’s worth the effort if you can swing it.</p>
<p>I’ve blogged before about how <a href="http://www.klocwork.com/blog/2009/10/hounding-your-sources/">workflow can be helpful</a> in getting the big picture. If the feature is big enough, workflow is your friend and can really pull you through.</p>
<p><strong>Go for “What’s New” first</strong><br />
For each release, we document the cool new features on a &#8220;<a href="http://www.klocwork.com/products/documentation/Insight-9.0/What%27s_New">What’s New</a>&#8221; page and &#8220;What’s New&#8221; is where I like to start.</p>
<p>If you can neither summarize nor explain why people would want to use a new feature, you have no business documenting it. &#8220;What’s New&#8221; keeps me focused on the whole point of the development work in the first place.</p>
<p><strong>“XPlan” everything</strong><br />
I was a slow adopter of <a href="http://www.xplanner.org/">XPlanner</a>, which is the tool our team uses to document development, testing and now, documentation.</p>
<p>Documentation has a separate project in XPlanner where we track our stories. At first, I found it difficult to update XPlanner regularly because some of our work can be difficult to account for.</p>
<p>For example, one our sales engineers is a prodigious reader of documentation who meanders over for his (thrice) daily “found a spelling mistake” or “did we document?” or “why can’t titles be printed on the PDFs generated by the wiki?” questions. All good points, with some requiring immediate action and others requiring medium and long-term planning.</p>
<p>But after reading <a href="https://secure.davidco.com/store/catalog/Getting-Things-Done-Paperback-Save-40-p-16175.php">Getting Things Done</a>, I can really see XPlanner as a great life planning tool. See the screenshot above. For low self-esteem days, I recommend first completing tasks such as “Wake up”, “Shower” and “Eat breakfast” under the Personal Maintenance story.</p>
<p><strong>Targeted procrastination</strong><br />
We’ve gone from blanket procrastination, which was a two-week offset, to carefully picking features that could benefit from a little more “fleshing out” before documentation. I like this approach because we show great planning with our procrastination.</p>
<p>For example, I like to spend bigger chunks of time on one thing, so I may delay documenting a bigger feature in favor of knocking some smaller stuff off the list one week, so I can string together several days in a row for the big stuff. I work better that way.</p>
<p><strong>Ask a lot of questions</strong><br />
My modus operandi is asking as many questions as possible. Be annoying, but in a friendly and charming way. There’s<a href="http://www.idratherbewriting.com/2010/02/17/the-art-of-asking-questions/"> an art to asking good questions</a>, but sometimes it takes a bunch of stupid ones to get there. Dive in.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/03/limping-through-agile-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Adoption: An Update</title>
		<link>http://www.klocwork.com/blog/2010/02/agile-adoption-an-update/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agile-adoption-an-update</link>
		<comments>http://www.klocwork.com/blog/2010/02/agile-adoption-an-update/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 16:01:01 +0000</pubDate>
		<dc:creator>Todd Landry</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[General Industry]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=872</guid>
		<description><![CDATA[So awhile back, I was begging for some good statistics on Agile adoption, since at that time, there really wasn’t anything substantial to sink your teeth into. Well, a new report from Forrester came across my desk, and it helped to strengthen what most people believe&#8230;that Agile processes have overtaken Waterfall as the development methodology [...]]]></description>
			<content:encoded><![CDATA[<p>So <a href="http://www.klocwork.com/blog/2009/03/using-iteration-offsets-in-agile-development/">awhile</a> back, I was begging for some good statistics on Agile adoption, since at that time, there really wasn’t anything substantial to sink your teeth into. Well, a new report from <a href="http://www.forrester.com/rb/research">Forrester</a> came across my desk, and it helped to strengthen what most people believe&#8230;that Agile processes have overtaken <a href="http://en.wikipedia.org/wiki/Waterfall_model">Waterfall</a> as the development methodology of choice. In this report, which cites information gathered from a Q3 2009 survey of IT professionals, it states that 35% of respondents said that Agile most closely reflected their development process, while waterfall processes came in at 13%. I would even argue that iterative development could possibly be included in the Agile bucket, not because it is full-fledged Agile, but it is a baby-step in Agile’s direction. Perhaps I’m stretching things there&#8230;</p>
<p>Secondly, the data supports the fact that people are adopting the aspects of Agile that work for them and there’s no monolithic Agile implementation approach, something that is consistent with the many Agile teams I’ve spoken to over the last 3 ½ years or so. I’d be curious to know how many teams out there are doing , say, Scrum “by the book”&#8230;if there is such a thing.</p>
<p><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/02/adoption.jpg"><img class="alignleft size-medium wp-image-873" title="Agile adoption" src="http://www.klocwork.com/blog/wp-content/uploads/2010/02/adoption-300x195.jpg" alt="" width="300" height="195" /></a>Finally, the other thing that the report hinted at, that I have seen firsthand, is that while most organizations are not completely Agile today, they almost all have some groups that are. I honestly believe that the percentage of organizations that have small pockets of groups doing Agile development is very high&#8230;perhaps in the 80s or 90s. I don’t have any hard data on this point, this is more of a gut-feel, but I would be interested to hear from our readers as to what they think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/02/agile-adoption-an-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Death by a thousand cuts</title>
		<link>http://www.klocwork.com/blog/2010/02/death-from-a-thousand-cuts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=death-from-a-thousand-cuts</link>
		<comments>http://www.klocwork.com/blog/2010/02/death-from-a-thousand-cuts/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 19:40:38 +0000</pubDate>
		<dc:creator>Helen Abbott</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[User Documentation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[technical writing]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=836</guid>
		<description><![CDATA[As a manager of a small tech writing team in an agile environment (are there any large tech writing teams left out there?), it’s easy to lose myself in how-the-heck-can-we-keep-up-with-myriad-coders-frantically-coding thinking. So when my manager scheduled a meeting to ask what innovations my team has planned for the next release or two, I thought of [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_850" class="wp-caption alignleft" style="width: 226px"><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/02/orange-slice-crop.jpg"><img class="size-medium wp-image-850  " title="orange slice crop" src="http://www.klocwork.com/blog/wp-content/uploads/2010/02/orange-slice-crop-300x285.jpg" alt="" width="216" height="206" /></a><p class="wp-caption-text">Spend 80% of your time on One Thing.</p></div>
<p>As a manager of a small tech writing team in an agile environment (are there any large tech writing teams left out there?), it’s easy to lose myself in how-the-heck-can-we-keep-up-with-myriad-coders-frantically-coding thinking.</p>
<p>So when my manager scheduled a meeting to ask what innovations my team has planned for the next release or two, I thought of a few choice responses, such as “Um&#8230; how about documenting the new features in time for release? Is that innovative enough for ya?” and “Innovate THIS.”</p>
<p>Eventually I calmed down, since he’s the boss, and I have a mortgage.</p>
<p>I looked at the presentation I’d given after our last research period, that oh-so-short breathing time between releases. I reviewed the precious feedback we’ve gotten from a few customers and thought hard about it. I felt a bit better when I realized several of the goals we’d set for ourselves were already underway.</p>
<p>I dutifully wrote up a wiki page (because I can’t think without writing) that summarized a bunch of initiatives under each of our themes: process, community, quality, coverage, usability, and media. And I decided whether they’d fit into this release or the next. And I sent it off to my manager before our meeting.</p>
<p>He said OK, but where does all this get us?</p>
<p>He called my list depressing. Death by a thousand cuts.</p>
<p>He told me that to be successful, you need to put 80% of your time or money into one thing.</p>
<p>He suggested creating completely different help for just one tool. Throw out the old stuff and start over.</p>
<p>Once I played devil’s advocate for awhile, I began to see where he was going with this. I suggested a tool that I thought would be a good candidate. So I think we’ve picked our One Thing for this release.</p>
<p>Here’s how I’m thinking about our One Thing so far:</p>
<ul>
<li> Make sure everything the user needs to know is accessible from one place.</li>
<li> Target two very different points of interacting with the help: the getting started phase and the troubleshooting phase.</li>
<li> Use media that are best suited to the user and the information that needs to be conveyed.</li>
<li> Make the help interesting, fun and effective. Grab and keep the user&#8217;s attention long enough to convey what needs to be understood. Defuse frustration.</li>
</ul>
<p>And again (annoyingly), my manager is right; it’s much less daunting to try to make one thing better than to try to make everything better.</p>
<p>Now to persuade a few of the developers to star in our walk-through video&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/02/death-from-a-thousand-cuts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Joy of&#8230; Code Review (part 2)</title>
		<link>http://www.klocwork.com/blog/2010/01/the-joy-of-code-review-part-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-joy-of-code-review-part-2</link>
		<comments>http://www.klocwork.com/blog/2010/01/the-joy-of-code-review-part-2/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 16:58:20 +0000</pubDate>
		<dc:creator>Gwyn Fisher</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[Compliance]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://www.klocwork.com/blog/?p=708</guid>
		<description><![CDATA[Part II &#8211; Joy is the word… OK, so Grease is really the word, but it didn’t fit my theme, gimme a break… Anyway, back on topic, since Joy of code review &#8211; part one of this series was published last year we’ve seen our new code review product in action in a variety of [...]]]></description>
			<content:encoded><![CDATA[<p>Part II &#8211; Joy is the word…</p>
<p>OK, so Grease is really the word, but it didn’t fit my theme, gimme a break… Anyway, back on topic, since <a href="http://www.klocwork.com/blog/2009/11/the-joy-of-code-review/">Joy of code review &#8211; part one</a> of this series was published last year we’ve seen our new <a href="http://www.klocwork.com/products/insight-pro/inspect-code-review/">code review</a> product in action in a variety of customer and prospect situations, and much like the eponymous hair product in the musical mentioned above, what we thought of as an interesting twist on an existing paradigm has turned into a bit of a barn burner. I refer, in this case, to the notion of what constitutes a code review if you remove the formalism of the invite from the process.</p>
<p>Consider what I’ll call, for the sake of being what marketers insist on terming “edgy” (for no really good reason as far as I can make out), <em>old fashioned</em> code reviews. You know the type, we talk about how we really should do more of them all the time. Check in your code, mail out a bunch of invites, mail some more when those get declined, gather around a table, project your code and wait for the insults to come rolling in.</p>
<div id="attachment_709" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.klocwork.com/blog/wp-content/uploads/2010/01/Review.jpg"><img class="size-medium wp-image-709 " title="Code Review, the old fashioned way" src="http://www.klocwork.com/blog/wp-content/uploads/2010/01/Review-300x224.jpg" alt="" width="300" height="224" /></a><p class="wp-caption-text">You want to try that again, Mr. Coding Specialist...?</p></div>
<p>On the down side of these things are all the obvious problems… People don’t like getting reviewed, and unless you have a particularly unpleasant architect, the reviewer is no happier about being in the room than the person on the sharp end. Factor in the time, the annoyance of the arrangements, the opportunity cost of yanking the architect away from whatever they were previously doing, and you’ve got a really expensive, not very productive, but very important from a pointy-haired-manager-perspective process.</p>
<p>It’s really the classical no-win situation. Your manager requires it to be done. You hate it, and you know everybody else in the room hates it too. It’s like a giant dose of spinach to a five year old – doesn’t matter how good it is for you, you’d rather scream and sit in the naughty chair all day than let that stuff past your lips.</p>
<p>So when we were thinking about changing the approach to code review, it seemed obvious to us that whilst code review itself is valuable, the means by which it gets accomplished is fundamentally broken. Factor in peoples’ unthinking delight when confronted with anything <a href="http://www.facebook.com" target="_blank"><em>social</em></a> and what the heck, we figured, let’s turn the whole thing on its head. Instead of going top-down into a software organization and helping the manager enforce something unpleasant in an all new and collaborative-y, enterprise-y way, how about reaching out and encouraging bottom-up engagement through a model that people are comfortable with anyway, namely formless (a.k.a. social) communities.</p>
<p>Who’s the most obvious person to review the code of a good developer, after all? It might be their architect, but the chances of a good developer making a blunder of the architectural type (or any kind of dumb error) is probably reasonably low. Not saying it doesn’t happen, but we pay people at that level a good amount of money on the understanding that they produce decent code, so why then treat them like kids? Instead, if the code produced by that guy is made available for <em>anybody</em> to review, quite literally, then rather than getting the architect grumpy because he’d rather be thinking about the next huge money maker than what this guy happened to have done mostly right but nit-pickingly-wrong in this one situation, you get other team members taking part who have (in most cases) more useful input to impart anyway.</p>
<p>Instead of feedback of the “so… rather than using that particular transitive constructor, I’ve found that explicitly instantiating a new object and then initializing only what I need saves me, on average, 3 cycles a day” type, you might get the “hey, I was hacking on that a while back… might want to filter that data, cuz Bob’s front end passes in all kinds of crap… just saying” type instead – your choice, but personally I’d rather hear an hour’s worth of the latter than a moment’s worth of the former…</p>
<p>So who is at the review turns out to be much more important than whether it’s held, given some arbitrary set of “holding” conditions. But of course this comes with its own set of challenges, notably how do you know when you’re done if there’s no formal “meeting” to review your code (and to insult you, have we mentioned that part?).</p>
<p>In fact, it’s much like how the transition from waterfall to Agile was accompanied by many a gnashing of management gums and misplaced wails of “but how will I know if it’s going to be done on time?” But hey, that didn’t work out so bad, did it? People got used to time boxing, to changing requirement sets, to not waiting until it was arbitrarily “finished” and instead shipping it so as to gather feedback faster.</p>
<p>In my next post I’ll look at this new world order from the top down and examine the benefits to encouraging (rather than imposing) a social code review paradigm, and how it can make those metrics we know you care about look better than ever before.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.klocwork.com/blog/2010/01/the-joy-of-code-review-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

