I've mentioned in the Handbook that "it is a sign of maturity for any given engineering discipline when we can name, study, and apply the patterns relevant to that domain." Another sign of maturity is the presence of professional organizations that codify knowledge and encourage development in a particular discipline. In civil architecture, there are a many such groups, including the American Architectural Foundation, the American Institute of Architects, and the Royal Institute of British Architects. For software architecture, there's just one, the Worldwide Institute of Software Architects. Codifying knowledge about software engineering in general has proven to be very difficult, as witnessed by the drama behind the work of the SWEBOK. Codifying a body of knowledge about software architecture is difficult in its own fashion, largely because so many of the best practices in software architecture live in tribal memory, not out in the open. In my professional career, I've probably met only a handful of world class software architects, many more very competent ones, and - sadly - more than a few really bad ones (years of experience and/or a particular job title do not bestow architectural skill).