Optimal Software Reuse in Incremental Software Development: A Transfer Pricing Approach



This study develops optimal transfer pricing schemes that manage software reuse in incremental software development, namely, a development regime wherein users begin utilizing parts of the system that are released to them even before the system is entirely completed. In this setting, conflicts can arise between developers and users from divergent interests concerning the release of functionalities in the project. The release of functionalities is influenced by reuse, i.e., the effort spent by the development team to write code that can be reused within the same project or in future projects. For example, the development team may choose to spend extra effort to make certain portions of the system reusable because doing so could reduce the effort needed to develop the entire system. However, the additional effort spent on reuse could delay the release of certain critical functionality, making such a strategy suboptimal for the users. Thus, optimal reuse decisions for developers and users could be different. In addition, from the firm's perspective, reuse decisions must not only balance the objectives of developers and users for the current project, but reuse effort may be spent to benefit future projects. Our study also highlights the fact that reuse may not always be beneficial for the firm. To this end, we consider different instances of the user-developer conflict and provide transfer pricing schemes that operate under information asymmetry and achieve two key properties: firm-level optimality and truth revelation.



Software reuse, Transfer pricing, Information asymmetry, Conflict resolution, Resource-allocation, Information, Incentives, Business & economics, Operations research & management science