One of the big problems in this whole area can be ownership of the entire process. One team is responsible for infrastructure, another for development - with an offshore team who write masses of very simple scripts / ETL processes which do nothing more than mirror existing data holdings onto tables on the Warehouse. Then you have a team who advise on strategy, but often they are ignored. And service managers, but they are largely absent.
So you end up with masses of duplication, which, although cheap to initially develop and deploy, bring the infrastructure to it's knees. So the infrastructure team has to grow to cope with all the incidents, upgrades and so on.
Crucially, if the data itself is not treated as a business asset, owned by a central team, there is no interest from each business strand of going through the pain of sharing or integrating into a common data model.