Introduction A team spends three weeks debating whether to use PostgreSQL or MongoDB. Six months later, nobody remembers why they chose one over the other, a new hire proposes switching, and the whole argument starts again from zero. The database was never the hard part. The team had no way to make the decision, agree on it, and remember it. Most software failures are not coding failures. They trace back to an undocumented decision made without considering key forces, by the wrong people, or both. Architecture decision-making is the discipline of choosing well when the choice is hard to reverse.