Rebecca Wirfs-Brock's Resume/CV

Rebecca Wirfs-Brock

wirfs-brock.com/rebecca
rebecca@wirfs-brock.com

Printable PDF version

SUMMARY

I am a software design pioneer who invented the set of object design practices known as Responsibility-Driven Design (RDD) and popularized the x-Driven Design meme (RDD, TDD, DDD, BDD). I am an internationally recognized leader in the development of effective software design and architecture techniques. Among my widely used innovations are use case conversations and object role stereotypes. I was the design columnist for IEEE Software and the author of the influential texts, Designing Object-Oriented Software, and Object Design: Roles, Responsibilities and Collaborations.

Over my career, I have helped product engineering, IT, and startup organizations with technical strategies, design and architecture guidance and heuristics, frameworks and architecture as well as with effective teamwork and development practices. In addition to coaching and personal mentoring, I occasionally teach and conduct workshops on Responsibility-Driven Design, design skills and thinking, decision-making, distilling design heuristics, specifying system qualities, and agile architecting. I also conduct independent research on characterizing software architecture, developing and sustaining complex socio-technical systems, and design heuristics.

Although best known as a software design guru, I am also an innovator of techniques for simply expressing complex requirements and effectively developing and communicating software architecture. My software methodology contributions are based upon thirty years of hands-on software development experience.

I’ve been a strategic technologist, advisor, software architect, product developer, and manager.  After a successful career at Tektronix, I joined Instantiations and led its consulting and training efforts. In 1997, I founded a successful design consultancy and made major contributions to engineering and design practices in numerous technology and IT companies.

As an educator, I developed courses and trained dozens of engineers on object design and architecture practices. As a consultant I have advised architects, managers, and CTOs on architecture and design strategies and conducted architecture reviews of enterprise applications and product platforms. I’ve been a technology advisor on the architecture, design and implementation of a medical analytics framework, advised an engineering group on design and architecture for a large embedded application, and mentored teams on framework design, architecture, managing incremental and iterative object-technology projects. I've worked with clients on architecture governance, their decision-making approaches, and the creation of practical design guidelines and architecture documentation.

I have been a long-time steward of practitioner experience reports for non-profit organizations and conferences—including the Object-Oriented Programming Systems, Languages and Applications (OOPSLA), XP, and Agile conferences. I served as director of the Agile Alliance Experience Report Initiative where I grew a community of reviewers and writing coaches and author advocates and established guidelines for shepherding report authors. In over twenty years of service to both the Agile and object-oriented communities I curated hundreds of written reports on Agile and object technology topics. Additionally, I developed and conducted numerous patterns writing boot camps and shepherded patterns papers and essays in service to the patterns community.

CURRENT RESEARCH INTERESTS

I am especially interested in understanding the cognitive and social aspects of software development including: Naturalistic decision-making (NDM) and software architecture decisions; decision-making models for software architects; design heuristics and their relationships to software patterns and guidelines; values and practices for sustainable software architecture and its evolution; software design and development ethnography; practical software design methods; agile architecture and design practices; generative patterns and pattern languages; object-oriented design; software modeling; domain modeling; documenting complex software systems; and communicating design intentions.

PATENTS, BOOKS, and PUBLICATIONS

Patents

Books

Refereed Papers and Publications

Articles

IEEE Software Design Columnist, 2006-2009:
Additional Articles
Recent Online Essays

Additional Online Essays: https://wirfs-brock.com/rebecca/blog

COURSES DEVELOPED

Adjunct Professor, Oregon Graduate Institute, 2002 – 2006. Taught CSE 504 Object Analysis and Design, Fall 2002

Industrial Courses


