So it was a personal delight for me to finally meet him yesterday, and present him with a copy of my latest book.
Today was his big keynote. Two main themes: innovation and software engineering.
InnovationSoftware is a major driving force for innovation, and IBM is a major innovator. Grady quoted an October 2003 speech by Sam Palmisano, arguing that "innovation occurs at the intersection of invention and insight", and expanded on this theme with a quick survey of IBM's innovations past, present and future.
As Grady has said before, software engineering is hard. Complexity is ugly and inescapable. We deal with this by moving up levels of abstraction.
(I'd like to add two observations to this, which provide further support for Grady's argument. Firstly, it is my observation that the quantity of complexity faced by software developers remains fairly constant over time. This is because the rate at which complexity is subtracted at the lower levels is roughly matched by the rate at which complexity is added at the higher levels. Secondly, I believe that most people - whatever their role - are constantly dealing with quantities of complexity that stretch their natural abilities. Complexity expands to fill the available space.)
Grady reminded us of some of the fundamental principles of engineering.
- crisp and reliable abstractions
- separation of concerns
- balanced distribution of responsibilities
Inspired by Herb Simon and Stewart Brand, this leads us to a notion of good-enough, loosely-coupled, highly adaptive solutions, which can evolve on-demand. These software engineering principles are therefore at the core of SOA. And SOA is therefore more than just a passing fad, but a fundamental response to the demands of innovation.