In programming, outcome-driven development focuses on the customer-value of the software. It underscores the importance of customer satisfaction and utilizes principles like "quality over quantity of features." Outcome-driven development dictates software engineers to use advanced analytics and create feedback loops to monitor and improve customer experience constantly.