Selected Tutorials and Workshops

  • “Expanding your Design Heuristic Repertoire One Experiment at a Time” Hands On at DDD Europe 2023
  • “Heuristic Hunting for the Curious” Hands On at DDD Europe 2022
  • “Workshop co-organizer: Agility with Microservices,” XP 2021
  • “Workshop: Distilling Design Heuristics by Modelling” at OOP 2021
  • “Hands on Heuristic Hunting” at DDDEU 2021 Hands On
  • “Workshop: Decision-making practices for evolving and sustaining software architecture” 2020 and 2021 public workshops
  • “Design Heuristics 2 day Workshop” at DDD Europe 2020
  • “Distilling your Personal Design Heuristics Workshop” at DDD Europe 2018
  • “Understanding Design Complexity” workshop and “Agile Architecture Values and Practices” tutorial at XP 2014
  • “Being Agile About System Qualities” tutorial at SATURN 2014
  • “Discovering Alexander’s Properties in Your Life” workshop at AsianPLoP 2014
  • “Rulemakers and Toolmakers: Adaptive Object Models as Agile Division of Labor” tutorial at QCon 2010 and SPLASH 2010
  • “Skills for Agile Designers” tutorial at SPLASH 2010
  • Tutorial Presenter at OOPSLA 1990-2008

PRESENTATIONS

Selected Keynotes and Invited Talks

  • “Go Build Your Thing—And in the Process Inspire Others to do the Same” with Lise Hvatum at PLoP 2023
  • “Critically Engaging with Models: with Mathias Verraes at DDD Europe 2022
  • “What You are Doing vs. What You Think You are Doing” keynote at CukenFest 2020
  • “Grow Your Personal Design Heuristics” keynote at I.T.A.K.E 2020
  • “Elephants, Patterns, and Heuristics” keynote at DDD Europe 2020
  • “Design Matters” keynote at DDD Europe 2017
  • “Cultivating Your Design Heuristics” at ExploreDDD 2017
  • “What Agile Software Development Needs from Architects” keynote at OOP 2017
  • “Cultivate Your Design Heuristics” keynote at O’Reilly Software Architecture 2019
  • “Discovering Alexander’s Properties in Your Code and Your Life” at Smalltalks 2014
  • “Object Design Roots and New Directions” at Smalltalks 2014
  • “Maintaining Your Code Clint Eastwood Style” keynote at I.T.A.K.E 2013
  • “Managing Project Risk and Incremental Design Innovation” at IEEE Software Experts Summit 2011
  • “Agile Development: Does it Have to Be All In or Fold?” keynote at Agile Portugal 2011, a company’s internal agile conference 2010 and CBSoft 2010
  • “Nature of Order: Inspiration or Esoteric Distraction?” keynote at SugarLoaf PLoP 2010 and PLoP 2010
  • “Lessons Learned from Architecture Reviews” keynote at SATURN 2009 and Øredev 2009
  • “What Drives Design?” keynote at OOPSLA 2008
  • “Looking for Abstractions in a Concrete World: Candidates, Responsibilities, and Collaborations” invited speaker at the OOPSLA 2001 Educators’ Symposium

Selected Talks

  • “Rigor You Say” talk at DDD Europe 2024; “Distilling Your Design Heuristics” Hands On at DDD Europe 2024
  • Panelist “The Stories we Tell: Experience, Research or Patterns?” XP 2021
  • “Patterns, Principles, and Agile Connections” with Ward Cunningham, Linda Rising, Joseph Yoder, and Rebecca Wirfs-Brock, Hillside Group, February 2021
  • "Grow Your Personal Design Heuristics” at Ãgiles 2020
  • “Growing Your Personal Design Heuristics” YOW! 2019 Australia Conferences
  • “Decision Making and Heuristics: Architecture and Software Design in the Real World” YOW! 2019 CTO Summit
  • “Visual Thinking for the Visually Reticent” at XP 2019 and Agile 2019
  • “Being Agile at Quality: Values, Practices, and Patterns” at Agile 2018
  • “Cultivating your Design Heuristics” at XP 2018
  • “Intentional Architecture- Practices for Sustainable Development and Delivery” and “Three Practices for Paying Ongoing Attention to System Qualities” at Agile 2017
  • “Design Matters” keynote at DDD 2017 Europe
  • “What Agile Software Development Needs from Architects” at OOP 2017
  • “Being Agile About System Qualities: Value, Practices & Patterns” at Agile Technical Conference 2017 and Agile 2016
  • “Why We Need Architects (and Architecture) on Agile Projects at XP2015 and ILTAM 2015
  • “Exploiting Fast and Slow Thinking” at XP 2016, SATURN 2015, and Agile 2014
  • "Technical Debt" panelist at SATURN 2014
  • “Why We Need Architects (and Architecture) on Large Scale Agile Projects” and “Agile Quality Scenarios: How to Be Nimble and Precise” at Agile 2013
  • “Maintaining Your Code Clint Eastwood Style” at ITAKE 2013, “Managing Project Risk and Incremental Design Innovation” at IEEE Software Experts Summit 2011
  • “Why we Need Architects (and Architecture) on Agile Projects” at Agile Portugal 2011 and YOW! 2011
  • “When should you consider meta-architectures?” at QCon 2010
  • “Understanding Design Complexity” at Agile 2010
  • “Writing Effective Agile Use Cases” at Agile Software 2010

