I started programming in 1970 and have been involved in systems and software engineering since then. I retired as Professor of Software Engineering at St Andrews University in January 2014 but I continue to write and consult in software and systems engineering. This website records some of my academic work - as I have now retired, it won't be changing significantly in future.
I'm interested in research in complex, dependable systems and I teach courses in systems engineering and socio-technical systems. My particular expertise is in socio-technical systems where I'm interested in the interactions between technology, people and organisations, and in cloud computing. Some of my publications in these areas are accessible from the link in the left-hand menu. Recently, I have done some advisory work for the Scottish Government on a digital learning environment for schools and on cybersecurity education.
I am the author of a widely used textbook on software engineering, now in its 9th edition. If you use my book in teaching, you may have arrived here looking for supplementary material, such as the presentations for each chapter. These, and all other teaching material I use, can be accessed from the books link in the menu to the left.
From 2007 to 2112, I was closely involved in SICSA, the Scottish Informatics and Computer Science Alliance, which is a collaboration of computing science and informatics departments across Scotland. I was a co-author of the SICSA proposal to the Scottish Funding Council, Director of the Graduate Academy from 2008 to 2010 and Director of SICSA from 2010 to 2012.
I also have a separate personal site and blog which includes material about my interests outside of work.
As part of the process of getting all of my web presence onto a single platform, I now have a new professional web site and blog.
This includes most of the relevant information from this site and my blogged opinions and comments on software and systems engineering.
Consequently, I am no longer maintaining this site but I will leave it up indefinitely.