Software development organizations are today constantly looking for ways to increase both developer productivity and code quality. The first step toward improving either is to establish productivity and quality metrics and benchmarks for your organization. Without a benchmark, you have no way to determine when you have improved or how to measure yourself against other organizations. After you have established a benchmark and determined your weak areas, one of the next steps is to train your staff where you perceive weaknesses or room for improvement. Next , look at your total development environment and be sure to address all possible areas for improvement. For instance, studies have shown that the design of developers' workspace can have a large effect on their productivity. Quality must address not only software bug reports , but quality at every step of the software life cycle, from initial requirements to areas like documentation. This chapter addresses these and other important areas to consider when attempting to put in place any software productivity or quality programs.