PODCASTS AND VIDEOs

Podcasts produced and moderated:

  • “A Conversation with Nienke Alma about Life in the POCLAC” (audio)
  • “A Conversation with Serena Godfrey and folks about Servant Leadership at Vistaprint” (audio)
  • “A Conversation with Two Remote Mobbers, Sal Freudenberg and Matt Wynne” (audio)
  • “A Conversation with Chris Lucien on Learning to Experiment” (audio)
  • “A Conversation with Sarah Baca: How Can You Know Whether Your Scrum Masters are Effective?” (audio)
  • “A Conversation with Dane Weber: Reflections of an Undercover Scrum Master” (audio)
  • “A Conversation with Kenny Bass-Schwegler and Alberto Brandolini about the power of Event Storming” (audio)
  • “A Conversation with Michael Keeling and Joe Runde about Mobbing Patterns” (audio)
  • “A Conversation with Deepti Jain and Tathagat Varma about The State of Agile Transformation in the Indian Subcontinent” (audio)
  • “Soup of Salad Models of Diversity: A Conversation with Avraham Poupko” (audio)
  • “A Conversation with Aaron Griffith and Chris Lucien on Mob Programming for the Introverted” (audio)
  • “Flow of Value and Forecasting: An Interview with Daniel Vacanti” (audio)

Podcasts Appearances

  • “Special: 20 Years of Women in Agile” Agile TD Unplugged Podcast, (audio)
  • “Design Heuristics with Rebecca Wirfs-Brock” on Legacy Rocks Podcast, (audio)
  • “Interview with João Rosa” (audio)
  • “EventStorming Types and Heuristics with Rebecca, Paul and Alberto” on Virtual Domain-driven design Podcast, (audio)
  • “Observing Heuristics” Cucumber Podcast, (audio)
  • “James Shore, Llewellyn Falco, and Rebecca Wirfs-Brock on TDD and Architecture” on InfoQ Podcast, (audio)

Selected Videos:

  • “Who is Agile” conversation with Yves Hanoulle, (video)
  • “Patterns, Principles, and Agile Connections with Linda Rising, Rebecca Wirfs-Brock, Joseph Yoder and Ward Cunningham” Hillside 2021 event, (video)
  • “Rebecca Wirfs-Brock on OOP in Smalltalk” (video)
  • “Elephants, Patterns, and Heuristics” keynote at DDDEu 2019 with Chris Kohls, (video)
  • “Cultivate your personal design heuristics” clip from O’Reilly keynote, (video)
  • “Design Matters” keynote at DDDEu 2017, (video)
  • “Growing Your Personal Design Heuristics” talk at YOW! 2019, (video)
  • “Rebecca Wirfs-Brock & Alex Bolboaca - Design Challenges: OOP, Design Patterns, Heuristics” conversation with Alex Bolboaca, (video)
  • “Decision Making and Heuristics” talk at YOW! 2019 CTO Summit, (video)
  • “Cultivating Your Design Heuristics” keynote at ExploreDDD 2017, (video)

SERVICE

Board membership

  • Hillside Group (patterns community non profit) Board Member 2010- and Treasurer, 2011 – 2021
  • Co-convener and co-founder of the Agile Open Northwest Conference, 2007 – 2018. Board chair of the Agile Open Northwest non-profit, 2010 – 2018
  • Agile Alliance Board Member, 2003 – 2006
  • IEEE Software Advisory Board Member, 2010 – 2020
  • SD Best Practices and SD West Advisory Board Member, 2003 – 2009

