Abstract

Despite the popularity of agile methodologies for software development, there is a lack of understanding on the types of contracts that are most suitable for this environment. Several contracting formats have been used in practice. Among them, the most popular is the time-and-material contract. Under this contract, the firm pays a fixed hourly rate for the number of hours that the vendor worked, subject to incremental delivery of user stories (tasks). The less popular contract formats include but are not limited to fixed-price per sprint (iteration), and fixed-price per story. In this paper, we use a principal-agent framework in which a firm outsources an agile software development project to a vendor. Our framework captures key features of an agile software development project -- namely, the project is technically complex; the project can be modularized via a set of independent stories which can be developed in sprints; the stories deliver incremental business value to the firm; and the requirements of the project can change over time depending upon the firm's priorities (needs). Our contributions are three fold: We characterize an optimal contract for the firm in closed-form. We also generate managerial insights on how the vendor's incentive to work changes, and consequently how the optimal contracting terms offered by the principal change, depending upon the business environment. Finally, we identify conditions under which the time-and-material contract can perform poorly relative to the optimal contract. Overall, our results provide both prescriptive and qualitative guidance to firms outsourcing agile software development projects.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call