Outside-in software development es una metodología para el desarrollo de software que se centra en satisfacer las necesidades de los interesados. La teoría subyacente detrás de este enfoque predica que para crear software con éxito, es necesario partir de los objetivos y motivaciones del cliente, siguiendo un proceso de desarrollo basado en pruebas que nos permite escribir la cantidad mínima de lineas código necesarias para proporcionar valor a las partes interesadas y ni una línea más.
Veremos a través de un ejemplo como mediante la ejecución de historias de usuario escritas en lenguaje natural, que a su vez cumplen la función de pruebas de aceptación, podemos obtener retroalimentación inmediata, permitiéndonos construir software simple y funcional de manera más rápida.