Every system has an architecture, whether accidental or intentional, and regardless of whether it was put in place by a nominated architect or whether it emerged from the decisions and discussions of a team. All too often the focus of what is often described as architecture is centred around a specific set of platform technologies, which forms only one part of the set of concerns an architecture should. And all too often architecture is seen as a separate concern from development process, whereas the two are intertwined — what you build is influenced by how you build it, and vice versa.
The Architecture with Agility course looks at the relationship between Agile processes and good architecture, taking in development process models, architectural styles, requirements techniques, sufficient modelling techniques, design patterns and testing practices. This course includes a number of practical exercises so that attendees can see how the different activities fit together. There is also plenty of opportunity for discussion.
Software architects and lead developers looking to both broaden and sharpen their skills in the disciplines touched on by software architecture, not just specific technologies.
Refactoring and Re-engineering
Kevlin is an independent consultant and trainer. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and web sites, including Better Software, The Register, Application Development Advisor, Java Report and the C/C++ Users Journal. Kevlin is co–author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern–Oriented Software Architecture series. He is also editor of the 97 Things Every Programmer Should Know site and book.