Press "Enter" to skip to content


There has been a lot of talk about craftsmanship these days. I didn’t care much about the discussion whether we are craftsman or not. To me all that matters is what Uncle Bob says about it in one of his latest blog posts: We are tired of writing Crap.
But was is crap? And how do you know you are making a mess of things? So for your benefit I created the following Crap List. It’s opensource and free of use. It is mainly targeted on Java, but a lot also applies to other ecosystems. Please add as much crap to it as you like.
So here we go…

You have Crap if:

  • It takes more than an hour for a new developer to be up-and-running
  • If your users think your application is crap
  • Your test coverage is below 50%
  • You don’t have any tests
  • Your have no asserts in your test
  • You are using a Process Server of any kind
  • You are using Queues while you know it isn’t really necessary
  • You are using a vendor specific IDE
  • You are using EJB’s (yes it was crap, it is crap and will always be crap)
  • You are using a big commercial Application Server
  • You basically use anything else then Jetty or Tomcat
  • You haven’t released anything to production in the last 3 months
  • You are creating only one application and you have more than one Maven module
  • It takes more than 5 minutes to run your unit tests for a single project
  • It takes more than 10 minutes to release and deploy a new version of your software on a test server
  • And if that is done manually
  • If you are creating a framework up-front so that the implementation of all the features can be done very quickly
  • If you have no idea what your colleagues in your project are doing
  • If you have more then 1 method in a class that has more than 10 lines in them
  • If your class is more than 200 lines
  • If you are constantly working overtime
  • You don’t have a Chuck Norris in you Continuous Integration
  • If you have no idea what version is running in production
  • If you are using an Erroneous Spaghetti Box (or ESB as some people call it)
  • If you have more than 2 a nested if-statements
  • If you are opening a database connection in a JSP
  • If you stopped running the build because it takes too long

0-2: You are probably doing fine (unless you don’t have Chuck Norris, then you are still in trouble)
2-5: Crap is starting to take hold of your application. Act now!
> 5: You are creating Crap.

Disclaimer: The Crap List is in no particular order and not complete. Any resemblance with your specific situation is purely coincidental.

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *