Immutable architecture ensures that we build a system within constraints that computers can easily meet. When we start from the assumption of immutability, we have confidence that the resulting system will have desirable characteristics. What remains now is to understand how to analyze a problem domain within those constraints. We must discover the elements of a problem and express them as immutable units.
The primary goal of analysis is to communicate a shared understanding between the development team and the product owner. The analyst extracts the essence of the problem domain and documents ...