Burndown charts are one of the most common artifacts of an Agile software development environment. As a tool to provide insight for management into the state of a project, burndowns are useful and easy to understand. As a tool to motivate developers, they are counter-productive and often abused. The information contained in a burndown chart should be largely irrelevant to the day-to-day work of a developer. Let's consider a scenario: assume you have a team of developers who are skilled, intrinsically motivated (i.e. enjoy their work), and focused on delivering the highest priority features as defined by the product owner. Now assume the burndown chart displays a slope indicating that the project is behind schedule. What is a developer supposed to do with that information? What actions or behavior is he or she supposed to alter based on that knowledge? Let's consider his or her options: (1) Cut corners to go faster. This is obviously short-sighted. By omitting criti...
1. Undermines Teamwork Teamwork suffers when your incentive system primarily recognizes individual achievement. Collaboration is key to producing quality software. 2. Undermines Autonomy & Purpose Feeling like you're performing to get a carrot (raise or promotion) or avoid a stick (termination) undermines an individual's sense of autonomy and purpose which is strongly tied to intrinsically motivated behavior. It is critical to have intrinsically motivated people in creative problem-solving jobs like software development. (See previous posts) . 3. Damages Trust Between Manager and Subordinate It reinforces the idea that the manager's role is primarily to evaluate and critique. Instead of being on the same team working toward common goals, the performance review clearly places the manager and subordinate in antagonistic roles on opposites sides of the table. It reinforces the worst boss stereotypes. 4. Not Objective No one has found a good way to quantify a so...