Paul M.

Primary Department
Faculty of Engineering and Computing
Assistant Professor
Work Area/Key Responsibilities
Phone number: 01 700
Glasnevin Campus
Room Number

Academic biography

In the early part of my career, I spent 13 years in industry working for a number of successful software development firms, including Logica (formerly Aldiscon Ltd.), the FINEOS corporation and Arantech Ltd. (later acquired by Tektronix Ltd.). During my industrial career, I held a range of positions such as Senior Software Engineer, Software Development Manager, Engineering Manager, Programme Manager, Global Head of Support and Maintenance, and Program Control Manager. 

Since returning to academia in 2008, I have had a strong focus on the processes used to develop and maintain software. These include the more traditional lifecycle models but also contemporary approaches to software development, including agile, lean and continuous software evolution. I successful defended my PhD thesis in 2012, the focus of which was the interaction between software process adaptation and business performance (some details of which may be accessed here:https://www.computer.org/csdl/trans/ts/2015/12/07214314.html or http://doras.dcu.ie/20983/). Thereafter, I contributed to the safety critical software domain as Research Manager on the development of MDevSPICE® - the medical device software process assessment framework (a position which also included authorship on editorial roles on international standards and technical reports).

More recently, I am leading an international consortium that is focused on obtaining funding to examine and improve the use of terminology in software development, a project which includes multiple specialisms, ranging from computational linguistics, to terminology and ontology expertise, and also knowledge management skill-sets. I have also successfully led an industry and academia combined consortium to the successful award of €2.1M in 2018, this fund coming primarily from the Disruptive Technologies and Innovation Fund (c. 8% success rate). Our industry partners include FINEOS and fourTheorem Ltd..

As a Lecturer, I am also actively involved in the very important activity of teaching in Dublin City University, including modules such Building Better Software, Software Process, Software Quality, Software Testing, Managing Projects and Change, and Object Oriented Programming.

Research interests

My research is currently focused in the following areas:
(1) Complexity Theory and Software Development Processes.
(2) Software Development Process Terminology.
(3) Continuous Software Engineering.
(4) Software Process Adaptation.
(5) Human factors in Software Engineering & SE Education.

 1. Complexity Theory and Software Development Processes. Work to examine the relationship between situational factors and software development processes suggests that the design and adaptation of processes is similar to behaviour observed in complex adaptive systems. Further information is available at: Related research paper on complexity theory and software development processes.
 2. Software Development Process Terminology. A great deal of process innovation has been proposed over the decades, up to the present time where we witness an explosion of lean and agile software development methodologies. With the passing of time, new terminology has been introduced, sometimes to refer to new concepts, other times just new terms for pre-existing concepts. Our work in this areas seeks to understand the scale of terminological confusion and to examine its impact. Our terminology research is closely related to core software engineering process theory research which is concerned with the identification of univeral concerns in software development (for example, we will always have at least one iteration, and we must always have some requirements, and we must always produce some code). Further information is available at: Related research paper on software development process evolution. and Related research paper on software development process terminological confusion.
 3. Continuous Software Engineering. In recent years, tooling has enabled software development to speed up. Tools now exist to allow us to rapidly deploy to target operational environments and to automatically perform a whole host of testing. These tooling advances - when coupled with emerging microservices architectures and container technology - allow for rapid and reliable new feature delivery. We term our research in this space Continuous Software Engineering. Further information is available at: Related research paper on continuous software engineering.
 4. Software Process Adaptation In common with some earlier software development process innovations, my research borrows on concepts from economic theories. Specifically, I'm interested in applying the dynamic capability concept outlined in the Evolutionary theory of the firm1 to the task of software development process definition and evolution. Dynamic capability refers to the ability of an organisation to adapt to changing circumstances, and according to the Evolutionary theory of the firm, organisations that possess greater dynamic capability are more likely to be successful. Although increased dynamic capability would appear to be beneficial for the ever-changing world of s