Architecture with Agility with Kevlin Henney

Course Details

Architecture with Agility
Kevlin Henney 4 spots left

Greenwich, London

7th - 8th Nov 2016 , 9.00am - 5.00pm

Kevlin Henney feedback infographic

Embracing agile development doesn’t mean forgoing architecture. Whether accidental or intentional, every system has an architecture regardless of whether it was put in place by a nominated architect or if it emerged from the decisions of a team. All too often the focus of architecture is centred on a specific set of platform technologies. This focus can be dangerous as it does not highlight all the concerns an architecture should address. Moreover, it addresses only one aspect of the skill set an architect should possess.

Architecture with Agility introduces a broad curriculum for modern software architects. It explores development process models, architectural styles, requirements techniques, sufficient modelling techniques, design patterns and testing practices.

What you will learn:
• The relationship between development process and architecture
• The roles and failure modes of testing, modelling and technology platforms
• Different architectural styles and design patterns
• How to transform product vision into architecture
• Future-proofing your architecture, and accounting for uncertainty
• How to ground your architecture and avoid overdesign

The course covers a wide range of topics through a number of practical exercises, with plenty of time dedicated to group discussion.

Trainer feedback infographic

What is Agile Architecture?
The scope of architecture
Significance of design decisions
Architectural knowledge
Reactive design
Development Process

Building Architectures
Value–driven versus risk–driven approaches
Sequential versus iterative and incremental
Visualising progress
Deming's Plan–Do–Study–Act (PDSA) cycle
Lean thinking
Architectural Expression

Foundations of Good Architecture
Vision and communication
Architectural viewpoints and properties
Use cases and user stories
Documentation, tests and code
Models and Modelling
System context
Development Practice

Testing Architecture
Exploration and prototyping
Testing as learning
Test-driven development (TDD)
Sufficiency versus overdesign
Simplicity and usability

Design Patterns
Recurring designs
Context dependency
Lone patterns
Combining patterns
Pattern stories and pattern languages
Pattern examples and counterexamples
Architectural Styles
Execution Architecture

Real-life Concerns
Optimisation and pessimisation
Cross–cutting concerns and emergent qualities
Physical considerations
The effect of concurrency and distribution
Dependency Management

Lasting Architecture or Architecture in The Long Run
Partitioning and organisation
External dependencies and the dependency horizon
Partitioning with respect to uncertainty and change
Kinds of changes
Continuous improvement
Decremental development
Refactoring and Re-engineering
Smells and technical debt

Practical Content
Define scope of software architecture
Explore interaction of interruption of and progress
Identify consequences of intentional and accidental design decisions in attendee projects
List risks and challenges in actual and example projects

This course is primarily aimed at software architects, lead and senior developers, as well as testers looking to both broaden and sharpen their skills in the disciplines touched on by software architecture, not just specific technologies.

This course has no set prerequisites however experience working in an agile environment is required to get the most out of this course.

The Open Group Certified Architect (Open CA) Program
The Open Group Certified Architect (Open CA) program is an independent global certification program for qualifying the skills, knowledge and experience of IT, Business and Enterprise Architects. Accepted and applicable worldwide, Open CA boasts more than 3,750 certified professionals from 180 companies in more than 60 countries worldwide.

While this course can serve as part of your application for the Certified Architect Program, unlike some of our other courses is insufficient on its own to gain certification. If you are considering applying please have a look at the complete requirements and application process.