<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: Architecture is a Second Order Effect</title>
    <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Architecture is a Second Order Effect</title>
      <description>&lt;p&gt;We often argue that in order to achieve flexibility, maintainability, and reusability, it is important to have a good software architecture.  This is certainly true.  Without a well ordered architecture, software systems become masses of tangled modules and code.  However, the effect of architecture on the &amp;#8216;ilities is secondary to the effect that a good, fast, suite of tests has.&lt;/p&gt;


	&lt;p&gt;Why don&amp;#8217;t we clean our code?  When we see an ugly mass of code that we know is going to cause of problems, our first reaction is &amp;#8220;This needs to be cleaned up.&amp;#8221;  Our second reaction is: &amp;#8220;If I touch this code I&amp;#8217;ll be spending the next two weeks trying to get it to work again.&amp;#8221;  We don&amp;#8217;t clean code because we are afraid we&amp;#8217;ll break it.&lt;/p&gt;


	&lt;p&gt;In this way bad code hooks itself into our systems and refuses to go away.  Nothing stops clean code from going bad, but once it&amp;#8217;s bad, we seldom have the time, energy, or nerve to clean it.  In that sense, bad code is &lt;em&gt;permanent&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;What if you had a button?  If you push this button a little light &lt;em&gt;instantly&lt;/em&gt; turns red or green.  Green means your system works.  Red means it&amp;#8217;s broken. If you had a button like this, you could make small changes to the system, and prove that they didn&amp;#8217;t break anything.  If you saw a batch of tangled messy code, you could &lt;em&gt;start&lt;/em&gt; to clean it.  You&amp;#8217;d simply make a tiny improvement and then push the button.  If the light was green you&amp;#8217;d make the next tiny change, and the next, and the next.&lt;/p&gt;


	&lt;p&gt;I have a button like that!  It&amp;#8217;s called a test suite.  I can run it any time I like, and within seconds it tells me, with very high certainty, that my system works.&lt;/p&gt;


	&lt;p&gt;Of course, to be effective, that test suite has to cover all the code in the system.  And, indeed, that&amp;#8217;s what I have.  My code coverage tools tell me that 89% of the 45,000 lines in my system are covered by my test suite.  (89% is pretty good number given that my coverage tool counts un-executable lines like interfaces.)&lt;/p&gt;


	&lt;p&gt;Can I be absolutely sure that the green light means that the system works?  Certainly not.  But given the coverage of my test suite, I am &lt;em&gt;reasonably&lt;/em&gt; sure that the changes I make are not introducing any bugs. And that reasonable surety is enough for me to be fearless about making changes.&lt;/p&gt;


	&lt;p&gt;This fearlessness is something that needs to be experienced to understand.  I feel no reluctance at all about cleaning up the code in my system.  I frequently take whole classes and restructure them.  I change the names of classes, variables, and functions on a whim.  I extract super-classes and derivatives any time I like.&lt;/p&gt;


	&lt;p&gt;In short, the test suite makes it easy to make changes to my code. It makes my code flexible and easy to maintain.&lt;/p&gt;


	&lt;p&gt;So does my architecture of course.  The design and structure of my system is very easy to deal with, and allows me to make changes without undue impact.  The reason my architecture is so friendly, is that I&amp;#8217;ve been fearless about changing it.  And that&amp;#8217;s because I have a test suite that runs in seconds, and that I trust!&lt;/p&gt;


	&lt;p&gt;So the clean architecture of my system is a &lt;em&gt;result&lt;/em&gt; of on-going efforts supported by the test suite.  I can keep the architecture clean and relevant because I have tests.  I can improve the architecture when I see a better approach because I have tests.  It is the tests that enable architectural improvement.&lt;/p&gt;


	&lt;p&gt;Yes, architecture enables flexibility, maintainability, and reusability; but test suites enable architecture.  Architecture is a second order effect.&lt;/p&gt;</description>
      <pubDate>Sat, 20 Oct 2007 01:58:29 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2b06de7f-540e-411f-97e4-c77a040f3b4a</guid>
      <author>Uncle Bob</author>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect</link>
      <category>Uncle Bob's Blatherings</category>
      <category>Clean Code</category>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by outcall massage singapore</title>
      <description>&lt;p&gt;I just love it &#8230;.. well i don&#8217;t have any doubt about your articles&#8230; your articles are awesome&#8230; Honestly you are simply the best.Thanks for sharing this with us.&lt;/p&gt;</description>
      <pubDate>Thu, 15 Dec 2011 03:18:42 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:e34898fa-f05b-4111-a1f4-98926060233f</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-187167</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by moving company in malaysia</title>
      <description>&lt;p&gt;I really do think this was a very special and interesting article. I have really enjoyed this great information so much.Thanks for sharing this information with us.&lt;/p&gt;</description>
      <pubDate>Thu, 15 Dec 2011 01:53:08 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:3b9eb6f6-33ca-484d-be26-dfc4ff696813</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-187024</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Maine Criminal Justice Academy</title>
      <description>&lt;p&gt;Thanks for this nice article. Will be sure to share this and knowing about Maine Criminal Justice Academy can also be searched for in the
