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.
(Pre-conference Workshop (±8h))
When you choose a solution, you also take responsibility for the problems and issues the team, business, and customers will live with, possibly for years to come. Architecture agility implies responding to change using approaches appropriate to the context. This workshop is for you if your job title is architect, technical leader, senior engineer, engineering manager, technical product manager, technical program manager, or something similar. You make or contribute to the difficult decisions in developing your product or system. This might include gaining consensus among many diverse people and groups. You have some responsibility towards developing the people and culture in your organization, as well as developing and evolving the technical systems. In this hands-on workshop, you will learn and apply specific decision styles and decision-making models that are useful in different circumstances. We will begin with methods that help us make sense of the situation and the architecture’s context. We then explore a variety of topics including weighing options, taking action through making design decisions, designing experiments, and resolving problems. You will also learn practical techniques for influencing your organization’s culture and capturing, retaining, and communicating architect decisions across time. Throughout the workshop you will learn and apply different decision models, and have the option to focus on your specific challenges.
Kenny Baas-Schwegler, Rebecca Wirfs-Brock
How can we get better as software designers?
By becoming more aware of our design heuristics and be intentional as we cultivate and refine them. Heuristics aid in the design and even determine our attitude and behaviour. For example, agile developers value frequent feedback and decomposing larger design problems into smaller, more manageable chunks that they design and test as they go. We each have our own (often implicit) heuristics that we have acquired through reading, practice, and experience. Let us share these heuristics during a modelling session!
You'll be presented with a modelling problem that you will try to design in groups. During designing, we will rotate observers that will capture and map heuristics they see happening. After the heuristics are captured, groups will exchange and try-out other groups heuristics, to switch thinking during design. Finally, we will wrap-up with the whole group explaining and sharing the key heuristics used in each group.