My Stuff

2010 Conferences

OSGi DevCon @ JAX London

February 23 - Keynote titled OSGi in the Enterprise: Agility, Modularity, and Architecture’s Paradox

EclipseCon

March 22 - 25 - Tutorial on Modular Architecture

Über Conf

June 14 - 17 - Sessions titled Turtles and Architecture and Patterns of Modular Architecture

Catalyst

July 26 - 30 - Two sessions on rich mobile applications and one on agile development. Half day tutorial on software process improvement.

Tweets @ Twitter

re: #apple event "We sold more iPads than any PC manufacturer sold of their entire PC line." 2012-09-12

re: #Apple Event ""Our notebooks now rank #1 in the US in Market share in the last three months." 2012-09-12

Right on. I just won a Best Buy drawing worth $1000. Either that or I won a shiny new virus by clicking the link. Hmm...what to do. 2012-08-29

The #osgi alliance response (http://t.co/KrN8XNWg) to the @mreinhold #jigsaw announcement (http://t.co/9YvcDdqC). 2012-08-29

Good Q&A with @mreinhold on project #jigsaw. http://t.co/9YvcDdqC. Modularity will change the way we design and run apps! 2012-08-28

LinkedIn Profile

The opinions expressed on this site are my own, and not necessarily those of my employer.

Agile Architecture Presentation

Filed Under Agile, Architecture & Design, Development, OSGi |  

The slide deck for my upcoming presentations at SpringOne 2GX, Agile Development Practices, and OOPSLA is complete. This presentation doesn’t spend much time talking about the “softer” side of agile architecture. I don’t make silly statements about avoiding the ivory tower, delivering solutions that work, or embracing change. These are given! I intentionally avoid the buzzwords, like Emergent Architecture, so you won’t find a session that’s full of fluff and short on substance.

I won’t present earth shattering principles of agile architecture. If you’re not already convinced that ivory tower architecture doesn’t work, that you need to find a way to embrace change throughout the lifecycle, or that delivering working solutions is the best way to move, then this may not be the session for you. The general thesis of the presentation follows.

The goal of architecture is to minimize the impact and cost of change. To do this requires we create flexible systems with the ability to adapt and evolve. But with flexibility comes complexity, presenting architects with a paradox. As we design more adaptable systems, the additional complexity reduces their ability to survive. Eventually, the software rots, the architecture crumbles, and the system fails. Therefore, we must find a way to increase adaptability without decreasing survivability.

The presentation begins by examining this goal of software architecture, helping explain why it’s so critically important that we accommodate the natural shifts in architecture that inevitably take place as a software system grows. In other words, change impacts architecture and this demands that we be able to accommodate architectural shifts throughout the development lifecycle. The meat of the presentation is spent exploring how to do this, with lots of real world examples interwoven throughout the discussion. In fact, the presentation is a partial case study that’s gleaned from about a decade of experience practicing what I’m preaching. For more details on these ideas, and the type of discussions we’ll have as part of the presentation, see a few of the following blog posts:

Admittedly, the material I’m presenting isn’t all of my own creation. I view the session as a consolidation of the tried and proven. For example, Ralph Johnson helped backed my thesis when providing the following quote:

…making everything easy to change makes the entire system very complex…

I cite the SOLID principles. I spend some a great deal of time examining the role of modularity in agile architecture, which in my opinion, is a requirement (not the only one, but one that has been missing). I might even talk a bit about services. In the end, I pull all of this information together into what is a clear and cohesive strategy for increasing architectural agility. If you’re attending one of these conferences, I hope you’ll stop by.

Comments

4 Responses to “Agile Architecture Presentation”

  1. Agile Architecture, Lean Principles : Software & Technology @kirkk.com on September 22nd, 2009 8:10 pm

    [...] devoted extensive discussion to these ideas in a number of other posts, which I summarize in my Agile Architecture Presentation [...]

  2. The Use/Reuse Paradox : Software & Technology @kirkk.com on October 7th, 2009 5:08 pm

    [...] offer a bit more insight to the discussions. I’ve put together some sample exercises for some upcoming conferences, and I intend to walk through those samples in a series of future posts. The result will be roughly [...]

  3. PM Hut on October 7th, 2009 9:44 pm

    What an excellent quote on making everything easy to change (leading to more complexity).

    Working on a project almost a decade ago, the functional manager decided to make a very flexible library for reuse, we ended up creating a function for every simple thing imaginable. We “achieved” the complete opposite of what we initially wanted.

  4. Staying lean! « agile.luminis.nl on October 20th, 2009 11:11 pm

    [...] really want to sustain that agility, how are you going to make that happen? There, going back to one of the points that Kirk makes, a lot depends on your architecture, especially if you look at it from his point of view: The goal [...]

Leave a Reply