Wirfs-Brock Associates
“Enabling teams and individuals to specify, design and deliver software for a complex world.”
Responsibility-Driven Software Development

DesignRebecca's BlogContact UsTraining and ConsultingConsultingResources

Conferences and Events

DDD Europe 2020 Conference Amsterdam, The Netherlands, February 3-7, 2020
Design Heuristics Workshop by Rebecca Wirfs-Brock
Hands-on Session: Distilling Your Personal Design Heuristics by Rebecca Wirfs-Brock
Keynote: Elephants, Patterns, and Heuristics by Rebecca Wirfs-Brock and Christian Kohls
YOW! Australia Conferences 2019 Sydney, Dec 5-6; Brisbane, Dec 9-10; Melbourne, Dec 12-13
Talk: Growing Your Personal Design Heuristics by Rebecca Wirfs-Brock
Talk: JavaScript: Skeletons in the Closet by Allen Wirfs-Brock
Pattern Languages of Programs 2019 Ottawa, Canada, October 7-10, 2019
Workshop: Patterns Bootcamp with Rebecca Wirfs-Brock and Joseph Yoder
Paper: Who Will Read My Patterns? by Rebecca Wirfs-Brock and Lise Hvatum
Paper: Elephants, Heuristics, and Patterns by Rebecca Wirfs-Brock and Christian Kohls
European Conference on Software Architecture 2019 Paris, France, September 9-13, 2019
Paper: An Exploratory Study of Naturalistic Decision Making in Complex Software Architecture Environments by Ken Power and Rebecca Wirfs-Brock
Xebia Expand Conference Amsterdam, The Netherlands, September 6, 2019
Session: Cultivating Your Personal Design Heuristics by Rebecca Wirfs-Brock
Agile 2019 Conference Washington DC, USA, August 5-9, 2019
Session: Growing Your Personal Design Heuristics by Rebecca Wirfs-Brock
Session: Visual Thinking for the Visually Reticent by Michael Keeling and Rebecca Wirfs-Brock
Agile Architecting Public Workshop Amsterdam, The Netherlands, June 27-28, 2019
O'Reilly Software Architecture Conference San Jose, Ca., USA, June 12, 2019
Keynote: Cultivate Your Personal Design Heuristics by Rebecca Wirfs-Brock
XP 2019 Conference Montreal, Canada, May 21-25, 2019
Session: Visual Thinking for the Visually Reticent by Michael Keeling and Rebecca Wirfs-Brock
Session: Growing Your Personal Design Heuristics by Rebecca Wirfs-Brock
Panel: The Agile Manifesto: Impacts on Education, Culture, and Software Practices
ICSA 2019 Conference Hamburg, Germany, March 25, 2019
Tutorial: Sense of Place within the Virtuous Circle of Architecture Decision-Making description by Rebecca Wirfs-Brock and Ken Power
Agile Architecting Public Workshop Brussels, Belgium, March 28-29, 2019

Featured Presentations, Writing & News

