12

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)

https://blog.mozilla.org/futurereleases/2014/03/14/metro/

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"?

10
  • 6
    @gnat I am not dragging anyone into a discussion - I am after a specific and clear definition of a "train" development process/methodology. Commented Mar 15, 2014 at 6:17
  • 1
    I found tons of useful information here: google.com/search?q=train-based+software+development Commented Mar 15, 2014 at 8:46
  • 1
    @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. Commented Mar 15, 2014 at 8:55
  • 1
    Related meta question: meta.programmers.stackexchange.com/q/6551/53019
    – user53019
    Commented Mar 20, 2014 at 14:48
  • 2
    Isn't this how Ruby on Rails was developed?
    – Bart
    Commented Mar 25, 2014 at 18:54

1 Answer 1

10

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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