Lenary!

Channel Tunnel Development

20 Mar 2011

So recently at work a colleague and I coined a term in relation to how we were managing the development of one of our projects, that we called

Channel Tunnel Development

This approach usually manifests itself when you have two groups of developers working on different aspects on the same application. Take for example a Rails app. One group would start at the Model layer, and gradually work their way up the stack via Controllers to Views. The other group is doing the opposite - starting ad Views and working their way down to the Model.

There are 3 Possible outcomes:

  1. Both development teams meet perfectly somewhere at the Controller level and everything works. 1

  2. The development teams meet, but there is some disparity in their ideas and someone has to hack away at their code to make them fit again.

  3. The development teams pass like ships in the night, which eventually causes your frontend experts to be working on model code, and your domain logic experts to be working on frontend code, both of which should probably never happen.

So, What should you do? Start at the interface between the groups and work further into each side, so in this example, things start at the Controller layer and then the frontend experts start on the View code, and the domain logic experts work on the Model code.


  1. By the way, this never happens. Don’t expect it to.