Getting to Flow in Software Development
Humans are amazing at processing information. This ability has enabled humans to create software development projects that comprise a tremendous amount of information of various forms from predominantly natural language documents like requirements to blended natural language and structured artifacts like issues to predominantly structured source and test code. So much information is generated daily in a software product that it exceeds the ability of humans to find and process all of the information that may be useful or critical for decisions that must be made. The majority of tools used in practice to access information do not help as they are predominantly aimed at returning complete information rather than just what is needed to complete a task-at-hand. In this paper, I outline the situation facing most developers today and outline new tool interaction styles that are emerging that can help address this problem and keep a software developer in the flow of a task. By improving flow, I argue that we can enable developers (and eventually a broader set of knowledge workers) to work smarter, work better and have more fun.
I am a Professor in the Department of Computer Science and Associate Dean (Research & Graduate Studies) in the Faculty of Science at the University of British Columbia. I am also a co-founder and Chief Scientist at Tasktop Technologies Incorporated.
My research interests are in software engineering with a particular interest in improving the productivity of knowledge workers, including software developers. My group develops tools to aid with the evolution of large software systems and performs empirical studies to better understand how developers work and how software is developed.
My teaching spans from introductory computer science courses to undergraduate and graduate courses in software engineering.
Thu 23 Oct
|13:30 - 14:15|
|14:15 - 15:00|
Gail MurphyUniversity of British Columbia