I wrote my first computer program in 1970 and have been involved in software engineering research and teaching since the late-1970s. So I have lived through changes to computer generations from mainframes to minicomputers to PCs and mobile devices. I started using the Internet in the early 1980s and my first web site was published in 1995. I was born in Glasgow, Scotland and educated at Strathclyde University (BSc Physics) and St Andrews University (MSc, PhD Computer Science).
I joined the School of Computer Science at St Andrews University, Scotland in 2006 and retired in 2014. I spent 20 years (1986-2006) as a professor of software engineering in the Computing Department at Lancaster University, England. Before that, I was a lecturer in Computer Science at Heriot-Watt University, Edinburgh (1975-78) and at Strathclyde University, Glasgow (1978-86).
I have worked in several areas of software engineering – software tools and environments, requirements engineering, dependable systems and large-scale complex systems. Since the early 1990s, I have taken a sociotechnical and not simply a technical view of software engineering where I looked at how human, social and organizational factors affect complex systems and systems engineering processes. We were one of the first groups to look at how socialtechnical issues affect software and systems engineering and I like to think that we made an important contribution here. Some key papers are available from my research page.
I retired in 2014 and I now have the luxury of doing techie things that I enjoy, like programming and not having to do the inevitable crap that comes with all jobs.
I’m best known professionally for my textbook on software engineering which has been in print since 1982 and which has sold over 750, 000 copies worldwide. I have recently published a new introductory text on software engineering called ‘Engineering Software Products’, in which I suggest a new approach to the teaching of software engineering.