Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I ran across yet another new term in development methodology, and I haven't been able to find a definition for it. Specifically, it's called "train based development."

Here are some examples of where I have seen this term.

Earlier this week, I asked our engineering leads and release managers to take the Windows Metro version of Firefox off the trains. (Johnathan Nightingale)


From the Mozilla careers web-site:

Experience working with both agile development methodology, and train-based development/QA teams.

I have heard of "train" before and not just in the context of Mozilla. But I haven't managed to find any good information about it on the net.

When I googled "train based software development", I found very little information in the search results. The closest that I could dig out that separates the train from the wagons is that "train" is about making releases at regular intervals according to a schedule. But it also seems that "train" is a sort of concrete QA setup.

So, what is "train based development"?

share|improve this question
@gnat I am not dragging anyone into a discussion - I am after a specific and clear definition of a "train" development process/methodology. –  ask the collective Mar 15 '14 at 6:17
I found tons of useful information here: google.com/search?q=train-based+software+development –  Robert Harvey Mar 15 '14 at 8:46
@RobertHarvey Thanks, although I have to say that there is very little information in that search results. The closest that one can dig out when separates the train from the wagons is that "train" is about making releases at regular intervals according to a schedule. It seems contentious that this maps well to the quote of "pulling Firefox of the trains". It seems that "train" is a sort of concrete QA setup. –  ask the collective Mar 15 '14 at 8:55
Related meta question: meta.programmers.stackexchange.com/q/6551/53019 –  GlenH7 Mar 20 '14 at 14:48
Isn't this how Ruby on Rails was developed? –  Bart Mar 25 '14 at 18:54

1 Answer 1

up vote 6 down vote accepted

Summing up information from this blog :

  • The analogy is trains are releases, passengers are features
  • Trains are planned at regular intervals, without knowing what they will contain
  • If features aren't ready for departure train, they can go on the next one
  • Once a version is shipped, the development splits between support/patching shipped code and developing the next train
  • This development is mostly aimed at large client softwares, rich in features, and broadly distributed such as a web browser or an OS, where old versions may stay active for a long time.
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.