What is “train” based development?
https://softwareengineering.stackexchange.com/questions/232462
-
02-10-2020 - |
Frage
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"?
Lösung
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.