La respuesta rápida y obvia podría ser: que lo desarrollado cumpla con los requisitos pactados.
La realidad, muchas veces, nos demuestra que esto no su cumple, ya que, o los requisitos pactados se engordan, o nos fijamos más en que se cumpla el tiempo pactado, lo cual realmente no es un requisito, en muchos casos. Al final, parece que premia más el tiempo invertido y el dinero gastado que lo que se ha adquirido.
Imagina que vas a comprar unos pantalones, quieres unos pantalones para diario, simples, pero dado que es invierno, que te los puedas pasar sin pasar frío. Ese es nuestro valor a conseguir. Si vamos a comprar los pantalones y hablando con el encargado los pedimos: que sean azules oscuros, con un diseño radical, moderno, de mi talla, ... ; quizás al final tengamos unos pantalones que sean como unas mayas... ¡a ver quién se las pone en invierno!, pero claro, por el dinero que dábamos, lo que pedíamos, y el tiempo que le dábamos al encargado para que los buscase... pues es normal.
En desarrollo de software pasa igual. Al principio, el cliente tiene la idea de un software, por ejemlo, para gestionar su almacen. Después piensa que, si se va a invertir mucho tiempo en su desarrollo, entonces puede pedir que venga con sistema de nóminas, contabilidad, gestión de pedidos a mayorista y generación de facturas a clientes... y por el camino, mientras ve algunos proyectos de portfolio, pues se le ocurre pedir también un sistema de carro de compra para internet... y todo eso en el tiempo que se tiene para hacer solo la primera idea... ¿saldría bien?... ¡no!
Volviendo a la pregunta inicial, la respuesta después del planteamiento desarrollado, sería, más concretamente: busco que resuelvan un problema específico que tiene mi empresa, el cual no le permite crecer al ritmo que queremos que crezca.
Por ello, el desarrollo de una aplicación de software debe realizarse siempre con la idea clara en mente de que, el desarrollo, va a cubrir una necesidad detectada, o a automatizar una tarea, que ya se realiza, pero se necesita realizar de forma automática para que los trabajadores puedan realizar más tareas a lo largo de un día. Si el software desarrollado no cumple esta espectativa, no solo no aporta valor, sino que es posiblemente un lastre para la empresa.