succeeding articles.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Dec 2011 01:56:55 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:20bf6cde-d8cf-470f-921e-8996891d8adb</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-180564</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by beats by dr dre</title>
      <description>&lt;p&gt;A university student&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;beats by dr dre&lt;/a&gt; caught by the enemy, the enemy tied him at the poles,&lt;a href="http://www.drdrebeatsheadphones-australia.com/justbeats-solo-purple-onear-headphones-with-controltalk-p-234.html" rel="nofollow"&gt;just beats solo headphones purple&lt;/a&gt; and then asked him: say, where are you? You do not say it electrocuted! S&lt;a href="http://www.drdrebeatsheadphones-australia.com/cheap-drdre-beats-studio-limited-edition-headphones-blackyellow-p-185.html" rel="nofollow"&gt;cheap dr.dre beats studio headphones balck/yellow&lt;/a&gt;tudents back to the enemy a word, the result was electrocuted, he said: I am TVU.&lt;a href="http://www.drdrebeatsheadphones-australia.com/cheap-beats-by-drdre-pro-performance-professional-headphones-white-p-192.html" rel="nofollow"&gt;Hot sale beats by dr dre pro  headphones&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 15 Nov 2011 03:21:57 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:8ccf4930-eb5b-4b4f-ad34-739c05b020cf</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-173046</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by fine wines singapore</title>
      <description>&lt;p&gt;It was a very nice thought! Just wanna say thank you for the selective information you have distributed. Just continue composing this kind of post. I will be your patriotic reader. Thanks again.&lt;/p&gt;</description>
      <pubDate>Wed, 09 Nov 2011 01:14:47 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:f6cfdf57-02c6-4eaf-bda0-d96477ce0d10</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-170367</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Tips For Bowling</title>
      <description>&lt;p&gt;I was assigned to do a job by the attorney general, and that was to find out whether crimes were committed.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Oct 2011 15:50:09 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:29e78b45-bf20-49e9-a3c7-e8d70313e2d6</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-160286</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by best sleep aid</title>
      <description>&lt;p&gt;i think this can be bookmarked for future referenses , i think i could make use of this ,many thanks for the time you spend writing this , best regards for Canada&lt;/p&gt;</description>
      <pubDate>Fri, 30 Sep 2011 12:34:34 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4d516923-020c-43de-be2a-ca921d21e18c</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-148559</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by forex-tradingplatform</title>
      <description>&lt;p&gt;I enjoyed reading it and i learn a lot! Thanks for sharing this wonderful blog. Keep posting.&lt;/p&gt;</description>
      <pubDate>Wed, 28 Sep 2011 21:29:47 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:7306ecef-2846-4859-9938-d975b709462c</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-147053</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Rejser til Thailand</title>
      <description>&lt;p&gt;I am happy when reading your blog with updated information! thanks alot and hope that you will post more site that are related to this site.&lt;/p&gt;</description>
      <pubDate>Wed, 28 Sep 2011 12:14:08 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:6c2393c3-9a31-4940-bbf5-1060452441bc</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-146806</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by african Mango dr oz</title>
      <description>&lt;p&gt;When I at first left a comment I clicked the &amp;#8220;Notify me when new comments are added&amp;#8221; checkbox and now each time a comment is added I get three notification emails with the same comment. Is there any way you can take away people from that service? Thanks a lot!&lt;/p&gt;</description>
      <pubDate>Tue, 27 Sep 2011 11:01:46 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b95e5aa9-cbaa-421f-a31b-5cb3a1c9d510</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-146086</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by canada goose coat</title>
      <description>&lt;p&gt;&lt;a href="http://www.shopcanadagoosejackets.com/canada-goose-expedition-parka-c-2.html" rel="nofollow"&gt;Canada Goose Outlet&lt;/a&gt;
