Essays on Agility in Software Development Teams: Process and Governance Perspectives

Thumbnail Image
umi-umd-3228.pdf(462.67 KB)
No. of downloads: 2231
Publication or External Link
Maruping, Likoebe Mohau
Agarwal, Ritu
Venkatesh, Viswanath
Software project teams are often faced with the potential for changing requirements during software development. Such changes present a significant challenge to software project teams often resulting in cost overruns, missed deadlines, and faulty code. While the phenomenon of requirements changes by itself is not new, the frequency with which such changes occur has increased in recent years. Software project teams continue to be challenged by the uncertainty caused by the potential for such changes. Flexibility has been identified as a desirable characteristic of teams in this type of environment. This dissertation is made up of two essays that examine the processes and governance mechanisms that can potentially enable software project teams to achieve greater flexibility. The first essay provides a team process-oriented view of the problem. Specifically, agile programming practices and boundary spanning activities are argued to enhance software project team effectiveness by receiving customer feedback and incorporating requirements changes on an on-going basis. A longitudinal field study of 56 software development teams provides support for these arguments. The second essay adopts a team governance lens. Specifically, formal and informal control modes are posited to influence software project team effectiveness. Control mechanisms that promote team autonomy and flexibility are argued to positively influence software project team effectiveness. Further, team leader behaviors are also expected to play a critical role in facilitating software project team effectiveness. These arguments are tested and largely supported. Together, the two essays shed light on how software project teams can be designed to have greater flexibility--an important stepping stone for managing software development in the face of requirements uncertainty.