<?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: Why play a scale when you could be playing a tune?</title>
    <link>http://blog.objectmentor.com/articles/2007/01/04/why-play-a-scale-when-you-could-be-playing-a-tune</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Why play a scale when you could be playing a tune?</title>
      <description>&lt;p&gt;Many years ago I read an interview with Pat Metheny in which the interviewer asked him about how he approaches practicing scales. This is from memory from a long time ago, so forgive any misquotes (and if anyone can help me find the text of the interview I&amp;#8217;ll be glad to update this post), but he responded with something like &amp;#8220;Scales are an important part of improvising and there are elements of scales in everything we play. But practicing scales by themselves isn&amp;#8217;t that interesting. Why would you want to play a scale when you could be playing a tune?&amp;#8221;&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ve heard other musicians talk about this in terms of &amp;#8220;if you practice scales you&amp;#8217;ll play scales on the gig&amp;#8221;. I believe this to be true, and can be found manifested in the music of many who like to call themselves jazz musicians.&lt;/p&gt;


	&lt;p&gt;That always resonated with me as an aspiring musician, and has manifested itself within my sensibilities about software as craft. This relates to why I&amp;#8217;ve latched on to &lt;span class="caps"&gt;BDD&lt;/span&gt; and the surrounding conversation.&lt;/p&gt;


	&lt;p&gt;Focusing on internal state and structure in your tests is like practicing scales. The end result is often code that is clean in a vacuum, but doesn&amp;#8217;t express its intent well &amp;#8211; just like hearing that guitar player running scales up and down (again). It may use the most theoretically efficient techniques, but it fails to tell a story.&lt;/p&gt;


	&lt;p&gt;Focusing on observable behaviour in your tests is like practicing melodies. The result is that your code is more likely to express its intent. It&amp;#8217;s more likely to be just the right code for that particular requirement. Just like the improvisor who always plays exactly the right thing for that moment.&lt;/p&gt;</description>
      <pubDate>Thu, 04 Jan 2007 23:21:35 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:ade050fc-2417-4afb-9f2b-5c003c607125</guid>
      <author>David Chelimsky</author>
      <link>http://blog.objectmentor.com/articles/2007/01/04/why-play-a-scale-when-you-could-be-playing-a-tune</link>
      <category>David's Delirium</category>
    </item>
    <item>
      <title>"Why play a scale when you could be playing a tune?" by mnrp</title>
      <description>&lt;p&gt;I always tried to approached practicing (scales, tunes, sonatas, whatever) like I was playing music, so that when I was performing (sonatas, tunes, scales, whatever) I sounded like I was playing music not practicing.  Maybe tests are like that: write them to be &lt;i&gt;software&lt;/i&gt; not tests.&lt;/p&gt;</description>
      <pubDate>Wed, 17 Jan 2007 08:52:13 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:da7e38e6-b74d-4c3a-91c3-f8b8ef1f9e72</guid>
      <link>http://blog.objectmentor.com/articles/2007/01/04/why-play-a-scale-when-you-could-be-playing-a-tune#comment-34</link>
    </item>
  </channel>
</rss>