is Marmot 8000M Parka. The Marmot 8000M Parka is really a waterproof, breathable jacket with 800 fill &lt;a href="http://www.shopcanadagoosejackets.com/canada-goose-youth-parka-c-7.html" rel="nofollow"&gt;canada goose jacket&lt;/a&gt; feathers. It truly is design and light colored shell is produced for trendy, but uncomplicated, protection from cold temperatures. Reinforced shoulders, elbows and adjustable waist and hem make the Marmot a perfect alternate for skiing and other outdoor sports that want fairly a bit of arm motion. The 8000M Parka weighs three lbs., comes in bonfire and black colours and might be stuffed and stored like a sleeping bag to your convenience.This is one of well-know and prime down jacket brands.Hope our friends like its!Like &lt;a href="http://www.shopcanadagoosejackets.com/canada-goose-womens-c-8.html" rel="nofollow"&gt;canada goose womens&lt;/a&gt; and &lt;a href="http://www.shopcanadagoosejackets.com/canada-goose-expedition-parka-c-2.html" rel="nofollow"&gt;Canada Goose Expedition Parka&lt;/a&gt;.There are &lt;a href="http://www.shopcanadagoosejackets.com/" rel="nofollow"&gt;wholesale canada goose&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Thu, 15 Sep 2011 21:23:38 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:477f946f-2e5d-4a3f-8f6c-f8c38514fd9a</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-140985</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by beats by dre store</title>
      <description>&lt;p&gt;&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;high quality headphones&lt;/a&gt;
&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;new design headphones&lt;/a&gt; &amp;#8220;We two have been
6. Yesterday a student was sick, I take a bus 930 back to school to see her, afraid of boring so far way to buy the basketball magazine, all the way t&lt;/p&gt;</description>
      <pubDate>Tue, 23 Aug 2011 03:10:25 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f0f2c048-a52c-4b96-a4d6-e7b77b564e1a</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-131658</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Crystal Jewellery</title>
      <description>&lt;p&gt;Great post! Nice and informative, I really enjoyed reading it and will certainly share this post with my friends .  Read everything  about  &lt;a href="http://www.jewelleryxy.com/colors-of-gold.html" rel="nofollow"&gt;the different colors of gold&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 18 Aug 2011 12:37:47 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:78161949-11ce-4061-88fb-cb60b4caeeeb</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-129493</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Cookies Gift</title>
      <description>&lt;p&gt;it needs a bokmark so i can come back to it later ,nice stuff&lt;/p&gt;</description>
      <pubDate>Sun, 19 Jun 2011 11:58:17 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ae19f73c-58e6-4a22-8d04-9bd1ed0b512a</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-112548</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Supra For Sale</title>
      <description>&lt;p&gt;Not because they are not good, it is simply because of the recession and that not many people are willing to shell out money for properties.&lt;/p&gt;</description>
      <pubDate>Wed, 08 Jun 2011 20:14:10 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:150c604c-24a0-45a2-88c9-4884e160ab11</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-109152</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Jewellery</title>
      <description>&lt;p&gt;&lt;a href="mailto:kolkata.seo@gmail.com" rel="nofollow"&gt;kolkata.seo@gmail.com&lt;/a&gt;