Elephants, Patterns, and Heuristics, PLoP 2019 essay by Rebecca Wirfs-Brock and Christian Kohls
An Exploratory Study of Naturalistic Decision Making in Complex Software Architecture Environments by Ken Power and Rebecca Wirfs-Brock paper
A Conversation with Andrea Goulet and Scott Ford on Legacy Code Rocks about Design Heuristics podcast
Traces, tracks, trails, and paths: An Exploration of How We Might Approach Software Design, PLoP 2018 essay
Even more Patterns for the Magic Backlog, PLoP 2018 pattern paper
Understanding Architecture Decisions in Context: An industry case study of architects' decision-making context paper
A Program Backlog Story with Patterns: Expanding the Magic Backlog Pattern Collection, EuroPLoP 2018 pattern paper
Agile Alliance Experience Reports: A Conversation with Nienke Alma about Life in the POCLAC podcast
Agile Alliance Experience Reports: A Conversation with Serena Godfrey and folks about Servant Leadership at Vistaprint podcast
Agile Alliance Experience Reports: A Conversation with Two Remote Mobbers, Sal Freudenberg and Matt Wynne podcast
Agile Alliance Experience Reports: A Conversation with Chris Lucien on Learning to Experiment podcast
Agile Alliance Experiences Reports: A Conversation with Avraham Poupko on Rethinking Diversity podcast
Are Software Patterns Simply a Handy Way to Package Design Heuristics?, PLoP 2017 essay
Pattern Stories and Sequences for the Backlog: Applying the Magic Backlog Patterns, PLoP 2017 pattern paper
Explore DDD 2017 Keynote: Cultivating Your Design Heuristics video
One Product Owner's Journey, August 2017, blog
Founding a Code Bootcamp Based on Agile Values, July 2017, blog
More Patterns for the Magic Backlog, PLoP 2016 pattern paper
QA to AQ Part Six: Becoming Agile at Quality "Enabling and Infusing Quality," PLoP 2016 pattern paper
QA to AQ Part Five: Becoming Agile at Quality "Growing Quality Expertise," AsianPLoP 2016 pattern paper
Patterns to Develop and Evolve Architecture During an Agile Software Project, PLoP 2015 pattern paper
Growing a Mob without Losing the Good, February 2017 blog
What is it Like to be an Introverted Mob Programmer?, March 2016 blog
Growing the Agile Mindset: Leading by Example, February 2016 blog
QA to AQ Part Four: Shifting From Quality Assurance to Agile Quality "Prioritizing Qualities and Making them Visible," PLoP 2015 pattern paper
Patterns to Build the Magic Backlog, EuroPLoP 2015
pattern paper
QA to AQ Part Three: Shifting from Quality Assurance to Agile Quality "Tearing Down The Walls," SugarLoafPLoP 2014
pattern paper
QA to AQ Part Two: Shifting from Quality Assurance to Agile Quality "Measuring and Monitoring Quality," PLoP 2014
pattern paper
SATURN 2015 Presentation: Exploiting Fast and Slow Thinking video
QA to AQ: Patterns about transitioning from Quality Assurance to Agile Quality, AsianPLoP 2014 pattern paper
One Step at a Time Towards One Bug Per Month, December, 2014 blog
Discovering Alexander's Properties in Your Code and Your Life, Smalltalks 2014, Argentina video
Object Design Roots and New Directions, Smalltalks 2014, Argentina video
Much Ado About Agile IX - Open Panel Discussion, October 2014, Vancouver, BC, Canada video
Patterns for Sustaining Architectures, PLoP 2012 pdf
QA and Devs Working Together, June, 2014 blog
Welcome to the Agile Experiences Program, April, 2014 blog
Twenty Years of Pattens' Impact, IEEE Software Impact Column, Nov/Dec 2013 pdf
Why We Need Architecture (and Architects) on Agile Projects at Agile 2013 slides
Maintaining Your Code Clint Eastwood Style keynote at I.T.A.K.E 2013 video slides

Agile PT Interview

From The Responsible Designer Blog:
Reconciling New Design Approaches with What You Already Know- May 7, 2019
What we say versus what we do- April 25, 2019
Nothing ever goes exactly by the book- April 19, 2019
Writing, Remembering, and Sharing Design Heuristics- April 12, 2019
What do typical design heuristics look like?- April 4, 2019
Growing Your Personal Design Heuristics Toolkit- March 20, 2019
What's going on here?- June 23, 2016
Being Agile About Documenting and Communicating Architecture- June 7, 2016
Growing a Company Based on Values- May 16, 2016
It's Not That Simple: The Interplay Between Fast and Slow Thinking- May 10, 2016
On Thinking- April 25, 2016
Digging In- September 9, 2015
Early Performance Testing At Agile 2015 - August 14, 2015
Shift Left: Testing Earlier in Development - June 18, 2015
Future Commitment- June 16, 2015
Mob Programming: The Unruly Experience- June 5, 2015
What does karaoke have to do with being agile?- June 3, 2015
Life in the Mob- May 12, 2015
Can Nudging Help Us Make Better Choices?- January 9, 2015
Making New Behaviors Stick- December 15, 2014
What good Is knowing if it's not half the battle?- December 12, 2014
Beware of Dogma. No. Be aware of dogma.- October 17, 2014
Why Process Matters- October 16, 2014
When in Rome...- June 26, 2014
Making Strong, Lively Centers- April 9, 2014
What Makes for Lively Centers?- March 26, 2014
Discovering Lively Centers- March 20, 2014
Why Domain Modeling?- February 27, 2013
Domain-Driven Design Applied- February 27, 2013
Evangelizing New (Software Architecture) Ideas and Practices
- May 29, 2012
How far should you look ahead - March 16, 2012
Agile Architecture Myth #5: Never Look Ahead - March 12, 2012
What is Pragmatic Testing All About? - September 23, 2011
Agile Architecture Myths #4 Because you are agile you can change your system fast! -
August 26, 2011
Re-thinking Thinking and Planning - August, 17, 2011
Introducing Landing Zones - July 20, 2011
Software Architecture Stewardship - July 18, 2011


