23
07
2009
I’m working on a Rails app that uses the ym4r_gm plugin, getting Google to do the geocoding for Thentic. I liked the idea of stubbing the web service call, because all those calls to an external service add up to over 20 seconds of test suite run time(!). That’s almost half of the 50 second run time of my unit tests (and 50 seconds is much too long for a unit test suite).
I found a good starting point at geokit stubbing for faster tests. I also wanted a way to stub a geocoding failure, and a way to prevent any unit tests from using the real geocoding web service.
Here’s how I did it.
Read the rest of this entry »
Comments : No Comments »
Categories : process, ruby, ruby on rails, servers, testing
30
05
2009
Now that I’ve worked in a team that really was doing XP (except for our Lack Of Onsite Customer shortcoming) I can say that it works pretty well, but only to the extent that you do all of the practices together. Of course, that’s what the XP folks said from the beginning: you can’t just apply 1% of it and make a judgement about it.
Read the rest of this entry »
Comments : No Comments »
Categories : Extreme Programming (XP), agile development, process, ruby on rails
30
05
2009
Pair Programming is for 100% of production code, not 100% of your workday
Pair Programming is intense, mentally and physically. You need to take breaks, stretch, walk around, and hopefully go outside for sunshine and fresh air. Even so, 8 hours of solid pair programming is a very tiring day. That much pairing time may be appropriate now and then, but it isn’t physically sustainable.
Read the rest of this entry »
Comments : No Comments »
Categories : Extreme Programming (XP), agile development, process
30
05
2009
Technical Debt and Cruft
There is a fundamental tension in software development between delivering something quickly now, and being able to deliver something quickly later. Over time, quick and dirty hacks pile up, and code becomes difficult to work with.
Read the rest of this entry »
Comments : 1 Comment »
Categories : Extreme Programming (XP), agile development, process
30
05
2009
Lack of Onsite Customer
This is a serious problem. Your project exists to serve somebody, and your success is directly proportional to understanding what they want, so that you can build it. You need as much communication bandwidth between the programmers and those people as possible.
Read the rest of this entry »
Comments : No Comments »
Categories : Extreme Programming (XP), agile development, process