Fue definida por Allan Albrecht, de IBM, en 1979 ("Measuring Application Development Productivity") y pretende medir la funcionalidad entregada al usuario independientemente de la tecnología utilizada para la construcción y explotación del software, y también ser útil en cualquiera de las fases de vida del software, desde el diseño inicial hasta la implementación y mantenimiento.