Here’s a very short story.
One day, when I was a computing undergraduate in the 1990s, I had to do a high stakes programming assessment. With about twenty of my peers, I went into a computing lab, where we were all give a programming task to complete. We had to write code to solve a problem, and then get a printout of the program and all the test data we had used.
I remember that it took me a couple of hours.
Halfway through the activity, one of my peers stood up, said he had finished and proudly announced he was going to the student union bar (it was 11:00am in the morning; we didn’t have any other classes for that day). When I finally got all my code and tests printed and submitted, I noticed there were some students who were still working on their problems.
In this moment, I asked myself a question which plagued me: how come some people find programming really easy, and other people sometimes struggle? Is there something special about coding?
I took this question with me to my postgraduate studies, and then onto doctoral studies, where I learnt about cognitive psychology and working memory. My focus on the individual programmer and their capabilities led me to create a whole new type of software metrics.
After doing all this study, I got a job as a professional software engineer. I was keen to gain some industrial experience since if I were ever to return to the higher education sector to teach programming, having some real programming experience would give be a bit of credibility.
One of the most important things I learnt in industry was that whilst the individual programmer and their abilities is important, software engineering is a team game.
Although I’m interested in software, I’m more interested in people. I see software and computing as a tool through which we can understand more about ourselves; I see the machine as a mirror in which we can see more of ourselves.
Software and software engineering has taken me on a journey. It is a journey that began with one question and has ended with another, which is: “since communication is so important in software engineering, could the idea of story telling be useful?” I’ve been on a journey that once focussed on the individual, and have moved to a place where I’m now interested in groups of people and how they work together.
Topic Description
Software is an invisible technology created by people. To design and build software, communication is a necessity. Software engineers must communicate with stakeholders to gather requirements, they must communicate with each other during the development process, and then they must communicate with the stakeholders when software is deployed.
Since software development and engineering is a human-centred activity and communication is both a necessity and imperative, one of the tools that could be used and applied by software engineers is storytelling. The aim of this project is to uncover the ways in which storytelling practice can be either discovered or used within software development communities.
Storytelling and software engineering can be considered in different ways. It could be used to help to facilitate to the discovery of requirements, help to share professional expertise between developers, but it could also be used as a way to develop the communication skills and practices of the next generation of software engineering professionals, helping to address a perceived soft skills gap amongst computer science graduates.
In this project, you will carry out background research to identify how and where storytelling can be used to either develop, understand or enhance software engineering practice. You might be required to design and carry out empirical studies that explore software develop cultures or evaluate new and innovative methods or practices.
Skills Required
Although you may have a first degree in Computer Science or Software Engineering, this project may be suitable for someone who has studied humanities and social science subjects and have completed a postgraduate conversion degree in Computing or a closely related subject.
Ideally, you should have a firm understanding and appreciation of quantitative and qualitative social science research methods. You should also be willing to study topics and subject that relate to the humanities, and be willing to explore different conceptions of employability within the discipline of computing.
Background Reading
Iniesto, F., Sargent, J., Rienties, B., Llorens, A., Adam, A., Herodotou, C., Ferguson, R. and Muccini, H. (2021) When industry meets Education 4.0: What do Computer Science companies need from Higher Education? Ninth International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM’21), October 26–29, 2021, Barcelona, Spain. ACM.
Rainer, A. (2021) Storytelling in human–centric software engineering research. EASE 2021: Evaluation and Assessment in Software Engineering, June 2021, 241–246.
Schwabe, G., Richter, A. and Wende, E. (2019) Special issue on storytelling and information systems. Information Systems Journal, vol. 29, no. 6, 1122–1125.
Storr, W. (2020). The Science of Storytelling: Why Stories Make Us Human and how to Tell Them Better. Abrams.
Closing points
If this very broad sketch of a project sounds interesting as a doctoral research project, do feel free to get in touch.
Alternatively, if you’re a computing researcher looking at a similar subject, feel free to drop me a line; it would be great to her from you - let's find a way to collaborate.