xcv&lt;/p&gt;</description>
      <pubDate>Sat, 04 Jun 2011 06:00:43 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ce515630-885e-4640-ac4a-7cec5c62dfce</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-108061</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by handbags for sale</title>
      <description>&lt;p&gt;If you are really going to sell the dress, I&amp;#8217;d totally be interested in it, since it&amp;#8217;s one of my dream dresses :333&lt;/p&gt;</description>
      <pubDate>Wed, 18 May 2011 22:45:31 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a502b576-f970-4816-a5a7-7a7424ce366d</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-101473</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Hermes belt</title>
      <description>&lt;p&gt;There are various kinds of &lt;a href="http://www.beltsok.com/hermes-belt.html" rel="nofollow"&gt;&lt;b&gt;Hermes belt&lt;/b&gt;&lt;/a&gt; available to match your needs.&lt;/p&gt;</description>
      <pubDate>Wed, 11 May 2011 01:40:16 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:1f361a02-1c43-4541-8b93-b7b70c1b923e</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-97897</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Hermes belts</title>
      <description>&lt;p&gt;Strongly recommended for shopping at &lt;a href="http://beltsok.com/" rel="nofollow"&gt;&lt;b&gt;Hermes belts&lt;/b&gt;&lt;/a&gt; store.&lt;/p&gt;</description>
      <pubDate>Wed, 11 May 2011 01:35:51 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:dc367e2b-572f-463a-9dca-8a796df7f83a</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-97888</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by coach purses</title>
      <description>&lt;p&gt;Mr Coates &lt;a href="http://www.coachonlinehandbags.com" rel="nofollow"&gt;coach purses&lt;/a&gt; is the longest U.S. market popular with one of the most successful leather brand. Mr Coates &lt;a href="http://www.coachonlinehandbags.com" rel="nofollow"&gt;coach purses store&lt;/a&gt; represents the most admirable American fashion innovative style and traditional skills .  Mr Coates &lt;a href="http://www.coachonlinehandbags.com" rel="nofollow"&gt;coach bags&lt;/a&gt; have durable quality and exquisite technology, &lt;a href="http://www.coachonlinehandbags.com/conspicuous-coach-heels-c-79.html" rel="nofollow"&gt;Conspicuous Coach Heels&lt;/a&gt; in the female consumers have good reputation. Welcome to our shop &lt;a href="http://www.coachonlinehandbags.com/elegant-coach-purses-c-83.html" rel="nofollow"&gt;Elegant Coach Purses&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 09 May 2011 20:49:59 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:08b1cddd-0b67-4eb8-bf59-6fb7255fea91</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-97362</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Hermes belt</title>
      <description>&lt;p&gt;&lt;a href="http://www.beltsok.com/hermes-belt.html" rel="nofollow"&gt;&lt;b&gt;Hermes belt&lt;/b&gt;&lt;/a&gt; store offers high quality and cheap designer belts, please have a look.&lt;/p&gt;</description>
      <pubDate>Sat, 07 May 2011 06:35:04 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:5d3e119a-f039-44ee-b761-805e1a460de4</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-95987</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Hermes belts</title>
      <description>&lt;p&gt;Strongly recommended for shopping at &lt;a href="http://beltsok.com/" rel="nofollow"&gt;&lt;b&gt;Hermes belts&lt;/b&gt;&lt;/a&gt; store.&lt;/p&gt;</description>
      <pubDate>Sat, 07 May 2011 06:33:56 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:da72c071-6fd4-49f6-852d-d7ad0d96ac9b</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-95986</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by okey oyunu oyna </title>
      <description>&lt;p&gt;nice paragraph. Thanks&lt;/p&gt;


	&lt;p&gt;internette g&#246;r&#252;nt&#252;l&#252; olarak &lt;a href="http://www.okeyoyunu-oyna.com" rel="nofollow"&gt;okey oyunu oyna&lt;/a&gt;, ger&#231;ek kisilerle tanis,
 turnuva heyecanini yasa.&lt;/p&gt;</description>
      <pubDate>Wed, 27 Apr 2011 11:55:29 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:69f379b7-58e8-443f-b97f-ec2f2d8d1456</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-91812</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Hermes belts</title>
      <description>&lt;p&gt;Strongly recommended for shopping at &lt;a href="http://beltsok.com/" rel="nofollow"&gt;&lt;b&gt;Hermes belts&lt;/b&gt;&lt;/a&gt; store.&lt;/p&gt;</description>
      <pubDate>Wed, 20 Apr 2011 03:10:41 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:28dcb4e1-f4d2-4a22-84ac-637d3cd500ab</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-87643</link>
    </item>
    <item>
      <title>"Architecture is a Second Order Effect" by Hermes belts</title>
      <description>&lt;p&gt;Strongly recommended for shopping at &lt;a href="http://beltsok.com/" rel="nofollow"&gt;&lt;b&gt;Hermes belts&lt;/b&gt;&lt;/a&gt; store.&lt;/p&gt;</description>
      <pubDate>Wed, 20 Apr 2011 03:09:05 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:786a1809-1423-4348-9d6e-42c29382d046</guid>
      <link>http://blog.objectmentor.com/articles/2007/10/20/architecture-is-a-second-order-effect#comment-87640</link>
    </item>
  </channel>
</rss>

