Software architecture involves trade-offs made under time pressure with incomplete information. Seeking perfection leads to brittle systems; trade-offs are essential for delivering workable solutions.
Trade-offs in software architecture are necessary but can create team dissatisfaction. Making compromises against set principles to deliver systems disappoints team members.
[
add
]
[
|
|
...
]