Crowdsourcing Software Architecture: The Distributed Achitect
Software architects need to have it all: exceptional technological know-how, up-to-date programming experience, good people skills, ability to abstract, knowledge of important architectural styles and tactics, and visionary leadership. It has always been difficult to find all of these aspects in a single person.