<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I don't know what your job description is, or any details about your work environment, so I'll steer clear of that and talk about my own experience only: <div>For 95% of my work as a software developer, I'd say that if I thought my job was just to write code, I'd be doing it wrong. Generally what I should be doing is delivering a system that meets specific requirements that are either in my own head or have been more formally described by a business owner.<div>Writing the code has always been quite a small part of that process.<div>The ideas behind TDD/BDD have been around for a long time. 20 years ago people were writing pre- and post- conditions for code in an attempt to both more formally specify what the code was supposed to do, and test whether it was doing it right. </div><div>Most of the changes in the past couple of years have been more about getting people to think about the concepts in a more rigourous way, and formalising a process of specification driven development. If your tests are also your specifications, then you can better ensure that you have met them.</div><div>In a lot of small projects you can get away with starting with a blank page and coding until it 'feels right', but I'd argue that it really doesn't take long before more rigourously defining what you are trying to achieve before you start is going to be beneficial.</div><div><br></div><div>Just my 2p's worth on the discussion. I'm replying to this particular message because it seemed like a good kick off point, but if it seems that I'm putting words in your month, I'm probably just talking in generalities :)</div><div><br></div><div>Except for this:</div><div><blockquote type="cite">Usually it doesn't need testing as it attempts to be clear and concise which Ruby<br>is good at (I like code that fits on one sheet of paper).</blockquote>This I disagree with completely! Code can look nice, can be short, can look nice <i>and</i> be short, and still be wrong. It does need testing!</div><div><br></div><div><br></div><div><div><div>On 19 Feb 2009, at 11:01, Romek wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>I write code. I write code that needs testing (not tests). Usually it<br>doesn't need testing as it attempts to be clear and concise which Ruby<br>is good at (I like code that fits on one sheet of paper).<br><br>Why should I write tests that need code? Seems absurd to me. I have<br>and still don't get this TDD and am glad that I have nothing to do<br>with it.<br><br>To me writing tests for code is like having a chicken and trying to<br>design an egg that fits. To me this is just constricting the code to<br>do exactly what the tests require. This is very good for formal<br>specifications when everything is correct and doesn't change. I prefer<br>designing the egg to fit the chicken when you can have all the glory<br>of discovering what strange breeds you can evolve from letting the egg<br>just hatch.<br><br>Romek<br></div></blockquote></div><div apple-content-edited="true"><font class="Apple-style-span" color="#484848" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font> </div><br></div></div></div></body></html>