In the age of agile, too many software designers are afraid to over-design their applications upfront. As a result, many software teams have abandoned architectural thinking, up front design, ...