Apiumhub team interviewed Kenny Baas-Schwegler – socio-technical and Domain-Driven Design architect @Xebia. Facilitator of visual and collaborative modelling usingDeep Democracy Domain-Driven Design to find out key software architecture trends as well as other key software architecture lessons learned over the past years.
I describe the term architecture how Grady Booch described it, learned from Ruth Malan: “Architecture represents the significance ‘decisions’ that shape a system” and to continue that quote of his “Software architecture is all about decisions. Models are largely just scaffolding we use to visualize, reason about, and document those decisions. Code is the medium whereby we make those decisions manifest.”
For me, the most important thing is being able to effectively facilitate collaborative modelling sessions. And then you require three top soft skills:
- Gain all insights and knowledge into your model from the group by being aware, and know how to deal with Ranking and Biases
- Dealing effectively with conflict arising from those different perspectives, and knowing how to make an enriched decision that everyone has real consensus on with for instance Deep Democracy the lew method.
- Some problem cannot be solved and are polarities, spotting those and managing these (for instance big up-front architecture vs iterative architecture) and moving away from either-or thinking to both-and.
Making information flow and align teams and people with the software system that is being built by keeping a birds-eye view of the sociotechnical system of the company
Facilitate collaborative design decisions that shape the architecture
Being a translator between the time-span of the strategy of the C-level (multiple years) towards management (year) and the teams (2-week sprints) (Credits: Jabe Bloom)
Connascence of name
Amount of cross-team communication
Amount of breaking API changes
For me this is a polarity, it is Both-and for and architect. The key is in managing that polarity and like Ruth Malan says think about the complexity within boundaries, and think about what spans in between the boundaries.
Again a polarity, we need both-and and the key is managing these polarities and know when you end up in the negative part of one of the polarities. I use polarity management by Barry Johnson for it
Instead of concerning about the size of something (microservices), concern ourselves with what we can handle on our intellectual control, or like Team topologies mentions: software that fits in our brain, a team first approach.
What are your expectations regarding software architecture events, do you think in 2021 everything will be online?
I think perhaps around the end of 2021 things will balance back. Conference will still be held in person. I do think that we need to reinvent working at the office to only keep it to meetings we need to see each other (which we do, in person) and that we also need to get used to smaller interactions online
The need for collaborative modelling practices. Instead of forming an architecture through short 1-on-1 conversations, which is expensive but easier to control. We need to collaboratively model our design and make design decisions towards sustainable architecture.
Patterns are there for people to share who understand software architecture. The problem why most patterns, like microservices, go wrong is that people without the experience pick them up and implement for the wrong reasons in the wrong way (with the best intentions). We need more mentorship and more collaboration and especially be aware how ranking impacts making design decisions.
What recommendation would you give to big international companies in terms of software architecture?
Well I am biased, but look at Domain-Driven Design collaborative modelling practices and Strategic Design and how it relates to enterprise architecture. Checkout ddd-crew github page.
Start using Wardley mapping to distill the core of your models and know where to focus your experiments on
Ranking, Bias, Polarities and making collective autocratic decisions that we have consensus on.
There is so much knowledge we loose, so many books and wisdom we are not aware of. Look for that information, my hero’s for that at the moment are Ruth Malan and Rebecca Wirfs-Brock.
We talk a lot about culture, look for the knowledge at the expert. Collaborate and take courses in Anthropology, they can really help you map out your culture and help you change it in a sustainable way.
Socio-technical and Domain-Driven Design architect @Xebia. Facilitator of visual and collaborative modelling usingDeep Democracy Domain-Driven Design
A lot of knowledge is lost when designing and building software — lost because of hand-overs in a telephone game, confusing communication by not having a shared language, discussing complexity without visualisation and by not leveraging the full potential and wisdom of the diversity of the people. That lost knowledge while creating software impacts the sustainability, quality and value of the software product. Kenny Baas-Schwegler is a socio-technical architect. He blends IT approaches like Domain-Driven Design and Continuous Delivery and facilitates change through using visual collaboration practices, the Cynefin framework and Deep Democracy. Kenny empowers and collaboratively enables organisations, teams and groups of people in designing and building sustainable quality software products.
One of Kenny’s core principles is sharing knowledge. He does that by writing a blog on his website baasie.com and helping curate the Leanpub book visual collaboration tool. Besides writing, he also shares experience in the Domain-Driven Design community as an organiser of Virtual Domain-Driven Design (virtualddd.com) and Domain Driven Design Nederland. He enjoys being a public speaker by giving talks and hands-on workshops at conferences and meetups.
The post What software architecture trends have you noticed this year? Interview with Kenny Baas-Schwegler appeared first on Apiumhub.