<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-7442262522977329981.post6909933952730049270..comments</id><updated>2011-04-25T14:20:34.979-05:00</updated><category term='mocks'/><category term='education'/><category term='Nancy'/><category term='MVC'/><category term='SQL'/><category term='the profession of programming'/><category term='DRY'/><category term='extension methods'/><category term='software development'/><category term='programming language theory'/><category term='TDD'/><category term='Win8'/><category term='configuration'/><category term='humility'/><category term='software engineering'/><category term='internet'/><category term='windows'/><category term='professional development'/><category term='windows services'/><category term='programming languages'/><category term='OpenRasta'/><category term='Nina'/><category term='WinForms'/><category term='structuremap'/><category term='data binding'/><category term='computer science'/><category term='LINQ'/><category term='dependency injection'/><category term='SRP'/><category term='business'/><category term='research'/><category term='lazy programming'/><category term='metablogging'/><category term='REST'/><category term='patterns'/><category term='programming'/><category term='culture'/><category term='meanderings'/><category term='best practices'/><category term='noob'/><category term='COM'/><category term='web services'/><category term='Sinatra'/><category term='object lifetime'/><category term='Martin'/><category term='inversion of control'/><category term='C#'/><category term='WinRT'/><category term='surviving winforms'/><category term='WCF'/><category term='persistence'/><category term='AngularJS'/><category term='templating'/><category term='unit testing'/><category term='RestPoint'/><category term='ADO .NET'/><category term='JavaScript'/><category term='castle windsor'/><category term='test first'/><category term='autofac'/><category term='.NET'/><title type='text'>Comments on Turbulent Intellect: YAGNI Abuse</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.turbulentintellect.com/feeds/6909933952730049270/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7442262522977329981/6909933952730049270/comments/default'/><link rel='alternate' type='text/html' href='http://www.turbulentintellect.com/2011/03/yagni-abuse.html'/><author><name>Chris Ammerman</name><uri>https://profiles.google.com/118440544456036580001</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-t5aQOwp6ZmE/AAAAAAAAAAI/AAAAAAAAACs/uUZHes1MRlI/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7442262522977329981.post-1817337291376116652</id><published>2011-04-25T14:20:34.979-05:00</published><updated>2011-04-25T14:20:34.979-05:00</updated><title type='text'>Completely agreed</title><content type='html'>Completely agreed</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7442262522977329981/6909933952730049270/comments/default/1817337291376116652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7442262522977329981/6909933952730049270/comments/default/1817337291376116652'/><link rel='alternate' type='text/html' href='http://www.turbulentintellect.com/2011/03/yagni-abuse.html?showComment=1303759234979#c1817337291376116652' title=''/><author><name>Nate Schneider</name><uri>http://www.blogger.com/profile/10566971472015747369</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp3.blogger.com/_B4TjQHyx4PI/R123UnumASI/AAAAAAAAACM/aTvkX0DkkpQ/S220/DangerMouse.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.turbulentintellect.com/2011/03/yagni-abuse.html' ref='tag:blogger.com,1999:blog-7442262522977329981.post-6909933952730049270' source='http://www.blogger.com/feeds/7442262522977329981/posts/default/6909933952730049270' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-497232013'/></entry><entry><id>tag:blogger.com,1999:blog-7442262522977329981.post-8541767312457432983</id><published>2011-04-21T19:15:04.740-05:00</published><updated>2011-04-21T19:15:04.740-05:00</updated><title type='text'>Thanks for sharing your own experience on the topi...</title><content type='html'>Thanks for sharing your own experience on the topic. I definitely understand where you&amp;#39;re coming from, and I can believe that you are really facing YAGNI scenarios. There&amp;#39;s a big difference between an architecture astronaut and someone who is just trying to isolate things and make them testable.&lt;br /&gt;&lt;br /&gt;I want to stress again that it&amp;#39;s not YAGNI that I have a problem with. You can&amp;#39;t really ever have too much YAGNI. Either you need something right now, or you don&amp;#39;t. And if you don&amp;#39;t, there&amp;#39;s no reason to implement or prepare for it.&lt;br /&gt;&lt;br /&gt;But I do very strongly believe that it&amp;#39;s important to respect that proper testing legitimately imposes some needs. You aren&amp;#39;t gonna need to offer 3 different implementation of algorithm X. But if you&amp;#39;re unit testing, you ARE gonna need to test that the things that use X are using it properly, without having to jump through hoops to set up scenarios that will play nice with the real X. You aren&amp;#39;t gonna need to support 3 alternative notification mechanisms. But you ARE gonna need to test the things that call those mechanisms, so that you can run your test suite without firing off emails to everyone.&lt;br /&gt;&lt;br /&gt;Doing TDD and test-first development really helps to draw a clear and well-defined boundary between which abstractions are &amp;quot;because in the future we&amp;#39;ll need X&amp;quot;, and which are &amp;quot;because I need to reliably and reproducibly test Y right now.&amp;quot;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7442262522977329981/6909933952730049270/comments/default/8541767312457432983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7442262522977329981/6909933952730049270/comments/default/8541767312457432983'/><link rel='alternate' type='text/html' href='http://www.turbulentintellect.com/2011/03/yagni-abuse.html?showComment=1303431304740#c8541767312457432983' title=''/><author><name>Chris Ammerman</name><uri>http://www.blogger.com/profile/13199328747453354231</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.turbulentintellect.com/2011/03/yagni-abuse.html' ref='tag:blogger.com,1999:blog-7442262522977329981.post-6909933952730049270' source='http://www.blogger.com/feeds/7442262522977329981/posts/default/6909933952730049270' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-326150198'/></entry><entry><id>tag:blogger.com,1999:blog-7442262522977329981.post-8750547009761572561</id><published>2011-04-21T13:04:43.971-05:00</published><updated>2011-04-21T13:04:43.971-05:00</updated><title type='text'>Chris, great post!

