Philippe Kruchten


Relevant Degree Programs


Graduate Student Supervision

Doctoral Student Supervision (Jan 2008 - Nov 2019)
Reconciling Perspectives : a substantive theory of how people manage the process of software development (2013)

Software development is a 1.6 trillion dollar industry and any improvement to how we create software will have significant economic benefit. As part of software process improvement programs, many organizations adopt a methodology. While there is evidence that methodologies improve development outcomes, few developers follow specific methodologies, preferring to use ad hoc practices. What is going on here? Is there a gap between the process models and how people actually create software? Could it be that software developers do not find methodologies useful and that methodologies do not provide guidance or support for how people really create software?To answer these questions, we performed a field study to understand how the process of software development is actually managed. We used Grounded Theory to generate a substantive theory with the intention of using it to inform methodology design. We learned the main concern of people involved in the process of software development is getting the job done and different points of view and expectations create impediments. People use a four stage process of Reconciling Perspectives to remove these impediments. When a perspective mismatch is discovered, people converge their mismatched perspectives by reaching out and negotiating a consensual perspective. Constructing the work products and evaluating them validates the consensual perspective. The process may yield accepted work products, providing objective evidence the perspective mismatch was reconciled, or may result in waste. Reconciling Perspectives is a social process moderated by social dynamics, and creating accepted work products depends on individuals’ abilities to reach out and engage in negotiations while also sheltering themselves from distracting interruptions. This creates a tension in the process that must be managed because to discover and converge perspective mismatches, people must be open to interruptions while also remaining focused on getting the job done.This study provides additional evidence that software development is a socio-technical process. Most software methodologies are biased towards a technical description of software as a rational process of reductive transformation and do not provide guidance for social roles. We use Reconciling Perspectives to construct guidelines that can inform the design of a scalable socio-technical software development methodology.

View record

Towards usable end-user privacy control for social software systems (2009)

The recent growth and wide adoption of social software systems have transformed the Web from an information pool to a platform for communication and social interaction. While often times social software systems are used with the goal of sharing information, studies have shown that many users struggle to properly manage selective sharing of the vast and diverse information artifacts they dispose in such tools. Most existing social software systems define privacy either as a private/public dichotomy or in terms of a “network of friends” relationship, in which all “friends” are created equal and all relationships are reciprocal. These models fail to support the privacy expectations that non-technical users bring from their real-life experiences, such as segregating one’s disparate groups, enabling different degrees of intimacy within one’s network, and providing flexible, natural means of managing the volatile social relationships that social software systems confront. Furthermore, both models suffer from lack of empirical grounding and systematic evaluation. The research described in this thesis employs a qualitative research methodology to deepen understanding of the information sharing process in the context of social software systems, in order to propose guidelines for building privacy management mechanisms in this domain that provide users with more control over privacy, and yet, are intuitive and easy to use for the average, non-technical user population of social software. The research is based on a grounded theory study of users’ information sharing behavior in a social software tool, and offers several contributions, including clarifying users’ privacy needs, concerns, and strategies, and identifying factors that affect users’ decisions regarding sharing various information artifacts with different audiences. The findings lead to the development of several design heuristics and a general framework for usable privacy in social software domain, which inform the design of OpnTag's, a novel prototype that facilitates creation, organization, and sharing of information for an individual operating in various social contexts. Results of an empirical evaluation of OpnTag’s privacy management mechanism show that our proposed privacy framework is flexible enough to meet users’ varying information sharing needs in different contexts while maintaining adequate support for usability.

View record

Master's Student Supervision (2010 - 2018)
Investigating the causes of software technical debt at the architectural level (2018)

Architectural technical debt (ATD) describes the consequences of intentionally or unintentionally making architectural design decisions that compromise the internal quality of a software system. These consequences include long-term software evolution and maintenance issues that jeopardize software developer productivity. The architectural aspect of technical debt has been receiving significant interest from technical debt researchers, but many questions concerning architectural technical debt itself have yet to be answered. The main goal of this exploratory multiple-case study is to investigate architectural technical debt’s causes and accumulations at the design decision-level by examining software practitioners’ experiences with architectural technical debt and creating taxonomies that would aid software practitioners and technical debt researchers in the future. We conducted semi-structured interviews with 18 participants and an interview-style online questionnaire with 10 participants. From the data collected, we obtained 53 architectural technical debt issues in 15 non-trivial software intensive projects from eight organizations. The results of this study present two architectural technical debt taxonomies on the causes and accumulations of this issue. Then, we report our findings on current architectural technical debt management practices and practitioner experiences with architectural technical debt.

View record

Social agent modeling and simulation : an aid to pre-adapting populations to serious societal disruptions (2016)

Serious societal disruptions can be expected in our future, and policy makers need better tools to help populations pre-adapt to them, in particular tools that incorporate internal-subjective behavior drivers and the means by which to model the behaviors they create. The Intelligent Agent paradigm developed in the Computer Science discipline is a powerful technology that enables population modeling at the level of the individual, and could have by now been demonstrably useful in creating tools to support policy makers’ work on this challenge. However, the Rational Agent instantiation of this paradigm, the focus of most Intelligent Agent work to date, is unsuitable for modeling the behavior of real human populations in a major societal disruption, due to avoidance of the internal-subjective bases of human sociality and so-called ‘irrational’ behaviors, exactly those that will dominate decision-making in such disruptions. There is growing understanding of such behavior drivers at the level of detail needed to support the modeling of significant-size populations. We propose a Social Agent instantiation of the Intelligent Agent paradigm for bottom-up modeling that explicitly incorporates these drivers, and we analyze the results of an implementation of this model in ‘EnergyWorld’, an abstract simulation of population behavior when resources needed for well-being are abruptly, significantly and persistently made scarce. Formal validation and verification in this research are limited due to the lack quantitative data on the internal-subjective nature of human decision-making; instead, we argue that the credibility of comparative policy analysis based on differential model parameter sets makes this approach useful for scenario-based policy analysis as a complement to other tools. We believe this to be true even if the disruptions we expect do not arrive in the intensity or form that seem likely today.

