What affects software productivity and how do we improve it? This report examines the current state of the art in understanding and measuring software productivity. In turn, it describes a framework for understanding software productivity, identifies some fundamentals of measurement, surveys selected studies of software productivity, and identifies variables that affect software productivity. Then, a radical alternative to current approaches is suggested: to construct, evaluate, deploy, and evolve a knowledge-based "software productivity modeling and simulation system."