It&amp;#39;s interesting that I ca...</title><content type='html'>Chris, great post!&lt;br /&gt;&lt;br /&gt;It&amp;#39;s interesting that I can say that, because the point of your post is actually quite the opposite of what I&amp;#39;ve been feeling/saying a lot lately.  Unlike you (as it seems), instead of being around anti-design people, I find myself around people who feel the need to add 5 layers of abstraction for the simplest, one-off features, to which I&amp;#39;ve adopted &amp;quot;SYAGNI&amp;quot; (Seriously, you aren&amp;#39;t gonna need it).&lt;br /&gt;&lt;br /&gt;It is interesting how one&amp;#39;s surroundings and co-workers at opposite ends of the spectrum can shape opposite opinions on the same topic (too much or not enough YAGNI)...and still agree on its meaning and its importance.&lt;br /&gt;&lt;br /&gt;Here are few more links I love to reference when talking YAGNI:&lt;br /&gt; * &lt;a href="http://c2.com/cgi/wiki?YouArentGonnaNeedIt" rel="nofollow"&gt;YouArentGonnaNeedIt&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork" rel="nofollow"&gt;DoTheSimplestThingThatCouldPossiblyWork&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://c2.com/cgi/wiki?BuildForTodayDesignForTomorrow" rel="nofollow"&gt;BuildForTodayDesignForTomorrow&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;-Nate</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7442262522977329981/6909933952730049270/comments/default/8750547009761572561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7442262522977329981/6909933952730049270/comments/default/8750547009761572561'/><link rel='alternate' type='text/html' href='http://www.turbulentintellect.com/2011/03/yagni-abuse.html?showComment=1303409083971#c8750547009761572561' title=''/><author><name>Nate Schneider</name><uri>http://www.blogger.com/profile/10566971472015747369</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://bp3.blogger.com/_B4TjQHyx4PI/R123UnumASI/AAAAAAAAACM/aTvkX0DkkpQ/S220/DangerMouse.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.turbulentintellect.com/2011/03/yagni-abuse.html' ref='tag:blogger.com,1999:blog-7442262522977329981.post-6909933952730049270' source='http://www.blogger.com/feeds/7442262522977329981/posts/default/6909933952730049270' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-497232013'/></entry></feed>
