Defining the roles and responsibilities for a project teams helps ensure all parties understand what they are accountable for and what authorities they have. This roles and responsibilities overview discusses positions on a typical plan-driven software development project. These positions are sometimes referred to as “hats”. On smaller projects, engineers wear multiple hats and often will perform work as an engineer for other leads even if they are wearing a lead hat. Even on a two (or even one!) person project, calling out these responsibilities and using them to force thinking from different perspectives can be useful.