Leading Architecture
Software architecture is the process and product of creating technical systems designs. Architecture may include a specification of resources, patterns, conventions, and communication protocols, among other details. For the purposes of this chapter, we will also define architecture to include the selection of specific technologies.
Many great books have been written describing software architecture practices and principles, but this is not a software architecture book. Detailing the methods of software design is beyond the scope of this text. Instead, we will aim to describe the process and concerns of leading teams through software design phases.
Engineers love to solve problems and build systems. Most engineers would gladly build a system to solve just about any problem. It is the engineering manager’s job to make sure that the team is using its time wisely and building the right system. In this chapter, we will learn how engineering managers can...