Posted by Doug
Fri, 05 May 2006 12:56:20 GMT
John Gruber recently pointed out a quote from John Gall:
A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
Like John, I had never heard of this before. However, I think it strikes to the heart of agile development. With SCRUM the mantra is to always deliver a working system at the end of each sprint. With Extreme Programming one of the practices is, “What’s the simplest thing that could possibly work?”
At work, we have a set of applications and services that have grown to the point where they are unwieldy and don’t support our future business plans. We’re in the process of rebuilding them with our evolving business in mind. This is a fairly hard process. We know (or at least suspect) that the final systems that fully replace what we’re using now will be quite complex. The challenge is to grow a complex system simply while delivering incrementally useful services.
Posted in Programming | Tags complexity, scrum, simplicity, XP | no comments
Posted by Doug
Wed, 19 Apr 2006 12:12:49 GMT
Productize seems like such a good idea. Even David seems to give it praise. It seems though this good idea had a short life-span.
For those who don’t know, Productize is a method of making a Rails app a “parent” and then having multiple instances of that app that all shares the same code base allowing for individual tweaks. For myself, I was wanting to productize typo so that I could easily host many typo blogs. At work we use productize on our website to provide our primary US site and also a customized UK website.
Productize was originally released pre Rails 1.0. With The Big Milestone, there was some scrambling to get productize to work. The problem is that productize pokes fairly deep in the internals of Rails class loading. That code seems to be not yet as stable as it should be. Each release of Rails seems to break productize.
To make matters worse, it doesn’t seem like Duane Johnson is still using or working on productze. With the 1.0 release, the patches and work arounds for productize came from the community. I never did see anything directly from Duane.
Now that Rails 1.1 and 1.1.2 are out, productize is broken again. For such a good idea of minimizing duplication, it doesn’t look good for productize. Members of the core team have said there’s no interest in making it part of Rails core and no desire to “support” it and the internal hooks it needs. In my mind, this moves productize into the “high risk” category.
I never did get typo to the point where it would work nicely with productize. Right now we depend heavily on it at work, but that’s changing. We’ve decided to take the core pieces of our app and make them into and engine/plugin and then split the US and UK sites into separate apps. When we first introduces the UK site, productize’s primary assumption held true: everything is the same unless it’s different. Now that our UK site is fairly mature, the department heads of the respective sites are pretty much assuming everything is different unless it’s the same.
Posted in Programming, Internet, Ruby on Rails | 2 comments
Posted by Doug
Fri, 24 Mar 2006 13:39:56 GMT
I’ve been doing some hacking on my Ruby and Ruby on Rails configuration for Emacs. I don’t think it’s done (are these things ever?), and maybe not even as good as TextMate. I’ll share it anyway in the hopes that someone can find it useful. You can find my writeup and the configuration file on my Emacs And Ruby wiki page. Notable funcationality:
- Interactively running tests in various ways
- Go To Alternate File
- Snippets
Posted in Emacs, Programming, Ruby on Rails | 2 comments