The Problem With Extremism

0 comments suggest edit

The problem with extremists is that they inevitably color the mainstream’s perception of a thing, whether it be a race, a culture, or a software development practice.

In truth though, it is also important for the mainstream to use better judgement and stop falling for that trap. For example, I’ve read several articles and blog posts that attack unit testing (and by extension Test Driven Development) as a practice. What is interesting is that many of the points used to pillory unit testing are examples of taking the practice of unit testing to the extreme, and not necessarily a reasonable and mainstream usage of the practice.

So let’s make this very clear using a simple logical statement.

The fact that Unit Testing is a fundamental part of Extreme Programming does not imply that Extreme Programming is a fundamental part of Unit Testing.

For example, as I said many times, code coverage is not the end goal of unit testing. That’s extremist to say so. Your time is better spent focusing on automating tests for the most troublesome or important code.

Automated unit tests are NOT a replacement for system testing, beta testing, integration testing, nor any other kind of testing. Unit tests are only one small part of the testing equation, but they are an important part, just as all the other types of testing are important.

So in most cases, it pays to stop looking to the extremists to make a case against a practice (such as unit testing) and start talking to those using it in the real world and getting real results.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



2 responses

  1. Avatar for Scott Williams
    Scott Williams October 19th, 2005

    No kidding. I hate subscribing to any particular methodology of doing something. Reminds me too much of politics. I tend to just pick certain things I like from the various areas and create my own style. This way I can avoid silly monikers like "Extreme Programming"

  2. Avatar for Haacked
    Haacked October 19th, 2005

    Very true. I have to admit I can get very bullish about certain things (and almost extremist myself) that I believe very strongly have a lot of benefit with very little downside.

    For example, I'd say that 99.9% of professional software developers are in a situation where it really makes really good sense to use version control. Given that percentage, I will tend to say that "All Developers Should Use Version Control."

    Of course, that's not true. But the exceptions to the rule are so few, it's understandable why I'd make such an extreme statement. I feel that way about unit testing.

    That if implemented in a reasonable manner, it benefits so many developers, pretty much every professional developer can gain some benefit from it.

    Certainly not ALL developers, but a large number of them.