Crowdsourcing Software Architecture: The Distributed Architect
May 2017 • Presentation
It has always been difficult to find all important aspects of an architect in one person. This talk introduces distributed approaches to the architect's role.
Software Engineering Institute
This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.
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. Modern development efforts set in highly dynamic, agile contexts and the emergence of polyglot technological environments make it even more challenging. This talk introduces alternatives to the classic role of the software architect that showed a boost in delivery speed, overall product quality, and organizational flexibility in real-life projects of various domains. The alternatives work well in an agile project setup and embody a distributed approach of handling architectural concerns. The talk covers important factors for choosing between the approaches as well as the core concepts that make them effective even in more complex environments, including low-viscosity design, architecture communities, and tests of quality attributes.