User Story Estimation Techniques

Available on InfoQ
One of the great things about working as a consultant is the ability to try out many different ideas and adapting your personal favorite process to include things that work. This article gives the details about user story estimation techniques that I've found effective.


Business Natural Languages Development in Ruby

Available on InfoQ
Jay Fields presents his concept of Business Natural Languages (BNL). BNLs are a type of Domain Specific Language, designed to be readable by any subject matter expert, which allows to create maintainable specifications and documentation. The example language is shown using Ruby.


Duplicate Code in Your Tests

Available on Architect Zone
Sadly, DRY has become a philosophy that is dogmatically and blindly applied to every aspect of programming. I'm a big fan of firing silver bullets but if you go that path your number one priority needs to be finding where a solution does not fit. In fact, those who have applied DRY excessively have found that there are situations when DRY may not be advantageous.


Software Development Lessons Learned From Poker

Available on InfoQ
I wasn't always a software developer. The two years before I joined ThoughtWorks I lived primarily off playing poker. Of course, if you've ever asked me about the tattoo on my forearm, you've already heard the story. If you haven't, feel free to ask me next time we get a drink together.

I've never regretted spending so much time playing poker. I believe it taught me quite a few lessons that apply widely to other topics. In fact the more I develop software the more I'm convinced that the two jobs are incredibly similar...


Evaluation Options in Ruby

Available on InfoQ
One of my favorite features of Ruby is the ability to evaluate a string or a block of code. Ruby provides a few different types of evaluation options; however, the evals I use most often are: eval, instance_eval, and class_eval...


Jay Fields and Zak Tamsen on Domain Specific Languages

Available on InfoQ
Jay Fields and Zak Tamsen have successfully worked with non-technical domain experts to design Domain Specific Languages for some of their projects at ThoughtWorks. In this interview with InfoQ they describe their motivations for using DSLs, and describe how they can be used to empower the business, reduce development time, and increase the agility of projects.

upcoming presentations

RailsConf Europe 2008

Dynamic Languages World US

QCon San Francisco

EURUKO 2009

Invite me to speak at a conference