---
title: "Simple designs through Test Driven Development"
url: "https://osherove.com/blog/2006/8/27/simple-designs-through-test-driven-development.md"
canonical: "https://osherove.com/blog/2006/8/27/simple-designs-through-test-driven-development.html"
published: "2006-08-27T01:16:00"
updated: "2006-08-27T01:16:00"
tags: ["Agile", "Testing Guidelines", "Unit Testing"]
author: "Roy Osherove"
description: "Scott Bellware keeps on wowing me with his elegant way of putting ideas into words, sentences and paragraphs. If you are into Test Driven Development, you should be reading his blog . In one of his latest posts he talks…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Simple designs through Test Driven Development

By Roy Osherove August 27, 2006 In [Agile](https://osherove.com/blog/category/agile), [Testing Guidelines](https://osherove.com/blog/category/testing-guidelines), [Unit Testing](https://osherove.com/blog/category/unit-testing)

**Historical article** · Originally published August 27, 2006; technical details may be outdated.

Scott Bellware keeps on wowing me with his elegant way of putting ideas into words, sentences and paragraphs. If you are into Test Driven Development, you should be [reading his blog](http://codebetter.com/blogs/scott.bellware/).

In one of his [latest posts](http://codebetter.com/blogs/scott.bellware/archive/2006/08/26/Write-Naive-Test-Code.aspx) he talks about the value of simplistic design, and how you can achieve it with test driven development, despite your brain telling you to do different. here's a nice quote:

> "Imagine that you have the freedom to create the simplest, most uncomplicated, and easiest library to use.  Write some client code that shows how that simple library would be used in an ideal scenario.  If you write that client code in an NUnit (or other) test method, you've written _naive_ test code.  And since you've written this specification before you've written your functional library code, you've also just done some Test-Driven Development."

That is truly one of the qualities I try to teach students who take on my [TDD classes](http://teamagile.com/). Simplicity is key, and is definitely one of the hardest things to come up with the more experience you have.

One of the unfortunate things about Scott's blog is that he has comments turned off (I asked - he's not in any mood to turn them back on due to spam and stuff, and he's not into moderation).

So, if you do have comments on that post, feel free to post them here. If interesting questions come up I'll try to answer them myself, if I can't get Scott to answer them personally (since this is \*his\* post - I'll try to act as a "comment by proxy")

## More in Agile

[All posts in Agile](https://osherove.com/blog/category/agile)

- Aug 31, 2006

    ### [Need help spreading a technical video via Bittorrnet](https://osherove.com/blog/2006/8/31/need-help-spreading-a-technical-video-via-bittorrnet.html)

- Aug 27, 2006

    ### [Unit Testing Pros And Cons](https://osherove.com/blog/2006/8/27/unit-testing-pros-and-cons.html)

- Aug 24, 2006

    ### [The Art Of Unit Testing - Starting out My First Book](https://osherove.com/blog/2006/8/24/the-art-of-unit-testing-starting-out-my-first-book.html)

- Aug 22, 2006

    ### [It's Not Just Standing Up: Patterns for Daily Stand-up Meetings](https://osherove.com/blog/2006/8/22/its-not-just-standing-up-patterns-for-daily-stand-up-meeting.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
