Outside-in software development