Many different architectures could implement the same set of features. Features alone are not enough information for us to design a software system. It’s the architecturally significant requirements, especially quality attributes, that drive architectural decision making.
Solutions flow from our understanding of the problem. We do not need to wait until we understand everything about the problem before thinking about potential solutions. We’d never build anything if we waited to define the whole problem! As you explore solutions, you’ll uncover new insights about the problem. Discovering there is more to the problem than you knew is natural and expected. In the next chapter, you’ll learn how to use what we currently know about the problem to explore design options and make decisions.
3.145.155.91