Horses for courses?

Quarterhorse_2 I was on a conference call with my Research Director, Mike Gilpin and colleague Charles Brett the other day discussing complex event processing and business rules when suddenly Mike and Charles starting talking about "horses for courses". Say what? We went from talking about events and rules to horses and courses? I never heard this expression before so I asked. And, for those of you who think that I am provincial, I asked several other people in our Cambridge, Massachusetts office and they were dumbfounded as well.

Horses for courses means you have to choose the right horse for the right course. For example, if the race is a quarter mile you choose a quarter horse. If the race is a barrel race, then you choose a appaloosa. Choose a trotter for a harness race. And, a destrier for a joust. This horse information is courtesy, Jeffrey Hammond, a colleague who grew up in Kentucky.

You might be wondering what this has to do with application development? Simply this: One size doesn't fit all. And, in the future application development professionals will have more horses and more courses. So, we will have have more and tougher choices to make regarding the tools, technologies, architecture, and processes we use to develop applications.

I may never use the term "horses for courses" again, but at least I, and now you, know what it means.


re: Horses for courses?

Mike, I had not heard the phrase before too. I am however not in agreement with the comparison. Why? Horses have evolved naturally and did develop certain special abilities based on their environment. While software evolves too it is however not tracing a typical fitness landscape. Rational thought is used to form a product that has certain abilities. Strangely enough, we are right in the middle of the different faiths about natural evolution or intelligent design. Yes, if software was developed for a special use and change was driven by the user demand of that group then it evolves accordingly and you will have 'horses for courses'. Things take a long time but the solution fits the needs well. This is how I believe nature works too.In difference to nature, we do take the role of the Great Architect of the Software Universe and software can be a good fit for most uses if designed accordingly. Especially if we look at 'Business Technology' rather than 'Information Technology'. Business does not want five different horses that can not even be ridden by the same rider. The business landscape changes much faster than the software can evolve. We have to design software that is so flexible that it can be shaped by the business user on a day to day basis. Isn't that what CEP and BR is mostly meant for?Complex Event Processing and Business Rules should be right at the heart of any business technology and thus not be hard coded for special uses. Following my own faith in the above, I am pretty sure that with Papyrus we have designed a horse that can be trained in a few days by the people in the know to perform as good as the limited 'horses for courses.' It does that by using CEP and BR.

re: Horses for courses?

Interesting stuff. re the phrase "in the future application development professionals will have more horses and more courses", one could argue that we are already over specialized and it takes too many unqiure resources to deliver value to the customers.