{"id":45,"date":"2007-04-02T13:54:43","date_gmt":"2007-04-02T17:54:43","guid":{"rendered":"http:\/\/www.jrtwine.com\/blog\/?p=45"},"modified":"2008-03-31T17:20:08","modified_gmt":"2008-03-31T21:20:08","slug":"amazing-thing-with-test-driven-design-tdd","status":"publish","type":"post","link":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/","title":{"rendered":"Amazing thing with Test Driven Design (TDD)"},"content":{"rendered":"<p>At my current place of employment, we had someone come in to talk about some Agile development processes.\u00a0 One of them was Test Driven Development.\u00a0 As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring.<\/p>\n<p>To make a long story short, both he and the audience started with a brief design phase(!) to design something to do something as simple as keeping score.\u00a0 I thought this was very interesting, even when hearing some of the other developers as they started to design a multi-level hierarchical design for KEEPING SCORE!<\/p>\n<p>I was reminded of an older idea\/post that I had regarding the problems when you combine too much formal education with too little practical experience and throw the resulting\u00a0person\u00a0into a production-level software project.\u00a0 Just like when you give a\u00c2\u00a0small child a hammer, everything looks like a nail.\u00a0 When you give a lesser-experienced developer the task of designing something, you are more likely to get an <em>over-design<\/em> of something that does not reflect reality and tries to attain perfection instead of practicality.<\/p>\n<blockquote><p>(That post can be found here:<br \/>\n<a href=\"http:\/\/www.jrtwine.com\/blog\/?m=200407\">http:\/\/www.jrtwine.com\/blog\/?m=200407<\/a>.)<\/p><\/blockquote>\n<p>What scares me is that some of the developers that were helping along this heavyweight, over-engineered design may now be responsible for new development efforts.  I have always thought that you need to be a coder before you are a developer.\u00a0 That you need to understand how and why things work in order to make better use of them.\u00a0 As such, I shudder at the thought of having a group of lesser-experienced developers hitting everything they see with the same design hammer.\u00a0 Especially having seen first hand what they are capable of with something as simple as a scoring system!<\/p>\n<p>And people wonder why I believe that managed environments contribute to the dumbing-down of the modern software developer&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At my current place of employment, we had someone come in to talk about some Agile development processes.\u00a0 One of them was Test Driven Development.\u00a0 As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-45","post","type-post","status-publish","format-standard","hentry","category-developing"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"James R. Twine\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"James R Twine Blog -\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Amazing thing with Test Driven Design (TDD) - James R Twine Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2007-04-02T17:54:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2008-03-31T21:20:08+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Amazing thing with Test Driven Design (TDD) - James R Twine Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#blogposting\",\"name\":\"Amazing thing with Test Driven Design (TDD) - James R Twine Blog\",\"headline\":\"Amazing thing with Test Driven Design (TDD)\",\"author\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#organization\"},\"datePublished\":\"2007-04-02T13:54:43+00:00\",\"dateModified\":\"2008-03-31T17:20:08+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#webpage\"},\"articleSection\":\"Developing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/#listItem\",\"name\":\"Developing\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/#listItem\",\"position\":2,\"name\":\"Developing\",\"item\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#listItem\",\"name\":\"Amazing thing with Test Driven Design (TDD)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#listItem\",\"position\":3,\"name\":\"Amazing thing with Test Driven Design (TDD)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/#listItem\",\"name\":\"Developing\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#organization\",\"name\":\"James R Twine Blog\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/\",\"name\":\"James R. Twine\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/77d36362e353ec1c88adc48b48055faee96497898a208d3a6a05897d4902e552?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"James R. Twine\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#webpage\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/\",\"name\":\"Amazing thing with Test Driven Design (TDD) - James R Twine Blog\",\"description\":\"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/amazing-thing-with-test-driven-design-tdd\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\"},\"datePublished\":\"2007-04-02T13:54:43+00:00\",\"dateModified\":\"2008-03-31T17:20:08+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/\",\"name\":\"James R Twine Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Amazing thing with Test Driven Design (TDD) - James R Twine Blog","description":"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story","canonical_url":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#blogposting","name":"Amazing thing with Test Driven Design (TDD) - James R Twine Blog","headline":"Amazing thing with Test Driven Design (TDD)","author":{"@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author"},"publisher":{"@id":"https:\/\/jrtwine.com\/blog\/#organization"},"datePublished":"2007-04-02T13:54:43+00:00","dateModified":"2008-03-31T17:20:08+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#webpage"},"isPartOf":{"@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#webpage"},"articleSection":"Developing"},{"@type":"BreadcrumbList","@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/jrtwine.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/category\/developing\/#listItem","name":"Developing"}},{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/category\/developing\/#listItem","position":2,"name":"Developing","item":"https:\/\/jrtwine.com\/blog\/category\/developing\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#listItem","name":"Amazing thing with Test Driven Design (TDD)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#listItem","position":3,"name":"Amazing thing with Test Driven Design (TDD)","previousItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/category\/developing\/#listItem","name":"Developing"}}]},{"@type":"Organization","@id":"https:\/\/jrtwine.com\/blog\/#organization","name":"James R Twine Blog","url":"https:\/\/jrtwine.com\/blog\/"},{"@type":"Person","@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author","url":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/","name":"James R. Twine","image":{"@type":"ImageObject","@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/77d36362e353ec1c88adc48b48055faee96497898a208d3a6a05897d4902e552?s=96&d=mm&r=g","width":96,"height":96,"caption":"James R. Twine"}},{"@type":"WebPage","@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#webpage","url":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/","name":"Amazing thing with Test Driven Design (TDD) - James R Twine Blog","description":"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/jrtwine.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/#breadcrumblist"},"author":{"@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author"},"creator":{"@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author"},"datePublished":"2007-04-02T13:54:43+00:00","dateModified":"2008-03-31T17:20:08+00:00"},{"@type":"WebSite","@id":"https:\/\/jrtwine.com\/blog\/#website","url":"https:\/\/jrtwine.com\/blog\/","name":"James R Twine Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/jrtwine.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"James R Twine Blog -","og:type":"article","og:title":"Amazing thing with Test Driven Design (TDD) - James R Twine Blog","og:description":"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story","og:url":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/","article:published_time":"2007-04-02T17:54:43+00:00","article:modified_time":"2008-03-31T21:20:08+00:00","twitter:card":"summary_large_image","twitter:title":"Amazing thing with Test Driven Design (TDD) - James R Twine Blog","twitter:description":"At my current place of employment, we had someone come in to talk about some Agile development processes. One of them was Test Driven Development. As an example, the presenter explained how scoring works in bowling and then asked the audience to create the code used to implement the scoring. To make a long story"},"aioseo_meta_data":{"post_id":"45","title":null,"description":null,"keywords":null,"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-09-17 06:48:54","updated":"2026-09-17 06:48:54"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtwine.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtwine.com\/blog\/category\/developing\/\" title=\"Developing\">Developing<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAmazing thing with Test Driven Design (TDD)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/jrtwine.com\/blog\/"},{"label":"Developing","link":"https:\/\/jrtwine.com\/blog\/category\/developing\/"},{"label":"Amazing thing with Test Driven Design (TDD)","link":"https:\/\/jrtwine.com\/blog\/amazing-thing-with-test-driven-design-tdd\/"}],"_links":{"self":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":0,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"wp:attachment":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}