Agile Software Development, Scrum, Extreme Programing, XP, Test Driven Development, TDD, Feature Driven Development, FDD, Lean, DSDM, Behavior Driven Development, BDD, Refactoring, Pair Programming, Kanban

Agile Architecture

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
Watch part 2 on

Slides of the presentation