Friday, October 31, 2008

We're special... the antipattern

Finally someone has recognized this agile adoption anti-pattern. The agile community has gone from being risk takers who influence and embrace change to [INSERT_EXPLETIVE_HERE]

Wednesday, October 22, 2008

Dependency Injection Sucks

It depends. If you write terrible code it does.

Saturday, October 18, 2008

Calculating Capacity

If you have ever seen the film Office Space, you are familiar with the scene where the Bob's are interviewing Peter trying to find out how he contributes at work. In that scene he says, "I'd probably, say, in a given week, I probably do about fifteen minutes of real, actual work."
Did you laugh when he said that? I know I did, but it begged the question, how much work do I actually do in a day? If I do not know how long it took me to do something then am I really providing honest estimates?

Our team uses a simple formula to determine how much work we could do in a week:
one_week_capacity = (total_number_of_developers/2) * total_days * hours_per_day

total_number_of_developers/2? We practice pair programming. If your team doesn't then there is not one there to prevent you from slacking. You really are 50% productive.

total_days? Normally you have about 5 days in a week but you should not assume you will have 100% of your time available for working on production code or that your estimates where accurate. Calculate capacity using 70% of your work week (3.5 days instead of 5), that will allow plenty of room for incorrect estimates.

hours_per_day? Paring is usually maxes out at about 6 hours a day. The other 2 hours should be allotted to take breaks, respond to e-mails, attend meetings, etc...

Compare your estimates to your actual completed work every iteration. Once you are able to determine how much work you are doing, what you can do is easier to calculate. This computation has been pretty accurate for me over the past few years. Give this a try and let me know how it works for you!

Thursday, October 16, 2008


This was annoying
def test_timeout_error
assert_raise(Timeout::Error) {

1) Error:
ArgumentError: wrong number of arguments (0 for 1)

Here is the fix!
def test_timeout_error
assert_raise(Timeout::Error) {

Do not use Timeout::timeout in Ruby 1.8! IT DOES NOT WORK RIGHT!

Wednesday, October 15, 2008

Sorry folks!

I have canceled my VPS and am in the process of transferring all of my hosting to Google applications. I will miss you Rimuhosting however one day I will come around to slicehost.

Monday, October 6, 2008

Java is not Object Oriented.

Dave Thomas has made some interesting statements about Java being a class-oriented programming programming language but here are a few interested blog posts about it being "Library-Oriented":
Neal Ford on
Eric's blog

Saturday, October 4, 2008

Dwellmen on GWT!!!

My colleague Daniel Wellman has written an introductory article on GWT. Enjoy!