We consider a novel principal-agent model that captures some salient features of an agile software development project. Specifically, the project is technically complex, can be modularized via a set of independent stories which are developed in sprints, and has requirements that can change over time due to exogenous changes in business needs, technologies, or market conditions. In addition, given the iterative nature of agile development, our model also captures and analyzes the interaction between two types of learning effects, namely, viability learning and cost learning, which until our paper have been examined only individually in the literature. Our paper makes the following contributions to the literature: (i) We characterize an optimal contract for the principal in closed-form and generate managerial insights on how the agent's incentive to work changes, and consequently how the optimal contracting terms offered by the principal change, depending upon the business environment. We show that the interaction between the two learning effects and need-risk plays an important and yet unexplored role in influencing the dynamics in the optimal contract. (ii) Using the optimal contract as the benchmark, we examine the performance of time-and-material contracts that are popularly used in agile projects. (iii) We obtain an optimal contract for precedence-dependent stories in which one story must be completed before starting another story. Overall, our results provide both prescriptive and qualitative guidance to firms outsourcing agile software development projects.
K E Y W O R D Sagile software development, learning effects, optimal contract, unobservable effort 1