Architecture with Agility Workshop by Kevlin Henney @ Agile India 2013 Conference

Kevlin Henney is an author, presenter, and consultant on software development. He has written on the subject of computer programming and development practice for many magazines and sites, including Better Software, The Register, C/C++ Users Journal, JavaSpektrum, C++ Report, Java Report, EXE, and Overload. He is a member of the IEEE Software Advisory Board. Henney is also coauthor of books on patterns and editor of ’97 Things Every Programmer Should Know’.

Kevlin's Books

Henney has given keynote addresses at a number of conferences, including ACCU, DevWeek, Embedded Systems Club, GeeCON, GOTO, JAOO, Jfokus, NLUUG, OOP, PHPNW, SDC, Software Architect, and XP Day.

We are really excited to have Kevlin present his workshop on ‘Architecture with Agility’ at Agile India 2013.

Kevlin Henney

This week we interviewed Kevlin and got some more information about his workshop.

1. Agile practices talk about emergent design and iterative production, how does architecture fit into this model? Is agile architecture emergent?

Process influences and is influenced by what you build and what you can build is influenced by process. Software architecture can best be considered the set of significant design decisions, where significance relates to cost and difficulty of change. Agile projects that do not consider their architecture are not likely to remain agile for long. If an agile project focuses on delivering functionality at the expense of a design that supports incremental development, it will find itself struggling to deliver functionality. Of course, what constitutes a significant design decision is not obvious up front, so establishing an architecture is necessarily a dynamic that flows through the whole development rather than a fixed activity locked into an early phase of development. Architecture embodies knowledge, knowledge is acquired by learning and learning takes time; a development process structures this time.

2. What are some of the misconceptions about agile architecture?

The most obvious misconception is that a good architecture will just happen and emerge miraculously from a succession of iterations, without focused responsibility and effort. Agile architecture requires guidance and nurturing, shaping a system through a succession of changes, each considered to be an experiment against a hypothesis, each considered to be open to review and change.

3. What is the key take away for the attendees from the workshop?

An architecture will constrain or enable the process of development. If you want to be agile, want to make changes frequently and sustainably, want to deliver and get feedback more often, then you need an architecture that supports rather than frustrates such a process. And, like most things in life, if you want good architecture, you have to care about it.

Past talks by Kevlin:

Kevlin’s workshop has limited seats so go ahead and book at before it is too late!