Conference Leadership

  • Conference Co-Chair, Pattern Languages of Programming Conference, PLoP 2024
  • Conference Chair, Pattern Languages of Programming Conference, PLoP 2020
  • Conference Co-Chair, SugarLoaf Patterns Conference, SugarLoaf 2010
  • Conference chair, Patterns Languages of Programming Conference 2009, PLoP 2009
  • Member of OOPSLA Executive Steering Committee, 1995 – 1997
  • Conference Chair, Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 95
  • Program Chair, Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 92
  • Experience Reports Track Co-Chair for XP2015 – XP2021
  • Experience Reports Track Co-chair for Agile 2011 – Agile 2021
  • IEEE Invited Speaker and agile architecture track chair at SATURN 2011
  • Experience Report Chair, Agile 2005
  • Experience Report Committee Member Agile 2004, 2006, 2007, 2009, XP 2022
  • User Experience Stage Reviewer, Agile 2008
  • Software Development Best Practices Conference Advisor, 2004 – 2009
  • Experience Report Chair, Agile Development Conference 2003
  • Practitioner Reports Chair OOPSLA 2002
  • Member of the UML 2002 and UML 1999 Program Committees
  • Experience Reports Chair OOPSLA 1993
  • Member of numbers PLoP program committees
  • Member of numerous OOPSLA Program, Practitioner, and Tutorial Committees
  • Member of OOPSLA 2008 Demo Committee
  • Member of OOPSLA 2006 Onward! Track Committee
  • Member of the ECOOP 92 Program Committee

EMPLOYMENT HISTORY

1997 – present Wirfs-Brock Associates

President and founder of a company specializing in the transfer of object expertise, architecture, and design skills to teams and companies. Consulting projects include agile architecture for an agile transformation; architecture governance; architecture and design mentoring for a health analytics product; architecting an Operations Support Systems integration framework for a telco company; advising management, architects and lead designers of telephone switch control software; advising a large financial company on how designing for flexibility and variation in their software system; technical oversight of a government application tracking youth offenders in the state of Oregon; architecture tradeoff analysis training and consulting for a state agency; agile feature-level use cases for a cell phone company; review of a product line architecture and design for the next generation of a market-leading web application; architecture review of integrated enterprise applications; development of custom training and requirements workshops for several industries; design mentorship and architectural advisor for a health analytics company.

2014 – 2021 Agile Alliance

Program director of the Agile Alliance’s Experience Reports Initiative. Curated written experience reports published by authors. Led teams of reviewers and shepherds (experience report coaches) for Agile and XP Conferences. Conducted interviews with experience reporters and produced podcasts.

1991 – 1997 Instantiations/Digitalk/Parcplace-Digitalk

Chief Technologist for the professional services organization of a Smalltalk language vendor. Grew organization from 4 to 60 people and through two mergers. Created a set of “best practices,” developed strategic application frameworks, and was technical lead for key consulting engagements at Fortune 1000 companies. Developed training curriculum and courses that successfully introduced thousands of students to object design and programming. Maintained a high external profile by writing columns, speaking at numerous conferences and tradeshows, and OOPSLA conference leadership. Advised senior management on strategic issues and business opportunities.

1976 – 1991 Tektronix

  • Principal Engineer, Portable Oscilloscopes Division–Object technologist for a team developing the TDS family of oscilloscopes using embedded Smalltalk.
  • Principal Engineer, Graphics Workstations Division–Software Architect for a 3-D Visualization Workstation.
  • Principal Engineer, Tek Labs, Software Productivity Technologies Group–Program Manager Reusable Components. Led the development of the Color Smalltalk product.
  • Principal Engineer, AI Machines–First female principal software engineer at Tektronix.
  • Software Development Manager for the 440x AI workstation family.
  • Senior Engineer, Information Display Division–Software Project Leader for the 410x family of low cost raster graphics terminals.
  • Senior Engineer, Graphics Computing Systems–Software Project Leader for the 4909 file server.
  • Software Engineer, Microprocessor Development Product–Designed and implemented a universal linking loader.
  • Software Evaluation Engineer, Information Display Products

EDUCATION

  • B.A., Computer Science and Psychology, University of Oregon (Phi Beta Kappa)
  • Graduate work in Computer Science, Oregon State University