In this chapter you have seen how the history of software development has come full circle to a preference for iterative development. You also saw how the Agile Manifesto has created a framework for today's new breed of iterative methodologies. Software developers have also had to learn the value of change and find ways to adapt their work to the pace of change in the rest of the business. You saw a basic example of how Test-Driven Development (TDD) can be used to write robust software that is simple to implement and easy to maintain. You also learned how these tests can insulate you from introducing new defects while providing a framework for you to add new features without disrupting current ones. Finally, you learned what tools you need to start working with TDD.