<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Shimon Krokhmal's blog - TDD</title>
    <link>http://www.krokhmal.com/</link>
    <description>medium : .NET | JavaScript | Secure coding | Databases | Sql Server | Oracle | CodeSmith | SPS | Life</description>
    <language>en-us</language>
    <copyright>Shimon Krokhmal</copyright>
    <lastBuildDate>Mon, 19 Nov 2007 07:32:59 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>Shimonkr@gmail.com</managingEditor>
    <webMaster>Shimonkr@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.krokhmal.com/Trackback.aspx?guid=1f761eed-1b01-4a57-a386-60b9e1e3bdd8</trackback:ping>
      <pingback:server>http://www.krokhmal.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.krokhmal.com/PermaLink,guid,1f761eed-1b01-4a57-a386-60b9e1e3bdd8.aspx</pingback:target>
      <dc:creator>Shimon krokhmal</dc:creator>
      <wfw:comment>http://www.krokhmal.com/CommentView,guid,1f761eed-1b01-4a57-a386-60b9e1e3bdd8.aspx</wfw:comment>
      <wfw:commentRss>http://www.krokhmal.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1f761eed-1b01-4a57-a386-60b9e1e3bdd8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the last few weeks, i was doing a deep dive into some development methodologies
such as TDD, <a href="http://www.krokhmal.com/2007/10/26/BDDTDDIntroduction.aspx">BDD</a>,
and scrum.<br />
what was bothering be about the TDD approach is the concept of designing for testability.<br />
in early stages of my research, i spoke with <a href="http://blogs.microsoft.co.il/blogs/ndobkin/">Nati</a>,
a good friend of mine that practicing TDD in his team,<br />
he told me that in order to write practice TDD it is imperative to write testable
code.<br />
What is testable code i asked ?<br />
Well, this is not a simple question to answer, <a href="http://weblogs.asp.net/rosherove/">roy
Osherove</a> has even written a <a href="http://www.manning.com/osherove/">book</a> about
that,<br />
from changing the design of your application, like using MVP to an "Inherit &amp;
Override" practice .<br />
all these practices make your TDD life easier, but we need to ask ourselves one simple
question :<br />
"<strong>What is the purpose of your application ?</strong>", 
<br />
seems like a stupid question to raise, but due to the noticeable progress of the software
industry towards TDD blindly, 
<br />
this may affect the software performance/Quality "Just" for making our code testable.
</p>
        <p>
I came across Eli Lopian's article about <a href="http://www.codeproject.com/dotnet/StopDesign4Tests.asp">Stop
Designing for Testability</a>, which confirms my concerns about the issue, i Totally
agree with him.<br />
testable code has an added value, but must we not forget the real purpose of the application,
which is to run best in production environment.
</p>
        <p>
This post is a sort of a reply post to <a href="http://blogs.microsoft.co.il/blogs/ndobkin/archive/2007/11/17/testable-code-is-it-worth-it.aspx">nati's
post - Testable code, is it worth it ?</a> regarding that matter.
</p>
        <p>
Testable application is certainly an added value to the development process and to
the business as one,<br />
but we must be careful not to make it the main issue of the application.<br />
a great example of how TDD should be done is the <a href="http://www.TypeMock.Net">TypeMock.Net</a> tool,
which allows you coding TDD without affecting the performance and OOP design
of the application, in my opinion, this is the way to go the TDD way.
</p>
        <p>
What do you think about this matter ?
</p>
        <img width="0" height="0" src="http://www.krokhmal.com/aggbug.ashx?id=1f761eed-1b01-4a57-a386-60b9e1e3bdd8" />
        <br />
        <hr />
Shimon krokhmal, a part of the Krokhmal family</body>
      <title>TDD approach - Does redefining application purpose necessary?</title>
      <guid isPermaLink="false">http://www.krokhmal.com/PermaLink,guid,1f761eed-1b01-4a57-a386-60b9e1e3bdd8.aspx</guid>
      <link>http://www.krokhmal.com/2007/11/19/TDDApproachDoesRedefiningApplicationPurposeNecessary.aspx</link>
      <pubDate>Mon, 19 Nov 2007 07:32:59 GMT</pubDate>
      <description>&lt;p&gt;
In the last few weeks, i was doing a deep dive into some development methodologies
such as TDD, &lt;a href="http://www.krokhmal.com/2007/10/26/BDDTDDIntroduction.aspx"&gt;BDD&lt;/a&gt;,
and scrum.&lt;br&gt;
what was bothering be about the TDD approach is the concept of designing for testability.&lt;br&gt;
in early stages of my research, i spoke with &lt;a href="http://blogs.microsoft.co.il/blogs/ndobkin/"&gt;Nati&lt;/a&gt;,
a good friend of mine that practicing TDD in his team,&lt;br&gt;
he told me that in order to write practice TDD it is imperative to write testable
code.&lt;br&gt;
What is testable code i asked ?&lt;br&gt;
Well, this is not a simple question to answer, &lt;a href="http://weblogs.asp.net/rosherove/"&gt;roy
Osherove&lt;/a&gt;&amp;nbsp;has even written a &lt;a href="http://www.manning.com/osherove/"&gt;book&lt;/a&gt; about
that,&lt;br&gt;
from changing the design of your application, like using MVP to an "Inherit &amp;amp;
Override" practice .&lt;br&gt;
all these practices make your TDD life easier, but we need to ask ourselves one simple
question :&lt;br&gt;
"&lt;strong&gt;What is the purpose of your application ?&lt;/strong&gt;", 
&lt;br&gt;
seems like a stupid question to raise, but due to the noticeable progress of the software
industry towards TDD blindly, 
&lt;br&gt;
this may affect the software performance/Quality "Just" for making our code testable.
&lt;/p&gt;
&lt;p&gt;
I&amp;nbsp;came across Eli Lopian's article about &lt;a href="http://www.codeproject.com/dotnet/StopDesign4Tests.asp"&gt;Stop
Designing for Testability&lt;/a&gt;, which confirms my concerns about the issue, i Totally
agree with him.&lt;br&gt;
testable code has an added value, but must we not forget the real purpose of the application,
which is to run best in production environment.
&lt;/p&gt;
&lt;p&gt;
This post is a sort of a reply post to &lt;a href="http://blogs.microsoft.co.il/blogs/ndobkin/archive/2007/11/17/testable-code-is-it-worth-it.aspx"&gt;nati's
post&amp;nbsp;- Testable code, is it worth it ?&lt;/a&gt;&amp;nbsp;regarding that matter.
&lt;/p&gt;
&lt;p&gt;
Testable application is certainly an added value to the development process and to
the business as one,&lt;br&gt;
but we must be careful not to make it the main issue of the application.&lt;br&gt;
a great example of how TDD should be done is the &lt;a href="http://www.TypeMock.Net"&gt;TypeMock.Net&lt;/a&gt;&amp;nbsp;tool,
which allows you coding TDD&amp;nbsp;without affecting the performance and OOP design
of the application, in my opinion, this is the way to go the TDD way.
&lt;/p&gt;
&lt;p&gt;
What do you think about this matter ?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.krokhmal.com/aggbug.ashx?id=1f761eed-1b01-4a57-a386-60b9e1e3bdd8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Shimon krokhmal, a part of the Krokhmal family</description>
      <comments>http://www.krokhmal.com/CommentView,guid,1f761eed-1b01-4a57-a386-60b9e1e3bdd8.aspx</comments>
      <category>Development process</category>
      <category>TDD</category>
    </item>
  </channel>
</rss>