Extreme Programming Experiences: Part 2 of 5: “Lazy YAGNI”

30 05 2009

“Lazy YAGNI”

You Aren’t Gonna Need It can lead to some silly situations if you interpret it too pessimistically. The pessimistic (and wrong) interpretation is that you should pretend that the user story you’re implementing is the only one you know about. This equates to doing zero up-front design, because you’re only concerned with whether the design satisfies the user story you’re currently implementing. The price of making this mistake is design churn: each new requirement may incur a large rewrite of existing code. This is obviously not a recipe for productivity.
Read the rest of this entry »



Extreme Programming Experiences: Part 1 of 5: Do The Simplest Thing That Could Possibly Work

30 05 2009

Do The Simplest Thing That Could Possibly Work

This does not mean “do the least work possible”. Doing the least possible is not XP, it is hackery, which is the methodology that leads to a Big Ball of Mud.
Read the rest of this entry »



Extreme Programming Experiences: Introduction

30 05 2009

Extreme Programming Experiences: Introduction

Over the last six months I’ve had the privilege of working in a software development team that was practicing the closest thing to a full implmentation of XP that I’ve ever seen.
Read the rest of this entry »



First public release of my AvantiConveniences gem

21 03 2009

From the README:

AvantiConveniences is a set of convenience code for Ruby on Rails applications.

Read the rest of this entry »



Things I had to fix for Rails 2.2.2

29 11 2008

The new features in Ruby on Rails 2.2.2 have been well documented, and I’m looking forward to using several of them on WhatYouAte.com. If you’re reading this you probably are too.

However, if you’re upgrading an existing project and you’re sticking with official releases (as opposed to edge Rails) like I am, your code probably needs some tweaking to work with Rails 2.2.2. Mine certainly did. Although there were a lot of failed tests with ugly stacktraces, there were only a few API changes in Rails that needed to be accomodated to fix them all. Here’s a list of the changes that broke my app, and what I had to do to get it working again.
Read the rest of this entry »