Recent research has called for studying optimal outsourcing contracts when some aspect of the quality of software is observed but is not verifiable. In this paper we model a software application outsourcing relationship wherein a client offers contracts for development of application software and providing maintenance support over a period of time. Quality of delivered software is impacted by intrinsic efficiency and effort, but is not contractible. We show that the client uses a development and support bundling contract as a screening device and second-best efficiency is achieved under certain conditions even in the presence of adverse selection. Counter to intuition, we find that the client may induce a shorter maintenance support period for a higher quality software application. Surprisingly, under information asymmetry and verifiable quality, unbundling contracts may enable the client to induce higher quality and longer support period.