Studies show that many challenges in software development happen at the border between systems and not inside a single system. Developers working on the downstream are challenged by the upstream evolving in unpredictable ways. Developers working on the upstream are ignorant of the downstream needs.
One first step towards solving this problem is an developing infrastructure that treats the entire codebase and associated artifacts as a single ecosystem. One company which does this is Google.
By analyzing the entire ecosystem in a holistic manner and applying data science to software artifacts, we can
- Detect bad practices in the development process
- Augment the intelligence of software engineering tools and even address programming language limitations