Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
Thanks to all who responded.
In general from all the comments I received,my sensethat TDD is still somewhat used, abused, overused and shunned. I say this with all knowledge that it's largely dependent on the individual user or champion of the organization. As a result, I expected the varied responses that I received.
One informational nugget I will walk away from this thread with, and one that I suspected,is that there is no exact science or best practiceto TDD methodology. It really boils down to the extent of its use, frequency of revison (life cycle) and the type of productwithin each organization. I consult on many projects and within many environments that utilize TDD of varying degrees. Some dip their toes into the water and others drown themselves in it. Ibelieve with all things, moderation is generally best. In other words, I hold fast to the idea there is a sweet spot using TDD. One that balances the requirement of sound development with the ease and speed of revision. Too little downstream references requires work ensuring fits and functions still exist. Too many references downstream means work dealing with failed features and missing refs.
Schaefer and Reifsnyder have differing opinions becasue they approach TDD differently. Schaefer immerses in whileRefsnyder uses it for interface components only. Both are valid....both have advantages...both have disadvantages.
Sauter had the best "layman" description of the situation I was alluding to in the original question. Stated simply: when one spends more time managing the design process (that includes tracing, identifying, redefining, rerouting, replacing and otherwise fixing PG's, CG's, ECG's and skels to get your part to regen) than one does actually designing the part, the process is counterproductive. It is in this situation the process should bescrutinized for the bottlenecks.
In the end, each has their own experience level dealing with TDD. I suspect my thread was really an exercise in futility. But then again, what else is there to do while my assemblies regenerate all their external references?
Keep on TDD'ing