Wednesday, December 17, 2008

Putting Humanity Back into Software Engineering

Dr. Elisa BaniassadDr. Elisa Baniassad, from Chinese University of Hong Kong, gave a seminar today on "The Human Side of Artefacts" at the Department of Computer Science, Australian National University, in Canberra. She discussed research on how software developers actually use Object Orientated tools in practice, and how this differed from expectations. She then discussed new paradigms from outside the western reductionist approach usually used by software developers.

This discussion reminded me of "Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values" which was written by a some time software document writer. In this book Robert M. Pirsig discusses the different ways disciplines approach problems and the origins of this in Western philosophy.

Dr. Baniassad's approach of looking at the human aspects of software development and not just treating code as something for a machine to consume is a useful one. Looking at what real programmers actually do, rather than what experts clam is very useful.

However, I suggest that the analysis could usefully be expanded beyond the point of view of the particularly narrow point of view of Object Orientated Programming. Other areas of the ICT discipline have looked at other ways to develop systems and other disciplines have before computer science existed.

Some years ago I enrolled in a foundation unit for graphic designers and architects. I found that my computing and scientific training meant that I was unable to communicate with the staff and students in design. While we used many of the same words, we seemed to use them differently.

Software Engineers need to keep in mind that all the world's problems can't be solved by software engineering (or by engineering more generally). As an example, engineers do not architect buildings, architects do. The design of a building is a collaboration between many different disciplines, using different tools and different points of view. The process is not a smooth one, with frequent conflicts. In the same way those designing software should not assume that one techniques from one discipline can be used for doing everything and that they need to collaborate and learn from others.

ps: Dr. Baniassad co-authored "Aspect-Oriented Analysis and Design: The Theme Approach" with Siobhán Clarke.

No comments: