Skip to content

Architecture vs Agile -- XP Meetup Panel

Context

Panel discussion at the Oslo XP Meetup, ~2012. My notes and positions going into the panel.

Panelists

  • Eamonn J. Casey
  • Magnus Green
  • Robert Smallshire
  • Simon Brown
  • Thor Henning Hetland (Totto)

Opening question

The conflict between agile and architecture -- is it a myth or reality?

My position: the IASA Norway Manifesto

  1. Architecture as a foundation for value and profit OVER architecture as a result of projects and software development.
  2. Responsibility and traceability in architecture decisions OVER architecture visions, architecture diagrams and great ideas.
  3. Architecture as pro-active balance between project(s) and organization OVER architecture to regulate and standardize.
  4. Architecture as an enabler of business strategy OVER architecture driven from product and technology.
  5. Architects as promoters of knowledge and learning culture OVER technology focused gurus and decision makers.

My rules

  • "Must make sense/provide value to the team within 3 sprints" -- the litmus test for any architectural investment.
  • "Starting out on the right foot" -- especially critical when creating solutions different from previous experience (the non-functional requirement game).

Too much architecture -- warning signs

  1. The developers lose the functional focus/mindset
  2. Meeting explosion
  3. Impediment explosion
  4. Non-functional sprints (the clearest signal)

Insufficient architecture -- warning signs

  1. The backlog includes lots of optimizations for non-functional requirements
  2. The tough/high risk tasks are delayed to future sprints
  3. The code consists of many ways to do the same thing, where none is a good solution (workarounds)
  4. Non-functional sprints (same signal, interestingly)

Both extremes produce the same symptom

Non-functional sprints appear when architecture is either over- or under-invested. The signal is identical. The diagnosis requires understanding whether the team is drowning in constraints or missing guardrails.


Minimum artifacts for the correct solution?

None. Zero. Zip.

The artifacts are not the point. The informed discussions and decisions are the point.

What I hoped would happen with architecture

Informed discussions and decisions of the options.

Not more governance. Not more diagrams. Just better conversations about the choices that matter.