As an architectural consultant, the author spends a great deal of time helping organizations fully utilize software architecture to create better products and be more competitive. Here, he explains some of the mistakes he's made and the key lessons learned over the past 10 years working with architects primarily in the consumer electronics and embedded software industries.