Everyday practices of agile software developers
- Publication Type:
- Thesis
- Issue Date:
- 2011
Open Access
Copyright Clearance Process
- Recently Added
- In Progress
- Open Access
This item is open access.
The theory and practice of software engineering is largely represented
in the literature by discrete rational models, methodologies, tools and techniques
for producing software and for describing work processes as they
ought to be done. There has been little research that characterises software
development as it is actually practised every day by professional software
developers. This thesis addresses that gap.
As the recognition of software development as embodied work is fundamental
to this research, a situated approach underpins its exploration of
software development as it is performed by real developers in their workplace
at the time that it occurs. The initial, guiding research question,
“So what do software developers do every day?”
was addressed by undertaking a longitudinal ethnographic study, involving
two years of fieldwork, of an Australian group of software developers
who use an Agile development methodology.
A local software development infrastructure, comprising software tools
and formal software development policies and procedures, is available to
the developers. As the research progressed, it became obvious that they
spent an enormous amount of their time and effort dealing with this infrastructure
in order to accomplish their daily work. Further, more directed
questions about the developers’ daily practice thus became distilled
into this one:
What significance does their infrastructure have for the developers’ everyday work?
The findings challenge two assumptions often implicit in software engineering
research interests: firstly, that infrastructure, along with its constituent
elements, is a given — a discrete, independent and stable entity
— and, secondly, that software development practice can be authentically
represented by, and understood in, formal, rational models of software
process. The foregrounding of relations between the developers, their infrastructure
and their work product forms the crux of this thesis. Its primary
contributions are:
It presents an ethnography of a little-studied group: professional
software developers;
It provides a detailed account of how the developers’ infrastructure
and their work practice are intimately intertwined and mutually constitutive,
continuously generating the context in which the design
and development of complex software can be accomplished;
It articulates the processes and practices that effect progressive blurring
and co-dependency between the software product and the infrastructure;
It identifies and describes essential dimensions of developers’ practice
that are missing from accounts and representations such as formal
models;
It demonstrates how an explication of local infrastructure is more
beneficial to understanding specific software development work practice
than abstract definitions of infrastructure which are not constrained
by the practicalities of everyday use.
Please use this identifier to cite or link to this item: