Notes

Source: 📖 Test Driven Development with Python ch7 p96


Big Design Up Front vs Agile and Minimum Viable Application

Big Design Up Front means that you begin with a detailed schematic of what your app should do—it is as it sounds. The problem with this is that it isn't always easy to know what problems you will encounter until you're actually developing the app. By contrast, the Agile philosophy is that you learn more from solving problems in development than in theory, particularly when you have access to user feedback. For this reason, Agile development focuses on developing a minimum viable application—a version of the application that is minimally viable, and iterates on that with subsequent versions making improvements based on user feedback.

Test Driven Development is well aligned with Agile programming.