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
- Warren Dodge and Rebecca Wirfs-Brock. 1987. Apparatus for presenting image information for display graphically. U.S. Patent US4635049A. Filed June 27th, 1984, Issued January 6th, 1987.
Books
- Rebecca Wirfs-Brock and Mathias Verraes. 2024. Design and Reality. LeanPub.
- Rebecca Wirfs-Brock and Alan McKean. 2003. Object Design: Roles, Responsibilities, and Collaborations. Addison-Wesley Professional.
- Rebecca J Wirfs-Brock, Brian Wilkerson, and Lauren Wiener. 1990. Designing Object-Oriented Software. Pearson.
- Rebecca Wirfs-Brock. 1995. Designing Objects and their Interactions: A Brief Look at Responsibility-Driven Design chapter in John Carroll, Ed. Scenario-Based Design: Envisioning the Work and Technology in System Development. 337–360. John Wiley & Sons.
Refereed Papers and Publications
- Rebecca Wirfs-Brock, Allen Wirfs-Brock, and Jordan Wirfs-Brock. 2024. Discovering Your Software Umwelt. Onward ’24 Proceedings. (html) (pdf)
- Lise Hvatum and Rebecca Wirfs-Brock. 2023. Exploring the Generative Nature of Patterns. PLoP ’23: Proceedings of the 30th Conference on Pattern Languages of Programs. 17 pages. (html)(pdf)
- Rebecca Wirfs-Brock. 2022. Observations on Growing a Software Design Umwelt. PLoP ’22: Proceedings of the 29th Conference on Pattern Languages of Programs. 10 pages. (html)(pdf)
- Rebecca Wirfs-Brock. 2020. Should we stop writing design patterns? PLoP ’20: Proceedings of the 27th Conference on Pattern Languages of Programs. Article No.: 7, 11 pages. (html)(pdf)
- Rebecca Wirfs-Brock and Christian Kohls. 2019. Elephants, Patterns, and Heuristics. PLoP’19: Proceedings of the 26th Conference on Pattern Languages of Programs. Article No.: 12, 15 pages. (html)(pdf)
- Ken Power and Rebecca Wirfs-Brock. 2019, Sense of Place within the Virtuous Circle of Architecture Decision-Making. 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), 2019, 1-2. (pdf)
- Ken Power and Rebecca Wirfs-Brock. 2019. An Exploratory Study of Naturalistic Decision Making in Complex Software Architecture Environments. Bures T., Duchien L., Inverardi P. (eds) Software Architecture. ECSA 2019. Lecture Notes in Computer Science, vol 11681, 2019, 55-70. (pdf)
- Rebecca Wirfs-Brock and Lise Hvatum. 2019. Who Will Read My Patterns? On Designing a Patterns Book for Target Readers. PLoP ’19: Proceedings of the 26th Conference on Pattern Languages of Programs. Article No.: 13, 21 pages. (html)(pdf)
- Ken Power and Rebecca Wirfs-Brock. 2018. Understanding Architecture Decisions in Context: An industry case study of architects’ decision-making context. Cuesta C., Garlan D., Pérez J. (eds) Software Architecture. ECSA 2018. Lecture Notes in Computer Science, vol 11048. Springer, Cham. 284-299. (pdf)
- Rebecca Wirfs-Brock. 2018. Traces, tracks, trails, and paths: An Exploration into How We Approach Software Design. PLoP ’18: Proceedings of the 25th Conference on Pattern Languages of Programs. Article No.: 20, 21 pages. (html)(pdf)
- Rebecca Wirfs-Brock and Lise Hvatum. 2018. Even More Patterns for the Magic Backlog. PLoP ’18: Proceedings of the 25th Conference on Pattern Languages of Programs. Article No.: 17, 17 pages. (html)(pdf)
- Lise Hvatum and Rebecca Wirfs-Brock. 2018. A Program Backlog Story with Patterns: Expanding the Magic Backlog Pattern Collection. EuroPLoP ’18: Proceedings of the 23rd European Conference on Pattern Languages of Programs. Article No.: 29, 18 pages. (html)(pdf)
- Rebecca Wirfs-Brock. 2017. Are Software Patterns Simply a Handy Way to Package Design Heuristics? PLoP ’17: Proceedings of the 24th Conference on Pattern Languages of Programs. Article No.: 3, 15 pages. (html)>(pdf)
- Lise Hvatum and Rebecca Wirfs-Brock. 2017. Pattern Stories and Sequences for the Backlog: Applying the Magic Backlog Patterns. PLoP ’17: Proceedings of the 24th Conference on Pattern Languages of Programs. Article No.: 26 21 pages. (html)(pdf)
- Rebecca Wirfs-Brock and Lise Hvatum. 2016. More patterns for the magic backlog. PLoP ’16: Proceedings of the 23rd Conference on Pattern Languages of Programs. Article No.: 22, 18 pages. (html)>(pdf)
- Joseph Yoder, Rebecca Wirfs-Brock, and Hironori Washizaki. 2016. QA to AQ part six: being agile at quality "enabling and infusing quality." PLoP ’16: Proceedings of the 23rd Conference on Pattern Languages of Programs. Article No.: 23, 14 pages. (pdf)
- Joseph Yoder, Rebecca Wirfs-Brock, and Hironori Washizaki. 2015. QA to AQ Part 4: Shifting from Quality Assurance to Agile Quality- Prioritizing Qualities and Making them Visible. PLoP ’15: Proceedings of the 22nd Conference on Pattern Languages of Programs. Article No.: 1, 14 pages. (pdf)
- Lise Hvatum and Rebecca Wirfs-Brock. 2015. Patterns to Build the Magic Backlog. EuroPLoP ’15: Proceedings of the 20th European Conference on Pattern Languages of Programs. Article No.: 12, 36 pages. (html)>(pdf)
- Tian Xia, Hironori Washizaki, Yoshiaki Fukazawa, Joseph Yoder, Rebecca Wirfs-Brock. 2015. Two-level checklists and perspectives: software reading techniques for pattern writer’s workshop. PLoP ’15: Proceedings of the 22nd Conference on Pattern Languages of Programs. Article No.: 1, 15 pages. (pdf)
- Tian Xia, Joseph Yoder, Rebecca Wirfs-Brock, Hironori Washizaki. 2015. Improving writer’s workshop by introducing checklist and perspectives. EuroPLoP ’15: Proceedings of the 20th European Conference on Pattern Languages of Programs. Article No.: 29, 4 pages. (pdf)
- Joseph Yoder, Rebecca Wirfs-Brock, and Hironori Washizaki. QA to AQ Part 5: Being Agile At Quality- Growing Quality Awareness and Expertise. AsianPLoP ’16: Proceedings of the 5th Asian Conference on Pattern Languages of Programs. 48-63. (pdf)
- Joseph Yoder, Rebecca Wirfs-Brock, and Hironori Washizaki. QA to AQ Part Three: Shifting from Quality Assurance to Agile Quality: “Tearing Down the Walls”. SugarLoafPLoP '14: Proceedings of the 10th Latin-American Conference on Pattern Languages of Programming. 13 pages. (pdf)
- Joseph Yoder and Rebecca Wirfs-Brock. QA to AQ Part Two: Shifting from Quality Assurance to Agile Quality: “measuring and monitoring Quality’. PLoP ’14: Proceedings of the 21st Conference on Pattern Languages of Programs. Article No.: 10, 20 pages. (pdf)
- Joseph Yoder, Rebecca Wirfs-Brock and Ademar Aguilar. QA to AQ: Shifting from Quality Assurance to Agile Quality. AsianPLoP ’14: Proceedings of the 3
rd Asian Conference on Pattern Languages of Programs. Article: 27, 15 pages. (pdf) - Atzmon Hen-Tov, David H. Lorenz, Lior Schachter, Rebecca Wirfs-Brock, Joseph W. Yoder. 2013. Domain Specific Validations. PLoP ’13: Proceedings of the 20th Conference on Pattern Languages of Programs. Article No.: 4, 13 pages. (pdf)
- Rebecca Wirfs-Brock and Joseph W. Yoder. 2012. Patterns for Sustaining Architectures. PLoP ’12: Proceedings of the 19th Conference on Pattern Languages of Programs. Article No.: 18, 13 pages. (pdf)
- Eli Acherkan, Atzmon Hen-Tov, David H. Lorenz, Lior Schachter, Rebecca Wirfs-Brock, Joseph W. Yoder. 2011. Dynamic Hook Points. AsianPLoP ’11: Proceedings of the 2nd Asian Conference on Pattern Languages of Programs. Article No.: 1, 6 pages. (pdf)
- Atzmon Hen-Tov, David H. Lorenz, Lena Nikolaev, Lior Schachter, Rebecca Wirfs-Brock, Joseph W. Yoder. 2010. Adaptive Object-Model Metadata Evolution. PLOP ’10: Proceedings of the 17th Conference on Pattern Languages of Programs. Article No.: 16, 13 pages. (pdf)
- Atzmon Hen-Tov, Lena Nikolaev, Lior Schachter, Rebecca Wirfs-Brock and Joseph W. Yoder. 2010. Adaptive Object-Model Evolution Patterns. SugarLoafPLoP’10: Proceedings of the 8th Latin American Conference on Pattern Languages of Programs. Article No.: 5, 21 pages. (pdf)
- León Welicki, Joseph Yoder and Rebecca Wirfs-Brock. 2009. Adaptive Object-Model Builder. PLoP ’09: Proceedings of the 16th Conference on Pattern Languages of Programs. Article No.: 4, 8 pages. (pdf)
- León Welicki, Joseph Yoder and Rebecca Wirfs-Brock. 2008. The Dynamic Factory Pattern. PLoP ’08: Proceedings of the 15th Conference on Pattern Languages of Programs. Article No.: 9, 7 pages. (pdf)
- León Welicki, Joseph Yoder and Rebecca Wirfs-Brock. 2007. Rendering patterns for adaptive object-models. PLoP ’07: Proceedings of the 14th Conference on Pattern Languages of Programs. Article No.: 12, 12 pages. (pdf)
- León Welicki, Joseph Yoder, Rebecca Wirfs-Brock, and Ralph Johnson. 2007. Towards a Pattern Language for Adaptive Object-Models. OOPSLA ’07: Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications. 787–788. (pdf)
- Rebecca Wirfs-Brock, James Noble and Paul Taylor. 2006. Problem Frame Patterns: An Exploration of Patterns in the Problem Space. PLoP ’06: Proceedings of the 2006 conference on Pattern languages of programs. Article No.: 21, 19 pages. (pdf)
- Rebecca Wirfs-Brock. 2002. What it Really Takes to Handle Exceptions in Use Cases. forUse 2002 Conference Proceedings. 341-370. (pdf)
- Joaquin Miller and Rebecca Wirfs-Brock. 1999. How Can a Subsystem Be Both a Package and a Classifier? Proceedings of <<UML>> ’99 The Unified Modeling Language Beyond the Standard Second International Conference, October 28-30, 1999, Fort Collins, Colorado. Springer-Verlag. 584-597.(pdf)
- Steven Fraser, Kent L. Beck, Grady Booch, Larry L. Constantine, Brian Henderson-Sellers, Steve McConnell, Rebecca Wirfs-Brock, Edward Yourdon. 2005. Echoes?: structured design and modern software practices. OOPSLA ’05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented Programming Systems, Languages, and Applications, 383–386. (pdf)
- Ralph E. Johnson, Kent Beck, Grady Booch, William Cook, Richard Gabriel, and Rebecca Wirfs-Brock. How to get a paper accepted at OOPSLA. Proceedings of the Eighth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’93), ACM SIGPLAN Notices (1993) 28, 1, 429–436. (pdf)
- Rebecca Wirfs-Brock, Ralph Johnson. 1990. Surveying current research in object-oriented design. Communications of the ACM. 30, 9, 104–124. (pdf)
- Rebecca Wirfs-Brock and Brian Wilkerson. 1989. Object-Oriented Design: A Responsibility-Driven Approach. OOPSLA ’89: Conference proceedings on Object-oriented programming systems, languages and applications,71–75. (pdf)
- Rebecca Wirfs-Brock. An Integrated Color Smalltalk-80 System. OOPSLA ’88: Conference proceedings on Object-oriented Programming Systems, Languages and Applications. 71–82. (pdf)
Articles
- Rebecca J. Wirfs-Brock. 2009. The Responsible Designer. IEEE Software 26, 6 (2009), 9-10. (pdf)
- Rebecca J. Wirfs-Brock. 2009. Design for Test. IEEE Software 26, 5 (2009), 92-93. (pdf)
- Rebecca J. Wirfs-Brock. 2009. Principles in Practice. IEEE Software 26, 4 (2009), 11-12. (pdf)
- Rebecca J. Wirfs-Brock. 2009. Creating Sustainable Designs. IEEE Software 26, 3 (2009), 5-7. (pdf)
- Rebecca J. Wirfs-Brock. 2009. Designing with an Agile Attitude. IEEE Software 26, 2 (2009), 68-69. (pdf)
- Rebecca J. Wirfs-Brock. 2009. Designing in the Future. IEEE Software 26, 1 (2009), 18-19. (pdf)
- Rebecca J. Wirfs-Brock. 2008. Designing Then and Now. IEEE Software 25, 6 (2008), 29-31. (pdf)
- Rebecca J. Wirfs-Brock. 2008. Enabling Change. IEEE Software 25, 5 (2008), 70-71. (pdf)
- Rebecca J. Wirfs-Brock. 2008. Up-front Design. IEEE Software 25, 4 (2008), 12-13. (pdf)
- Rebecca J. Wirfs-Brock. 2008. Design Strategy. IEEE Software 25, 3 (2008), 14-15. (pdf)
- Rebecca J. Wirfs-Brock. 2008. Connecting Design with Code. IEEE Software 25, 2 (2008), 20-21. (pdf)
- Rebecca J. Wirfs-Brock. 2008. Valuing Design Repair. IEEE Software 25, 1 (2008), 76-77. (pdf)
- Rebecca J. Wirfs-Brock. 2007. Does Beautiful Code Imply Beautiful Design? IEEE Software 24, 6 (2007), 18-20. (pdf)
- Rebecca J. Wirfs-Brock. 2007. Designing Extensible Classes. IEEE Software 24, 5 (2007), 15-17. (pdf)
- Rebecca J. Wirfs-Brock. 2007. Giving Design Advice. IEEE Software 24, 4 (2007), 13-15. (pdf)
- Rebecca J. Wirfs-Brock. 2007. Handling Design Criticism. IEEE Software 24, 3 (2007), 12-14. (pdf)
- Rebecca Wirfs-brock. 2007. Toward Design Simplicity. IEEE Software 24, 2 (2007), 9-11. (pdf)
- Rebecca Wirfs-brock. 2007. Driven to… Discovering Your Design Values. IEEE Software 24, 1 (2007), 9-11. (pdf)
- Rebecca Wirfs-brock. 2006. Explaining Your Design. IEEE Software 23, 6 (2006), 96-98. (pdf)
- Rebecca J. Wirfs-Brock. 2006. Toward Exception-Handling Best Practices and Patterns. IEEE Software 23, 5 (2006), 11-13. (pdf)
- Rebecca J. Wirfs-Brock, Designing for recovery. IEEE Software 23, 4 (2006), 11-13. (pdf)
- Rebecca J. Wirfs-Brock. 2006. Refreshing patterns. IEEE Software 23, 3 (2006), 45-47. (pdf)
- Rebecca J. Wirfs-Brock. 2006. Characterizing classes. IEEE Software 23, 2 (2006), 9-11. (pdf)
- Rebecca J. Wirfs-Brock. 2006. Looking for powerful abstractions. IEEE Software 23, 1 (2006), 13-15. (pdf)
- Gregor Hohpe, Rebecca Wirfs-Brock, Joseph W. Yoder, and Olaf Zimmermann. 2013. Twenty Years of Patterns. IEEE Software 30, 6 (2013), 84-88. (pdf)
- Rebecca Wirfs-Brock. 1994. Designing Scenarios: Making the Case for a Use Case Framework. The Smalltalk Report 4, 3 (1994), 51-53. (archive.org)
- Rebecca Wirfs-Brock. 1994. Characterizing Your Application’s Control Style. Report on Object Analysis and Design 1, 3 Oct (1994), 47-49.
- Rebecca Wirfs-Brock. 1994. How Designs Differ. Report on Object Analysis and Design, 1, 4 Nov/Dec (1994), 51-53.
- Rebecca Wirfs-Brock. 1994. Adding to Your Conceptual Toolkit: What’s Important About Responsibility-Driven Design. Report on Object Analysis and Design, 1, 2 Jul/Aug (1994), 39-41.
- Rebecca Wirfs-Brock. 1994. Getting real: Responsibly designing your objects’ data. The Smalltalk Report, 3, 9, Jul/Aug (1994), p-pp. (archive.org)
- Rebecca Wirfs-Brock. 1994. The Art of Designing Meaningful Conversations. The Smalltalk Report 3, 5 Feb (1994), 12-14. (archive.org)
- Rebecca Wirfs-Brock. 1993. Putting it in perspective: Designing Scenarios: Making the case for a use case framework. The Smalltalk Report 3, 3, Nov/Dec (1993), 9-12. (archive.org)
- Rebecca Wirfs-Brock. 1993. Stereotyping: a technique for characterizing objects and their interactions. Object Magazine 3,4, Nov/Dec (1993), 50–53. (pdf)
- Rebecca Wirfs-Brock. 1993. The incremental nature of design. The Smalltalk Report 2, 7, May (1993), 10-11. (archive.org)
- Rebecca Wirfs-Brock. 1993. Characterizing object interactions. The Smalltalk Report 2, 6, Mar/Apr (1993), 8-12. (archive.org)
- Rebecca Wirfs-Brock. 1993. Characterizing your objects. The Smalltalk Report 2, 5, Feb (1993), 7-9. (archive.org)
- Rebecca Wirfs-Brock. 1992. Putting it in perspective: Describing your design. The Smalltalk Report 2, 2, Nov/Dec (1992), 20-21. (archive.org)
- Rebecca Wirfs-Brock. 1992. Becoming more predictable. The Smalltalk Report 1, 6, Mar/Apr (1992), 8-10. (archive.org)
- Rebecca Wirfs-Brock. 1992. The phases of an object-oriented application. The Smalltalk Report 1, 5 Feb (1992), 9-12. (archive.org)
- Rebecca Wirfs-Brock. 1992. Determining object roles and responsibilities. The Smalltalk Report 1, 4 Jan (1992), 6-8. (archive.org)
- Rebecca Wirfs-Brock. 1992. Responsibility-driven design. The Smalltalk Report 1, 3 Nov/Dec (1991), 1-5. (archive.org)
- Rebecca Wirfs-Brock. Object-Oriented Frameworks. American Programmer 4, 10 Oct (1991), 21-29.">(archive.org)
- Juanita Ewing and Rebecca Wirfs-Brock. 1987. Smalltalk isn’t meaningless chatter. Computer Design 26, 2 (1987), 76–79. (pdf)
- Rebecca Wirfs-Brock and Mathias Verraes. Splitting a Domain Across Multiple Bounded Contexts. 2021. (html)
- Rebecca Wirfs-Brock and Mathias Verraes. Design and Reality. 2021. (html)
- Rebecca Wirfs-Brock and Mathias Verraes. Models and Metaphors. 2021. (html)
- Rebecca Wirfs-Brock. Noisy Decisions. 2021. (html)
- Rebecca Wirfs-Brock. Is it Noise or Euphony? 2021. (html)
- Rebecca Wirfs-Brock. Too much salt? 2021. (html)
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
- Design Heuristics
- Decision-Making Practices for Evolving and Sustaining Software Architecture
- Agile Architecting: A Pragmatic Approach
- Enterprise Application Design
- Developing and Communicating Software Architecture
- Responsibility-driven design
- Responsibility-driven analysis
- Object-oriented analysis and design
- Writing Use Cases
- Writing Agile Use Cases
- The Art of Telling a Design Story
- Being Agile At System Qualities
- Exploiting Fast and Slow Thinking
- Skills for the Agile Designer
- Pragmatic Test-driven Development
- Practical UML
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