Distilling Your Design Heuristics
How can we get better as software designers? By becoming more aware of our design heuristics and continuing to grow, cultivate, and refine them. Heuristics aid in design, guide our use of other heuristics, and even determine our attitude and behavior. For example, as Domain-Driven Design advocates we value modeling the domain and finding and using a ubiquitous language that is reflected in our code. Heuristics, however, are also context sensitive and personal. We each have our own set of heuristics that we have acquired through reading, practice, and experience. And sometimes our heuristics may conflict with others.
During this workshop we’ll dive into hands-on exercises that help us explore and articulate our heuristics for understanding a domain and architecting and designing systems congruent with Domain-Driven Design values and goals. You’ll have ample opportunities to practice a variety of techniques for identifying and expressing heuristics, and reconciling new heuristics with older ones.
This workshop is also a forum for exploring, articulating, and sharing our personal heuristics. You’ll learn practical techniques for recording and distilling your design heuristics and becoming more intentional about design. One outcome of this workshop will the identification of new or more nuanced heuristics we’ve articulated, as well a map of the territory they cover. As we map out our heuristics and share them we are likely to discover competing and conflicting heuristics. We may also work out some promising ways to characterize heuristics.
What You’ll Learn: • Different heuristic types: Heuristics that aid in design, heuristics that guide the use of other heuristics, and heuristics that determine our attitudes and behaviors. How fast and frugal heuristics fit into your heuristic toolkit. • Practical techniques recording, structuring, and effectively communicating heuristics • Tactics for recognizing and deciding among conflicting / competing heuristics • Techniques for distilling heuristics: Conducting a structured conversation, design journalling, lean coffee and heuristic mining • Relationships between heuristics, patterns, pattern languages, and heuristic sequences • Basic mechanics for writing and structuring heuristics • Techniques for growing your personal heuristics: Spotting heuristics in the wild, arguing a point of view, integrating new heuristics
Come to this workshop if you are: • An experienced developer, architect, analyst, product owner who wants to grow your ability to be more intentional about designing • Interested in recording and communicating your design heuristics • Open to learning from other attendees as well as the instructor • Want to integrate and/or reconcile new heuristics with those you already know
Logistics: We will do a mix of hands-on and online activities. Bring a laptop, but expect to open it only occasionally to record your heuristics and we share our knowledge.
- About Rebecca Wirfs-Brock
I'm best known as the "design geek" who invented Responsibility-Driven Design and the xDriven meme (think TDD, BDD, DDD..). I'm keen on learning and sharing design heuristics, patterns and practices for architecting and reducing risk and improving quality on agile projects and programs. I'm a slow jogger... if anyone is interested in an early morning slow jog, it'd be fun to meet and go on a run.