Successful Agile projects have an architecture that reflects the needs of the process. You simply can’t accommodate changing requirements or refactor effectively if your system isn’t designed to accommodate those practices.
This class shows how good (and bad) structure affects agility, and explores design principles that keep your design on track in an Agile environment. We’ll look, specifically, at the SOLID principles (Single-Responsibility, Open-Closed, Liskov-Substitution, Dependence-Inversion, and Interface-Segregation Principles, at how design patterns improve agility, and at several common practices that can sabotage your project. We’ll also look at Fragile Base classes and inheritance-related structure issues.
Watch part 1 on http://vimeo.com/user22258446/review/78525799/f6a0cd3e9e
Watch part 2 on http://vimeo.com/user22258446/review/79095046/9c0ffa90c8
Slides of the presentation http://software-architect.co.uk/brands/sa/library/Allen_Holub_Agile_Architecture_1_2.pdf