Title Image

Don Xml's Grok This

The home of Don Demsak
Welcome to Don Xml's Grok This Sign in | Help
in Search

This Blog

Syndication

Site Sponsors

DonXml's All Things Techie

Rocky Lhotka and Test Driven Development

Rocky accidentally ignited the wrath of a couple .Net Test Driven Design guys (see Jeff Palermo’s post for a good example). with his recent interview on .Net Rocks, and then tries to explain his comments a bit better on his blog entry: Forests, trees, testing and design.  Now, I don’t always agree with Rocky’s architecture ideas, but I definitely understand the position he is in.  As someone that has also interviewed on .Net Rocks, let me tell you, it isn’t easy to intelligently express yourself just using audio as the communications mechanism, and try to be entertaining at the same time (aka not be a bore).  Certain folks like Chris Sells, Don Box, Scott Hansleman, and Rory Blyth have that natural gift, but when the majority of us try it, we either come off as boring, or too controversial.  There are the rare occasions that we can pull it off (with the help of Carl and the post production crew), which is what you strive for.  But this a topic all onto it’s own.

But the heart of the matter is that some people get just a little to touchy about Test Driven Development(we call this stuff evangelism for a reason, because it can border on religious fervor).  Rocky mentions that he is mostly of the CRC (class, responsibility and collaboration) mindset.  He doesn’t buy into Test Driven Development as a design methodology (and admits that his knowledge of TDD is a bit lacking).  Which is pretty amusing to me since CRC helped to spawn the Test Driven Development methodology.  CRC also helped to create Domain Driven Design (which is my preferred design methodology).  It seems to me that Test Driven Development and Domain Driven Design are just specialized implementations of CRC Cards.  In researching this idea, when I searched on DDD and TDD, I found this cool 2 day class on Domain Driven Design by Catalysts:

Software projects have to overcome a lot of hurdles, e.g. how to get from requirements to a good design.  On the first day, you learn simple techniques like CRC Cards (Class Responsibilities Collaborators) and Color Modeling. As an alternative to these analysis and design techniques, we show on an example, how you can grow design organically with test-driven development.  On the second day, you learn Domain-Driven Design (as defined by Eric Evans), how you can develop the design in a language that all project participants can understand ("Ubiquitous Language").

Hopefully we can all learn to get along, since we are all talking about the same thing, teaching developers that they need to apply better engineering practices.

Published Friday, March 31, 2006 1:48 PM by donxml

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Jeffrey Palermo said:

I completely agree with you. All good points.

I love Domain Driven Design as well, and I think my software is stronger with a clear domain model.

A good mix of common sense methodologies is good, and nothing takes the place of good engineering.
March 31, 2006 2:43 PM

Ayende Rahien said:

Don, I don't think the issue is TDD vs. anything else.
The issue was mis-representation of the way TDD works.
April 1, 2006 5:02 AM

Rory said:

"we can pull it off (with the help of Carl and the post production crew"

d0od.

That's how the whole thing works :) *None* of us sound(ed) intelligent until Carl and Geoff went to work with ctrl-c and ctrl-v.

The hard part of editing .NET Rocks wasn't adding the music or whatever - it was trying to use cut and past to rearrange the words coming out of our mouths so that we didn't all sound like we had been chugging absinthe shooters before the show :)

And, for the record, you were one of my favorite guests.
April 15, 2006 8:38 PM

Jay R. Wren - lazy dawg evarlast » Archive » Software is highway and bridge building, not house building. RE: Fixed Price Bids said:

PingBack from http://little.xmtp.net/blog/2006/07/07/software-is-highway-and-bridge-building-not-house-building-re-fixed-price-bids/
November 9, 2006 2:22 PM

Sam Gentile said:

Oh no, here he goes again with one of those Agile posts, he must be on a religious fervor again, yah

December 11, 2007 5:17 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About donxml

I’m an independent consultant, specializing in .Net solutions architecture, based out of New Jersey who also doubles as an evangelist for XML, Domain Driven Design, enterprise architecture and .Net. I do not work for Microsoft, the W3C or any other big company that you may know of (at least not yet). I’ve been an indie for over ten years, and although I’ve been tempted a couple times to take a job with companies like Microsoft, I’ve haven’t found something better than my current situation. I work mostly with the large pharmaceuticals that are based here in New Jersey, and usually find myself on long term contracts. Definitely not the prototypical indie consultant, but it lets me dedicate time to my non-income generating activities like the developer community stuff, plus financing open source projects like XPathmania and MVP-XML. If you would like to talk to me about doing some contract work, just contact me via the contact page. My rates vary widely, depending on lots of different variables, but mostly distance from Jersey, and type of work. Plus, I’ve been known to donate some of my code for various projects.
Powered by Community Server, by Telligent Systems