I am a big fan of Big Visible Charts, also referred to as Information Radiators. By radiating information using such charts everything is visible and people can use that information to act upon it. Recent observations made me realize that not all charts are visible though. Even when they are big and in your face.
Continue reading »
Recently I conducted a code review for one of our customers. They already are using A3 reports internally as problem solving and report tool. I really like A3, so I thought why not try if a code review fits in a A3 report.
Continue reading »
Recently I was involved in another Spring powered Java project and noticed a lot of test specific xml configuration floating around. Typically this is done because (for instance) datasources and such that are not available via JNDI outside a container. Problem that I have with the specific xml configuration is that it is maintenance intensive and well it is more xml…
Luckily you almost never have to create the specific XML files to be able to test your application context outside a container.
Continue reading »
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…
Continue reading »
One of the principles of a good unit test is that they are repeatable. This is especially important if the tests involve dates. Typically this is programmed in the setUp and tearDown of the unit tests. This might lead to duplication if multiple tests depend on such a fixed date. Of course we can abstract this to an Abstract base class, but in the end we all know that reuse via inheritance is a bad idea. JUnit @Rule can be a solution for this.
Continue reading »
As a good pragmatic programmer you should learn at least one new language per year. For me this year’s (2011) language will be Ruby (I know I am a bit late…). A Kata is an excellent and fun way to learn a new progamming language as well as your (new) IDE or text editor. As Kata I chose the Bowling Game Kata from Uncle Bob. Read on if you want to see how my Bowling Game looks like in Ruby.
Continue reading »
This week I visited the Scrum Gathering in Amsterdam. I attended a session were the Product Owner was referred to as Single Wringable Neck. We make the Product Owner responsible for the outcome of the project, as a motivator for him to make the right choices. And if he doesn’t we will wring his neck. Like other people, I don’t like that comparison. But I had no hard evidence to back it up other then feeling related reasons like “it’s team work” and what not. But ever since I watched Dan Pink’s TED talk on motivation I think I found the evidence to safely say the single wringable neck is harmful and should not be used as incentive or motivator anymore.