<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>mhinze.com &#187; Agile</title>
	<atom:link href="http://mhinze.com/category/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://mhinze.com</link>
	<description>Matt Hinze, learning in public</description>
	<lastBuildDate>Tue, 14 Feb 2012 16:31:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mhinze.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>mhinze.com &#187; Agile</title>
		<link>http://mhinze.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mhinze.com/osd.xml" title="mhinze.com" />
	<atom:link rel='hub' href='http://mhinze.com/?pushpress=hub'/>
		<item>
		<title>Reuse is overrated, then came package management</title>
		<link>http://mhinze.com/2011/02/27/reuse-is-overrated-then-came-package-management/</link>
		<comments>http://mhinze.com/2011/02/27/reuse-is-overrated-then-came-package-management/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 06:47:10 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">https://mhinze.wordpress.com/?p=324</guid>
		<description><![CDATA[Reuse is overrated.&#160; True story: a team building a system.&#160; They decide that one chunk of code might be valuable in another project or two.&#160; So they extract it into a library and open source it. Project complete, team reorganizes &#8230; <a href="http://mhinze.com/2011/02/27/reuse-is-overrated-then-came-package-management/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mhinze.com&amp;blog=678824&amp;post=324&amp;subd=mhinze&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Reuse is <a href="http://www.infoq.com/news/2007/07/worthless-code">overrated</a>.&nbsp; </p>
<p>True story: a team building a system.&nbsp; They decide that one chunk of code might be valuable in another project or two.&nbsp; So they extract it into a library and open source it. </p>
<p>Project complete, team reorganizes and begins a couple new projects.&nbsp; Both new projects depend on that library.&nbsp; For awhile everything is great. </p>
<p>Sooner or later someone needs to make a change.&nbsp; It’s sort of a pain, because the source code is in another IDE configuration.&nbsp; Actually it’s been awhile since anyone worked on it and it’s hard to find a developer on the team who has that version of the IDE installed.&nbsp; But the change happens, painful as it may be, because it has to. </p>
<p>Someone later gets lazy.&nbsp; They build it locally and copy the assemblies directly into the lib folder.&nbsp; Now the library was compiled from source code that’s not in the version control system.&nbsp; This is spinning out of control.&nbsp; Or maybe that was intentional – because the other team is using the library too, but they have different needs and we’ve sort of been in a mutually-assured-destruction paralysis about what changes to make. </p>
<p>Eventually someone realizes the solution is not to depend on this library, the compiled bits, but to just copy the source code over.&nbsp; We need to make our tweaks, they need to make their tweaks.&nbsp; It makes sense.&nbsp;&nbsp; So we lose our code reuse; does anyone care?&nbsp; </p>
<p>This dirty-feeling code copying can be a good idea for a non-technical reason:&nbsp; it emphasizes that <strong>the important element of reuse is the human expertise to understand, create, use and modify a solution that solves a particular problem</strong>.</p>
<p>Turns out NuGet is great for this.&nbsp; I noticed that Rob Conery packaged his <a href="http://nuget.org/Packages/Packages/Details/Massive-1-0">Massive</a> library as just a file.&nbsp; A source code file.&nbsp; Not a .dll.&nbsp; Great idea, and I immediately thought of all the code that I want to share among many projects but also have the flexibility to change, <em>now – without context switching or fear of repercussions</em>.</p>
<p>You just put the files in a Content subdirectory and the NuGet process will shove them in the project root or App_Code or wherever.</p>
<p>I <a href="http://nuget.org/Packages/Packages/Details/Enumeration-1-0-2">did the same</a> with a little <a href="http://www.lostechies.com/blogs/jimmy_bogard/archive/2008/08/12/enumeration-classes.aspx">utility class</a> that we use a lot, and I’m going to do it some more.&nbsp; </p>
<p>For many teams, a <a href="http://nuget.codeplex.com/wikipage?title=Hosting%20Your%20Own%20Local%20and%20Remote%20NuPack%20Feeds">hosted NuGet feed</a> with content files is the new helper library.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mhinze.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mhinze.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mhinze.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mhinze.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mhinze.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mhinze.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mhinze.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mhinze.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mhinze.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mhinze.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mhinze.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mhinze.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mhinze.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mhinze.wordpress.com/324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mhinze.com&amp;blog=678824&amp;post=324&amp;subd=mhinze&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mhinze.com/2011/02/27/reuse-is-overrated-then-came-package-management/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d6043840ea98542a9c9331c7e7940b1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mhinze</media:title>
		</media:content>
	</item>
		<item>
		<title>Glorifying Agile</title>
		<link>http://mhinze.com/2008/08/21/glorifying-agile/</link>
		<comments>http://mhinze.com/2008/08/21/glorifying-agile/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 02:51:05 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://mhinze.com/?p=71</guid>
		<description><![CDATA[As a student of Agile theory but not involved in team practice until recently, I happily acknowledge that my understanding is incomplete.&#160; But I was surprised to realize this week that one of the mind-sets contributing to my ignorance did &#8230; <a href="http://mhinze.com/2008/08/21/glorifying-agile/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mhinze.com&amp;blog=678824&amp;post=71&amp;subd=mhinze&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As a student of Agile theory but not involved in team practice until recently, I happily acknowledge that my understanding is incomplete.&#160; But I was surprised to realize this week that one of the mind-sets contributing to my ignorance did not involve lack of practical experience, but rather a glorification of Agile.&#160; </p>
<p>I had it on a pedestal &#8211; shining, holy, even &#8211; a easy, breezy process in which things happened with little effort.&#160; Maybe I was confusing &#8220;idealism&#8221; from the reality of &#8220;ideal&#8221;.  I guess I&#8217;m discovering what practitioners have known forever: Agile is anything but laissez faire.&#160; It requires serious mental discipline.&#160; The discipline and transparency involved is, to put it bluntly: more work.&#160; This is a good thing.&#160; </p>
<p>More work doesn&#8217;t mean more difficult work, more ineffective work, more spinning of wheels &#8211; it means more tasks complete, less &quot;play time&quot;, and a more satisfying &quot;leaving work experience&quot;.&#160; Just don&#8217;t let all that hard work surprise you.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mhinze.wordpress.com/71/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mhinze.wordpress.com/71/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mhinze.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mhinze.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mhinze.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mhinze.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mhinze.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mhinze.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mhinze.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mhinze.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mhinze.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mhinze.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mhinze.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mhinze.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mhinze.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mhinze.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mhinze.com&amp;blog=678824&amp;post=71&amp;subd=mhinze&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mhinze.com/2008/08/21/glorifying-agile/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0d6043840ea98542a9c9331c7e7940b1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mhinze</media:title>
		</media:content>
	</item>
	</channel>
</rss>
