SOFTWARE DEVELOPMENT AS A HUMAN ACTIVITY: A HOLISTIC EXPLORATION OF THE SOCIAL AND TECHNICAL DIMENSIONS
Software development is studied in this research as a human activity in order to help those involved in developing software (specialists, users and managers) better understand the process. A broad definition of software development is used that encompasses all activities associated with the conception, construction and delivery of any type of software. The focus is on the influence of actors and organisations on software development, not on the influence of software development on organisations or individuals.
In recognition of the multiple realities in software development a constructivist based research paradigm is adopted. Within this paradigm six software developments in five organisations are studied longitudinally through conversations with stakeholders and document collection.
A new research method is developed which uses a grounded approach to allow the key influences to be identified through a detailed qualitative analysis of one of the developments. The research method uses a multi-tier analysis of the chronological story of the development told in the words of the participants. In order to meet the research criteria defined for the paradigm, a CDROM is produced containing a hyperlinked version of the data, chronology and analysis. This CDROM may be read using a web browser.
The result of the research is the identification of thirteen key influences that have a critical effect on software developments. The three dominant influences (individual, organisation and development methods) will have a major impact on all but the smallest developments. The key influences provide those involved with software development (specialists, users and managers) with a list of influences to consider seriously when undertaking software development, rather than a set of prescriptive actions. Discussion of the findings raises a number of questions for research into software development.