The Software Architect Elevator
Kindle Highlights
elastic cloud approach to computing, which in turn requires applications that scale horizontally and thus should be designed to be stateless.
Architects see trade-offs System design and development involves innumerous decisions. Most meaningful decisions don’t just have upsides, but also downsides. Architects see both sides of the coin and balance trade-offs in line with overarching goals and principles.
Architects Deal with Nonrequirements It’s commonly assumed that developers deal with functional requirements, whereas architects deal with nonfunctional requirements, often referred to as the “ilities”: scalability, maintainability, availability, interoperability, and so on. The reality isn’t as simple, though. I find that more often, architects deal with nonrequirements. This term doesn’t indicate things that aren’t required; rather, it refers to requirements that aren’t stated anywhere. This includes context, tacit assumptions, hidden dependencies, and other things that were never spelled out.