‘Engineering Software Products: a introduction to modern software engineering, published by Pearson Education is now available.
Since I started writing software in the 1970s, software engineering has changed out of all recognition. In the early days of the discipline, all software was developed in software projects, mostly for governments and large companies. The client specified their requirements, which were often lacking in a number of ways, and the software was developed by a separate company or group. This project oriented approach dominated software engineering for more than 30 years.
However, the world has changed. Large-scale complex systems are still developed using a project-based approach, we mostly use software products for work and leisure. These are not developed in the same way as projects so many project-based software techniques are inapplicable. Yet, most software engineering textbooks (including my own text, now in the 10th edition) still adopt a project-based approach.
‘Engineering Software Products’ has been designed to support a 1-semester introductory course in software engineering. The book focuses on modern software engineering, based around the kind of software that students can relate to. That software will be developed incrementally using agile methods, execute on the cloud, its security will be critical and it will be maintained and managed by a DevOps team. There are 10 chapters in the book each focusing on an aspect of software product engineering.
I have completely rethought what should be covered in a modern software engineering course. Consequently, the book is NOT the 11th edition of my existing software engineering textbook and very little material from my existing text has been reused.
Ive summarised my reasons for writing a completely different book in this short video.
I’ve also written a short summary of why I think we need to change software engineering courses and a couple of blog posts discussing the book and my motivation for writing it.
Books, like software, always contain bugs. I’ve included a list of known typos and other errors on the Errata page.
I was a full professor of software engineering at Lancaster University, England and St Andrews University, Scotland for almost 30 years and I am now an Emeritus Professor at St Andrews University. I have worked with software companies across Europe since 1982. I formally retired in 2014 although I maintain contacts with a number of software companies. This experience was the genesis of this book.
I have written a number of books on software engineering including a very widely used textbook ‘Software Engineering‘. If you are interested in what else I have done and my research in socio-technical systems engineering, see my professional blog and web page.
I have never taken the view that you should live to work so I do lots of other things apart from software engineering. I sometimes write about these in my personal blog.
GDPR compliance. I do not collect or store personal information about visitors to this site.
Version 1.1: Updated 18th April 2020