The Holy Java

Building the right thing, building it right, fast

Archive for August, 2011

Most interesting links of August

Posted by Jakub Holý on August 31, 2011

Recommended Readings

  • Martin Fowler on the problem of software patents – “… while patents (even software patents) are a good idea in principle, in practice they have turned into an unmitigated disaster and would be better scrapped.”
  • Discovering Hidden Design, Michael Feathers – When refactoring complex code towards a better design with clearer separation of concerns, it may be sometimes worthwhile to factor out a more-less separated cluster of functionality even if it doesn’t do just one thing (and this it is difficult to find a descriptive name for it). Comparing the cost and benefit of this and an “ideal” refactoring (where we get to single-responsibility factors), this one may prove better.
  • Martin Fowler: Tradable Quality Hypothesis – Martin argues that we must claim that quality in software development is not tradable (even though we know that certain tradeoffs can be done). The reason is that people are used to quality (in food, clothing, …) being pretty “tradable” and so it is very hard to persuade them that in the case of software development it is tradable much less (or not at all). And once your manager and customers view quality as tradable, you are doomed. They will force you to trade it for time, features, … in a proportion that will harm the project (because, as already mentioned, in SW it is much less tradable then in other domains).
  • Are estimates worthless?& Magne’s response – interesting discussion of the value and cost of estimation and its role in contracting w.r.t. trust – a nice addition to the discussion: Agile not suitable for governmental IT?.
  • Generate Test Data with DataFactory – nice java library that generate “random” values of different types and optionally satisfying some constraints – f.ex. first/last name (using built-in or custom list), date (within a range, w.r.t. another date, …), address (cities, streets etc.), email, random text/word/characters, number. Available at GitHub.

Posted in General, Testing, Tools, Top links of month | Tagged: , , , , | Comments Off

DbUnit Express Tips: Setup Simplification, Custom Data File Convention

Posted by Jakub Holý on August 5, 2011

I’ve recently introduced here DbUnit Express, a wrapper around DbUnit intended to get you started with testing DB-related code in no time, and now I’d like to share two productivity tips: simplifying db tester setup with a parent test and implementing your own convention for data set files, for example one data set per test class.

Read the rest of this entry »

Posted in Databases, Languages, Testing | Tagged: , , | 1 Comment »

A Funny Story about the Pain of Monthly Deployments

Posted by Jakub Holý on August 5, 2011

The end of our one-month iteration approached and the levels of fear and agitation started to rise. What will happen when we deploy it? Will everything crash? Will all hell break loose? Will there be a flood of midnight severity-one issues? Will the features developed work together or are there going to be unexpected and fatal interactions?

What is funny about this story, you certainly ask? You know these pains of deployment too and there is nothing funny about them.

Well, the funny thing is that I was used to quarterly releases and considered them completely normal and OK. Afterwards, I got used to bi-weekly releases and now I consider even monthly releases way too long (and I actually wouldn’t mind weekly releases). The conclusion? Once you see how easy and better things can be, you will always feel pain when you need to step back.

Posted in General | Tagged: , , | Comments Off