It's more about how our tools (IDE/Language/Vocabulary) influence our way of thinking and inherently our solutions.
See also the Behaviour-Driven-Development vs. Test-Driven-Development.
Psychology tells us that the words we use shape our thinking. By continually using the word "test" when talking about TDD, we place emphasis on the side effects rather than the goal. There has been ongoing discussion about this wording problem for a number of years in the Agile community but until now, nobody has put forth a proposal to fix it.Note: I think that "test" as a name is a smell, since it reveals the implementation details.The real question is: Are we testing or are we specifying ?
Are we doing code-based-allways-up-to-date-specification, or are we testing an implementation. If we mean xUnit is a DSL for specification, then the naming is bad. In NUnit/TestNG the problem is partially solved.
Or how the java guys are asking for an IDE for Ruby. (some are asking for IntelliSense for ruby)
We should really learn a new language every year. If we speak differently, we think differently.
We should eliberate our mind from these tool/Framework/IDE/vocabulary boundaries.
And a highly interesting quote from Seattle Mind Camp:
Just more evidence that everything that was old is new again.
No comments:
Post a Comment