Software Development as Organizational Learning
As part of my MBA at Nottingham University Business School I studied Organizational Learning, this is frequently linked with the more fashionable Knowledge Management. With my background in Software Development it seemed to me that there was a lot the two disciplines could learn from one another.
The final part of my MBA programme was the writing of a dissertation. For this I chose to explore the organizational learning within software development. This was part literature review and part research. You can download the result below, or just review the abstract if you prefer.
If this subject interests you, then you may also be interested in two articles I wrote for the ACCU publication Overload, these are Software Engineering and Organisational Learning and Ruminations on Knowledge in Software Development.
Most literature on software development addresses the subject as an engineering discipline. As such the discipline is a little over 30 years old, while technology has changed the dominant paradigm of organization has been one of process and methodology. While "people" are often cited as the determining factor in success or failure much less attention has been paid to this side of the discipline.
Since the early days of the discipline there has been an alternative text which places people centre stage, and rather than taking an engineering perspective takes an anthropological or sociological view of the discipline. However, this text has lacked a framework in which to analyse development activities.
This paper proposes Organizational Learning as a framework with which to analyse software development. Through literature review and qualitative research the organizational learning perspective is contrasted with the classical engineering perspective. We find that while the classical view forms part of the software developers' identity and can be a powerful force for change it fails to accurately describe the complexity of the field and may even support a number of social defences which inhibit software development. The organizational learning view provides for much richer description and analysis of the field.
While the classical view sees software development as largely separate from the wider organizational environment the organizational learning perspective embeds software development within this environment. From this point of view the act of software development has a role to play in higher order organizational learning by the company.
Finally, as a predominantly knowledge based activity software development can be seen as a metaphor for twenty-first century business. In this context we see that the fetish of methodology can hinder the emergence of knowledge and capabilities.