<?xml version="1.0"?><rss version="2.0">
<channel>
<title>AnthillPro Blog - Chaperoning Promiscuous Software</title>
<link>http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html</link>
<description>Every developer has done it. We just needed a bit of XML parsing or a better utility for dealing with connections. So we downloaded a library, stuck it in our code base and used it. It feels good, but reusing software without testing and managing it is ...</description>
<language>en</language>
<managingEditor>Eric Minick</managingEditor>
<lastBuildDate>Tue, 09 Feb 2010 21:18:25 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  <item>
    <title>Re: Chaperoning Promiscuous Software</title>
    <link>http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comment1265750305475</link>
    <description>
      &lt;p&gt;Very timely article. We&#039;re well on our to making this real without really getting in the way of development too. Wolfram sounds like a developer to me ;-)&lt;/p&gt;</description>
    <author>Anonymous</author>
    <comments>http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comments</comments>
    <guid isPermaLink="true">http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comment1265750305475</guid>
    <pubDate>Tue, 09 Feb 2010 21:18:25 GMT</pubDate>
  </item>
  <item>
    <title>Re: Chaperoning Promiscuous Software</title>
    <link>http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comment1265641668664</link>
    <description>
      Thanks for the well thought out response! I agree that implementing this whole system can be heavy handed. It&#039;s very extreme for a mission a simple CRUD application. Teams I know who are writing shrink-box applications take any change to their tool-change or dependency graphs very seriously and test any new version of a component they are upgrading to extensively.&lt;br /&gt;
&lt;br /&gt;
I would also argue that part of the goal is to facilitate developer productivity not hamper it in favor of control. By creating a set of approved components in a well know, easily accessible (and ideally searchable) place, developers don&#039;t need to hunt down various components online, and perform whatever validation they would do on them (usually none). This helps at component finding time, it also helps in a large enterprise as developers switch projects. When they move from one project to another, they find the same XML parsing libraries in place. The same logging technologies in place, etc, etc. Enterprise IT, in reality has quite a lot of friction caused by people moving between projects. If some level of consistency between those projects is facilitated, that friction can be reduced a little bit. &lt;br /&gt;
&lt;br /&gt;
That said, I can see where the testing and the seperate approval organizations can be too much rigor in some teams. At very least, have a central place to store the components and track what you&#039;re using. It&#039;s truly frightening how many teams have no idea what components their using.</description>
    <author>Eric Minick</author>
    <comments>http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comments</comments>
    <guid isPermaLink="true">http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comment1265641668664</guid>
    <pubDate>Mon, 08 Feb 2010 15:07:48 GMT</pubDate>
  </item>
  <item>
    <title>Re: Chaperoning Promiscuous Software</title>
    <link>http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comment1265420537108</link>
    <description>
      That seems like a heavy-process and heavy-handed approach to me.&amp;nbsp; Also the reward structure is all backwards.&amp;nbsp; IT managers and tools that need to &amp;quot;prevent&amp;quot; developers from doing things which are easy and get their job done fastest probably will never be able to tap their developers&#039; full potential.&amp;nbsp; The incentives are mis-aligned.&amp;nbsp; To change behaviors, the organization, culture and practices must be arranged such that the desired behavior is also the easiest thing to do for developers.&lt;br /&gt;
&lt;br /&gt;
And the idea that some in-house test team is supposed to verify 3rd party libraries strikes me an inversion of responsibility as well.&amp;nbsp; This is like hiring a test driver to check that the car I just bought actually is safe to drive.&amp;nbsp; For open source components, why not insist that all libraries have test suites, verify test coverage with your Anthill tool and reject those that don&#039;t pass their own suite or don&#039;t have coverage.&amp;nbsp; For 3rd party proprietary libraries the same applies. The vendor should test it, ideally show this by demonstrating their own test suite.&amp;nbsp; Or else you better check the fine print in the support contract.&lt;br /&gt;
&lt;br /&gt;
Perhaps this sounds too utopian for the Enterprise Java world, but it is standard practice in the Ruby-on-Rails community.</description>
    <author>Wolfram Arnold</author>
    <comments>http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comments</comments>
    <guid isPermaLink="true">http://www.anthillpro.com/blogs/anthillpro-blog/2010/01/25/chaperoning_promiscuous_software.html#comment1265420537108</guid>
    <pubDate>Sat, 06 Feb 2010 01:42:17 GMT</pubDate>
  </item>
  </channel>
</rss>
