Monday, November 24, 2008

Keynote: Architects and Agilists

First up - keynote presentation on day 1. Martin Fowler and Rebecka Parsons.
The main topic was how Architects and Agilists don't but should live happily together.
  • Architects should also code, agilists should also respect long-term goals Architects pursue.
  • Architects should be thought of as stakeholders, just like business, representing the long-term needs of the enterprise information systems, such as maintainability, architectural unity of vision, etc.
Interesting idea: express architectural principles through unit tests (automated or not). This gives an agile development organization a way to measure whether these goals are being met. This also allows goals to be clarified and well defined by the executable specification. Rebecka mentioned expression architectural goals as a "fitness function".

An Aside:
There was actually a product being showcased at the show that goes along these lines - SonarJ. This is a pretty cool product. It's an Eclipse add-in (or a stand alone Eclipse-based executable) that allows an "architect" to define project architecture in terms of layers and allowed dependencies between them. If some piece of code violates the allowed dependencies, it is marked as an error by the Eclipse builder. The "architect" license is around $6000! Developer licenses are much cheaper ($250 or something). The only difference is that the architect can use a nice GUI to update the architecture definitions, while developer's can only check the code against them. Definitions are stored as XML files in the project source tree. With enough cleverness, they can be edited directly, but that's probably not worth the effort.

Martin took a slightly different angle, casting an architect as a "coach".
He also tried to pull in the financial crisis, comparing the architectural debt that we've accummulated out there with bad software designs with the financial debt that is currently unraveling.

No comments:

Post a Comment