Product lifecycles continue to shrink but the complexity of embedded designs continues to grow. At some point, ad-hoc design and implementation techniques fail to scale up with the complexity of your device. The role of software architect can bring order back into the process and provide a guiding hand with design and development.

This paper examines the process of architecting an embedded software solution. First we’ll discuss the roles and responsibilities of the software architect, which spans the business, technical, and managerial arenas. Next we’ll focus upon those steps necessary
to create architecture and some of the common documentation artifacts. Finally we’ll examine how the role of software architect can fit within your current project organization chart. At the end of this paper, readers will have gained a full understanding of the role of software architect and the steps necessary to create an embedded software architecture.