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 and lean processes and good architecture, taking in development process models, architectural styles, requirements techniques, development techniques and the question of legacy.
- Outline the relationship between development process and design
- Shift to a more empirical view of architecture and development
- Understand what makes a system and its code legacy
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.
- What do we mean by software architecture?
- What is the relationship between development process and software architecture?
- How do agile and lean thinking relate to architecture?
- What are some of the properties of a ‘good’ architecture?
- How does business and team organisation affect software architecture?
- How can software architecture be evolved and grown?
- How do you respond to and handle legacy code?