I am currently working on three projects described below.
Improving Software Development Technologies
This is an internally funded project whose goal is to produce results and prototypes to increase the adoption of testing practices by industrial software engineers. We are investigating first, the agile practice, of test-driven development (TDD). Currently we are working with some large corporations to develop research plans to understand the barriers to adoption of TDD, and how those may be overcome by better tool support. This research will lead to prototype tools which will be evaluated, and potentially transferred to our industry partners. The second area we are investigating is testing in model-based environments. Working with a medium sized, local enterprise, we are conducting a survey to understand the current and best practices of developers with respect to testing in model-based environments. This will lead to a requirements document delivered to the local vendor, who will then use this as the basis for defining their new tool set. I am co-managing this project with a colleague. We have just hired two post-docs who will be joining our team shortly.
Advanced Syndromic Surveillance and Emergency Triage
This is a Canadian defense funded $3 million, multi-partner,18 month project to install syndromic surveillance technology in the city of Ottawa, with a research component to improve the existing system, including making it bi-lingual. I am the project manager for this project. Syndromic surveillance involves the automatic detection of disease outbreak by monitoring the chief complaint registered by the triage nurse for patients presenting to the emergency room. Our partners include local hospitals, a local IT development company, local public health, many academics, and representatives from the municipal, provincial and federal government. The interesting aspect of this project has been to see that the political and social requirements for installing the system have been much more important to address than the technical ones. For instance, the site of the server and the privacy and confidentiality requirements have proven to be major issues to solve in terms of adoption. Non-functional requirements also turn out be extremely important, including looking at the modularity, security and maintainability of the system. We are on track for a September deployment and will be evaluating the system for Phase II requirements shortly.
Software for scientists
I am acting as an advisor on two projects related to software for scientists. First, working with University of Toronto and Simula Research Norway, we are deploying a major survey of scientists to understand their software needs. Scientific discovery and innovation is increasingly dependent on software, yet we have little knowledge of how scientists use software and validate their results. This survey based on several hypotheses about how scientists use software will begin to shed light on this issue. I am also involved in an action research project involving several NRC scientific institutes. We are working with the scientists to develop a framework that allows them to integrate various pieces of legacy software to a common interface. It also uses software engineering processes and concepts to allow them to manage their data and its provenance.
I was also recently involved in a project on Broadband Video Communication which I will post about when I have some time.