There&#x27;s more than one way to do it and what works well in one project may not be suitable in another, depending upon things like team size, development velocity, code base size, external dependencies, etc.<p>The model described by this article is very close to how Chromium development works. Meanwhile, git itself uses a model much closer to the one this article dislikes. But git is a smaller code base, with many fewer commits per day, and has a single person responsible for integrating all the changes which come in over the mailing list.<p>Generally, I&#x27;d say that a smaller team that produces relatively fewer commits per day can use a more complex branching model, while a larger team that produces much more code churn requires a simpler model.