Caterpillar Development

In explaining recently to a new team how I wanted development to proceed, I realised it's a lot like a caterpillar. Allow me to explain.

Head or Tails

Leading, we have the head of development. This is where new ideas and features are explored and tested. It's a volatile space, and unpredictable. Not all features will make it, and it's unpredictable how long they'll take.

Trailing we have tail development. This is upkeep and maintenance work. Keeping the current feature set functional, and the project stable. This include minor bug fixes as well as tool/logging/alerting improvements to make the system easier to support.

And generally you can have two separate sub-teams working on head and tail. Obviously, communication between them is vital, and generally feature requests come forward from the tail to the head team.


Typically development of this type moves much like caterpillar. Consider this creepy crawly moving along. First the tail catches up to the head, then it pauses [or moves slowly] as the head breaks new ground.

Rinse. Repeat.

Doesn't this sound like how you work?

comments powered by Disqus