Software development needs to be supported at both the organisational process level (programming-for-the-large) and the detailed coding level (programming-for-the-small). It is critical to close the gap in order to enable effective software integration at both levels in a uniform manner instead of in isolation. This paper is aimed at addressing fundamental issues related to integration techniques for productive software development. In particular, we focus on tool interfacing mechanisms for universally accessible data integration and plug-and-play tool integration to support software development uniformly.