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.
To complement the material here, I write occasionally on a couple of blogs:
General blog on technical and university-related topics - mostly but not always from a software and systems engineering perspective.
I also have a separate personal site and blog which includes material about my interests outside of work. I am in the process of extending this to include all aspects of my web presence and it will eventually supercede this site.