[DDDDD-20] Speaking truth to power: a foundational skillset


As complexity increases, are you (too often) shouting into the wind? Do you see icebergs ahead yet fail to convince others to avoid them? Are your architecture-focused discussions more exhausting than productive? Does the accountant understand the value of your work? The thinking and communication skills we've developed on the job often fail us when we face more-complex challenges. That is why we are learning DDD. Rather than double down on code-specific solutions, we are developing different, more effective conceptual approaches. Yet, there is an underlying skillset the nourishes and supports our ability to practice DDD or any approach that challenges traditional 'power' structures. In this workshop, we'll focus on that skillset.

We'll explore the four fundamental truths:

  • Conway was right: communication architects software and systems
  • Uncertainty is always a factor
  • Fred Brooks was right: conceptual integrity matters most
  • Continuous learning is essential: the modern hero is the person who weaves everyone else's expertise into a cohesive, trustworthy whole

And we'll explore four fundamental practices:

  • Argumentation: creating strong and valid solutions based on sound reasoning
  • Structuring collective reasoning: thinking well together
  • Recognizing conceptual fallacies
  • Cultivating the right types of energy: aka thoughts are only part of communication

In this talk, I'll link to practice materials to try at home.


Follow us

Read our latest news from Virtual DDD on any of these social networks!

Recent videos

Managing Domain Knowledge with Chris Simon

From example mapping, to BDD, to DDD practices like event storming and domain storytelling, we're fortunate to have a wide range of tools for collaboratively building domain knowledge and creating models of those domains in software. One gap that many...

Connascence: beyond Coupling and Cohesion – Marco Consolaro

In 2009 Jim Weirich defined Connascence as "The Grand Unified Theory Of Software Development". The concept it is simple, yet very powerful in context of Object Oriented software development. It generalizes the ideas of Cohesion and Coupling, combining them...