This is my personal and professional website. I am an Associate Professor in the Computing and Software Systems Division of the School of Science, Technology, Engineering and Math (STEM) at the University of Washington Bothell. I teach and do research on software engineering, software design, collaboration, and designing in general. My teaching and research is informed by my 19 years as a practicing software developer, manager, and agile coach.
My interests all revolve around collaboration, especially in the emergent spaces of complex spaces.
My primary research is about better understanding how software developers collaborate on their actual work in their actual place of work (“in the wild”). My Collaboration in the Wild project led to me use multiple data collectors (e.g., 9 GoPro cameras, 6 Zoom H2n audio recorders) to gather the BeamCoffer dataset, which contains 6 terabytes of video, photos, time-lapse imagery, screen capture, field notes, and interviews of software developers collaborating on their normal work in their place of work.
The opportunities and challenges of working with such a large, multi-modal, multi-stream dataset let my collaborators and I to create wide-field ethnography (WFE), an emerging set of principles and practices that use multiple data collectors (e.g., video, audio, photos, screen capture, source code repositories) to gather data widely across space, time, and modality so that researchers trying to understand a system like a software development organization can follow work across space, time, and modality. This “thick data” provides the context to make sense of the text (e.g., commit, transcript, document). WFE supports both researchers doing manually intensive analysis, such as interaction analysis of short segments from videos of software developers collaborating in the wild, and machine-learning researchers developing, evaluating, and analyzing the results of algorithms to automatically detect events or patterns in such data. For more information, see my research website.
I am working with students and other collaborators to build an ecosystem of WFE tools to allow researchers to effectively individually or collectively gather, curate, edit, browse, search, annotate, analyze, visualize, share, and otherwise work with the large and complex WFE datasets.
I also do research on designing, and other aspects of the human side of software development. This includes software development principles and practices (e.g., agile, lean), human centered design, software design, software testing, leadership, and other ways to more effectively collaborate to uncover and evolve important software-enabled systems. I find biomimicry to be powerful and energizing. I find organizational change to be fascinating. Aikido is a rock in my life, pervading all that I do.
I am a generalist. I am not tied to any particular technologies or approach, except a general preference to iterative, adaptive ways of being. I have used a variety of programming languages and worked in many different application domains.
I am on the organizing committee for the 12th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE 2019).
Past/Present Courses Taught at UWB
- CSS 490: Special Topics: Software Testing
- CSS 490/590: Special Topics: Collaboration in the Workplace: Using Video Analysis to Study Collaboration among Professional Software Developers
- CSS 350: Management Principles for Computing Professionals
- CSS 360: Software Engineering
- CSS 370: Analysis and Design
- CSS 566: Software Management
- CSS 572: Evidence-Based Design
- CSS 595: Capstone Project I
- CSS 596: Capstone Project II
Random points of interest
Here are a few transformative moments in my career.
- In 1978-79 I spent 12 months as a research assistant in the Galápagos Islands to Keith Christian who was doing his doctoral research on the energy dynamics of the Galápagos land iguana. That led me to work in Warren Porter‘s lab at the University of Wisconsin – Madison and earn a BS in Zoology.
- In 1999 while working at Rational Software (now IBM) with Jeff McKenna, Jeff introduced me to Kent Beck’s at then just published book Extreme Programming, which led me to re-discover the joy of programming.
- In 2000, I attended Jerry Weinberg’s Problem Solving Leadership weeklong workshop, which shattered my view of what software development is about, led me to spend substantial time with the community around Jerry, and introduced me into the world of experiential teaching.
- In 2016, I received my black-belt in aikido at Two Cranes Aikido, a practice that is core to who I am and continues to teach me profound lessons on the power of practice, blending, and leadership.