DEV Community

Discussion on: The (Im)Practical Continuous Delivery

Collapse
 
elmuerte profile image
Michiel Hendriks

I dislike features branches. If you think you need this your software is probably too big and/or not properly modularized.

Shippable products should be collections of configured modules of a certain version. Creating a new feature would either result in: a new version of a module, or even a completely new module. If the feature is not ready you can still ship your product with an older version of said module.

Feature branches also have the bad assumption that when it all comes together that it doesn't completely break down. Merging is never free, and hardly ever trivial.

Collapse
 
nikoheikkila profile image
Niko Heikkilä

Well said. With poorly designed monolith software continuous delivery is surely to be a rocky path. I've been studying microservices a lot lately and hopefully I can build my next projects to be more modular while dropping the excess branching.