Esencialmente la diferencia es "entre lo que los desarrolladores piensan que tienen que construir y lo que los usuarios o clientes piensan que van a obtener".