Much research in the software architecture field has focused on the purely technical aspects of architecting: architectural styles, documentation, analysis, architecture description languages, reverse engineering, and so forth. In this working session we seek to explore a less exhaustively studied, but equally important, realm: architectural competence. What defines a competent software architect? And equally important, what defines an architecturally competent software development organization? In particular, we seek to better understand the following issues:
o What do architects actually do on a day-to-day basis?
o What skills and knowledge must a competent architect have?
o What does it mean to be a competent architect?
o What can an organization do to get the best performance from its software architects?
o How can we measure architectural competence of an individual or an organization and how can we increase this?
Our goal for this working session is to propose an initial "theory" of architectural competence, even if very informally rendered, and then provide some practical guidance deriving from that theory to practicing architects (and to those who aspire to be architects), as well as technical managers in software development organizations.