Humans are a key part of software development, including customers, designers, coders, testers and end users. In this talk I discuss several examples from our recent work on handling human-centric issues when engineering software systems. This includes personality impact on aspects of software development, specifically testing and pair-programming; understanding interpersonal issues in agile practices ; incorporating end user emotions into software requirements engineering; reporting usability defects; providing proactive design critics in software tools to augment human decision making; and finally to the use of human-centric, domain-specific visual models for non-technical experts to specify and generate systems, without the need for software engineers at all. I assess the usefulness of these approaches and discuss key future directions.
I am currently Australian Laureate Fellow and a Professor of Software Engineering at Monash University. I hold the BSc(Hons), MSc and PhD degrees, all in Computer Science, from the University of Auckland. I am a Fellow of Automated Software Engineering, Fellow of Engineers Australia, Certified Professional Engineer, Engineering Executive, Member of the ACM and Senior Member of the IEEE.