Reconciling Perspectives : a substantive theory of how people manage the process of software development

Software development is a 1.6 trillion dollar industry and any improvement to how we create software will have significant economic benefit. As part of software process improvement programs, many organizations adopt a methodology. While there is evidence that methodologies improve development outcom...

Full description

Bibliographic Details
Main Author: Adolph, William Stephen
Language:English
Published: University of British Columbia 2013
Online Access:http://hdl.handle.net/2429/43952
Description
Summary:Software development is a 1.6 trillion dollar industry and any improvement to how we create software will have significant economic benefit. As part of software process improvement programs, many organizations adopt a methodology. While there is evidence that methodologies improve development outcomes, few developers follow specific methodologies, preferring to use ad hoc practices. What is going on here? Is there a gap between the process models and how people actually create software? Could it be that software developers do not find methodologies useful and that methodologies do not provide guidance or support for how people really create software? To answer these questions, we performed a field study to understand how the process of software development is actually managed. We used Grounded Theory to generate a substantive theory with the intention of using it to inform methodology design. We learned the main concern of people involved in the process of software development is getting the job done and different points of view and expectations create impediments. People use a four stage process of Reconciling Perspectives to remove these impediments. When a perspective mismatch is discovered, people converge their mismatched perspectives by reaching out and negotiating a consensual perspective. Constructing the work products and evaluating them validates the consensual perspective. The process may yield accepted work products, providing objective evidence the perspective mismatch was reconciled, or may result in waste. Reconciling Perspectives is a social process moderated by social dynamics, and creating accepted work products depends on individuals’ abilities to reach out and engage in negotiations while also sheltering themselves from distracting interruptions. This creates a tension in the process that must be managed because to discover and converge perspective mismatches, people must be open to interruptions while also remaining focused on getting the job done. This study provides additional evidence that software development is a socio-technical process. Most software methodologies are biased towards a technical description of software as a rational process of reductive transformation and do not provide guidance for social roles. We use Reconciling Perspectives to construct guidelines that can inform the design of a scalable socio-technical software development methodology. === Applied Science, Faculty of === Electrical and Computer Engineering, Department of === Graduate