I see where you are coming from, but I largely disagree.
Development, especially for big teams, should be loosely coupled. This doesn't mean that the team shouldn't meet and have a unified clear vision, on the contrary, this will allow things to scale properly and gives you options to add or remove features with minimal effect on the actual main branch.
Your painting analogy is a moot point imo, since painting is mostly done by one painter not 4 or 5 or way more, like in software.
A better analogy would be a car assembly line. Engine, suspensions and body parts are manufactured on their own assembly line and then they are put together when they are ready, wouldn't you agree?
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.