View record

Touchless gesture recognition system for imaging controls in sterile environment (2014)

Physicians often rely on a patient’s imaging to accurately complete a surgical procedure. To be able to navigate and manipulate these imaging files, physicians resort to using the traditional keyboard and mouse. However, keyboards and computer mice are common mediums for bacterial transfer. As a result, physicians need to re-perform the time-consuming scrubbing techniques after interaction with these devices. With gesture-based control systems becoming an alternative interface over traditional mice and keyboard input systems, new interactive methods can be implemented in a medical environment. Gesture-based interactions allow touchless control of a system that removes the need of the re-sterilization process. This may reduce procedure time and allow the physician to focus on the primary task at hand. We propose a simple method where the primary user can perform most common interactions such as scroll, zoom, pan and window width/level adjustments with just one hand using a Leap Motion® sensor and an open source DICOM viewer, Weasis. The tool, developed as an open-source plugin for the Weasis PACS system, gives the user the ability to use one hand to efficiently manipulate medical imaging data. Our tool can be easily integrated into existing systems, requires no calibration prior to each usage, and is very low cost.An experiment was conducted at a local hospital, with 9 radiologists, 3 surgeons, 3 operating room support staff and 1 engineer to validate the adoptability and usability of our plugin tool. From the results, we can conclude that the participants are receptive to our hand-gesture recognition system as an alternative to using the traditional mouse and keyboard when viewing the imaging or to asking an assistant outside of the sterile field to operate the computer.

View record

A new change propagation metric to assess software evolvability (2013)

The development of software-intensive systems faces many challenges; one of the most important from an economic perspective is to reduce their maintenance costs. This thesis proposes a modified change propagation metric as a tool to assist the analysis of evolvability and maintainability of a software system and to ultimately support the reduction of its maintenance cost. The technical complexity of software systems has a great impact on their ability to make increased functionality and adaptability to the environment possible. One approach to understand and master the complexity of large software systems, varying from thousands to millions of lines of source code, is through software architecture. This study examines a sample of software systems from the dependencies of their static structural view. The dependencies and their importance are expressed as a design structure matrix (DSM) that is used as an indicator to reflect the strength of dependence and connection among the different modules.In this thesis, we propose a “modified change propagation” metric as a set of incremental improvements over the original Propagation Cost (PC) metric proposed by MacCormack (2008). Our improved metric uses dependencies weighted with strength to convey more information about the incidence of strongly connected relationships and it discounts weak dependencies. Moreover the original propagation metrics considered that the system should be acyclical; but we found that in practice a very few real systems are exempt of cycles. Furthermore, if cyclic dependencies are heavy rather than weak then these cycles should be treated differently. Finally, our metric is normalized to minimize the effect of both change in the total depth of the dependency graph, and increases in the size of the code. Our modified change propagation metric can help software designers assess the maintainability of a software system at design time and over a proposed release sequence by comparing change propagation measures for different designs of software architecture. For instance, after refactoring. We validated our metric both on a system developed at UBC, and on several large open-source repositories for which we were able to obtain long release histories.

View record

Speech enhancement during BiPAP use for persons living with ALS (2013)

Speech from behind a face mask while on Bilevel Positive Air Pressure (BiPAP) ventilation is extremely difficult for persons living with Amyotrophic Lateral Sclerosis (ALS). The inability to verbally communicate while on ventilation causes frustration and feelings of isolation from loved ones and decreases quality of life. A system that integrates with face masks, captures speech, removes ventilator wind noise and outputs and recognizes de-noised speech is proposed, implemented and tested. The system is tested with a dataset consisting of digitally added noise as well as a single patient with ALS. Automated machine recognition of the words is then performed and results analyzed. A subjective listening test is conducted with individuals listening to the noisy and filtered speech samples and the results are also analyzed.Although intelligibility does not seem to improve for human listeners, there appears to be some improvement in machine recognition scores. In addition, feedback from the ALS community reports an improvement in the quality of life simply because patients are able to use their own voice and be heard by loved ones.

View record

Technical debt : what software practitioners have to say (2012)

Technical debt is a metaphor for the consequences that software projects face when they make trade-offs to implement a lower quality, less complete solution to satisfy business realities. While interest in the metaphor is slowly gaining traction in academic research, there already exists a significant amount of discussion in website logs (blogs). The purpose of this research is to validate the existing definitions and to enrich it with the insights, experiences and lessons learned of software practitioners working in industry. The results are based on a series of one-hour interviews conducted with nineteen software practitioners that investigates the definitions, attributes, causes, symptoms and management of technical debt. It is validated by the findings from a secondary study based on “Hard Choices”, a board game designed to teach the concepts of technical debt, and a replication study conducted by Nitin Taksande at the University of Maryland, Baltimore County. The outcome of this research provides software practitioners with a set of guidelines to recognize and manage their technical debt. The guidelines state that incurring technical debt is unavoidable because software projects need to meet business goals. Instead, project teams should learn to manage technical debt by developing effective communication skills that bring visibility to its existence in order to enable all project stakeholders to take ownership in mitigating its risks.

View record


If this is your researcher profile you can log in to the Faculty & Staff portal to update your details and provide recruitment preferences.