Ingeniería de software rigurosa, desde la primera decisión de arquitectura hasta el producto entregado.