If we want to make sustainable design decisions for our architecture that are embraced by everyone, the most effective way is to do this collaboratively. Everyone can feel a part of the decision and can potentially give the input they have. The group is aligned and...
If one thing unites us as software developers, it must be legacy software. Almost and perhaps everyone in their career will deal with them. Almost everyone I talk to does not like to work on legacy software because legacy software is considered to be outdated and...
There has been a focus on autonomy in information technology; From autonomy in code, to autonomy while coding, autonomous systems with microservices to autonomous high-performing teams. When you read Daniel Pink’s research in the book Drive, it makes sense; autonomy...
DDD is about understanding and communicating complexity. We have long recognized that the most effective way to communicate complexity is via human language. But language poses a challenge when working in a team comprised of members of different (sub)cultures and...
The power of collaborative modelling comes from having a diverse group of people who, together, have a lot of wisdom and knowledge. You would expect that all this knowledge will be put to use, co-creating and designing a model. In reality, we don’t actually listen to...
The way agile software teams gain knowledge about what to build is either by the product owner or business analyst serving as a proxy to domain knowledge. Domain knowledge usually ends up as second-hand news in either functional design documents or as user stories in...