IEEE Software Design Columns
4 years of design columns by Rebecca Wirfs-Brock

Popular IEEE Software columns:
The Responsible Designer - November / December 2009

Design for Test - September / October 2009

New Workshops:

Being Agile About System Qualities
Learn practical techniques for identifying system quality concerns such as scalability, performance, or usability and how to integrate work on system qualities into your agile project.

Exploiting Fast and Slow Thinking
Learn how fast and slow thinking affects your reactions, behaviors, and decision-making and techniques for counteracting fast thinking glitches.

Agile Architecture Workshop: A Pragmatic Approach
Learn small and larger project or program practices and techniques for agilely defining, refining, and evolving your software architecture.

Popular Courses:

Skills for the Agile Designer
Acquire techniques for seeing and shaping solutions, developing a common design vision, monitoring design debt, and focusing on the important stuff.

Pragmatic Test-Driven Development
Learn two different testing rhythms: test-frequently and test-first. Understand how refactoring affects tests and how acceptance and system quality tests support and enhance core TDD practices.

Developing and Communicating Software Architecture
Learn how to develop an essential architecture and explain it to diverse stakeholders.

Practical UML
UML 2.0 in 1 day for the healthy skeptic. Move beyond overly simpllstic or clunky, cluttered diagrams.

The Art of Telling Your Design Story
Create compelling, convincing, and nuanced design presentations.

Development teams need to create solid designs and sustainable architectures while developing a rhythm and predictability to their work. Whether you are an agile team or not, we can help.Wirfs-Brock Associates specializes in building software architecture and design expertise and analysis skills through training, mentoring, individual and small team coaching and consulting. We help you minimize your software development risks and identify practical solutions to challenging design problems.

Check out our popular workshops and training courses. And ask about our latest workshops: Being Agile About System Qualities and Exploiting Fast and Slow Thinking.

Rebecca Wirfs-Brock, founder of Wirfs-Brock Associates, invented the popular development approach called Responsibility-Driven Design (RDD) and inadvertently started the xDD meme (TDD, BDD, DDD, etc.) Read about RDD in the book, Object Design: Roles, Responsibilities, and Collaborations. RDD offers practical techniques for creating object-oriented and component-based design solutions. Rebecca also introduced the conversational form of use cases which emphasizes user-system interactions and holds agile use case writing workshops around the world.

If you find yourself facing these issues…

Our team is a mix. It'd be nice if everyone talked about design the same way.
My code speaks for itself…but how can I communicate my design to others?
We need to get better at writing streamlined requirements that developers can use. We need written requirements, but we want to be agile about it.
There's not enough design thinking while coding. How can we change that?
We want to improve our strategic design and domain modeling skills.
How can we make sure we're paying enough attention to architecture?
Our programmers need better design skills.
We'd like to focus our architecture efforts on the areas with the most impact.
Can you help us create a flexible design solution?
We need practical training, not theory.

…we can help.

Buy the Book!

Agile Alliance Member

Entire Site © Wirfs-Brock Associates 2005 - 2015.
Site Design by Phil Brock/Red Hills Graphics. Click here to contact the Webmaster.