Rethinking the Roles, Interactions, and Accountabilities on Your Teams
摘要
Software development is very technical, with many technical decisions along the journey. These decisions rarely cause massive failures in isolation. As discussed in Chapter 5 , it is the sum of many small decisions that often leads to unmaintainable products. Transforming a team into an engine for modern application development will not be possible without passionate, strong leaders who can convince everyone of a better way and then actively work to ensure the team stays on track. These leaders need to be rigorous about insisting on no compromises when it comes to the processes and principles that will achieve these cultural changes and recognize the risks when outcomes are left to chance. In this chapter, we will focus on the importance of having strong technical leadership within an organization to help nurture and sustain the design and development of our software systems. We will introduce a role we call the chief engineer and also discuss the accountabilities of the more traditional roles of architect, project integrator/manager, interaction designer, development lead, and quality lead.