It’s been a busy week for me, starting with the Enterprise Architect Conference in London, closely followed by the first UK IASA meeting on Wednesday and concluding with the Microsoft Architect Forum on Thursday. I’ve met a load of great people and been reminded that there is just so much still to learn and understand!

The EAC was great although one could start to grow tired of the continual snipes at Microsoft made by presenters in particular. For example, one presenter gave a view of Microsoft in governance terms that would leave you thinking that an employee is not allowed to breathe let alone think for themselves. He jokingly asked 'is anyone from Microsoft here' and I enjoyed raising my hand to tell him about our processes based on mutual trust and shared responsibility; that our product teams have operated as a team of peers, organised into role clusters for many years and that this could simply not be possible if one was prevented any freedom of expression or given any level of respect.

John Zachman was the highlight, he gave an excellent key note, covering a range of issues, important not just to the EA community but to IT as a whole. His fundamental point being that if “you want to stay in the game” you need to manage complexity and change and to do this you need to invest in architecture and that means investing in good engineering and design, which through a combination of planning and control results in the creation of good governance. Nothing ground breaking I guess, but delivered from a guy whose been in the industry for over 40 years, standing in front of an overhead projector it seemed all the more prevalent, insightful and essential if "you want to stay in the game" as he said.

He stated that we are not, as some would say ‘in the information age’. This is in fact the transitional period from industrial to information and that this period has at least 20 more years to run. He went on to say that this period will be looked back on as one of those key transitions in human evolution whereby life will never be the same again. To me this underlines our time and efforts as being of particular significance and human importance and something we should aim and strive to be very proud of both individually and collectively.

He went on to relate IT back to the aviation industry, and how they have successfully built and maintained complex systems that have survived enormous amounts of change. B-52s for example are 50 years old, and the US military plans to extend their lifespan for an additional 30 years - these planes are already twice as old as their pilots he exclaimed. Planes are built from the inside out - it would be silly to think of creating the hull and then trying to stuff everything else inside! They follow a natural build order - of course. So do buildings, but what would you do if the customer asked you to build the fourth floor first? Well you could hook it up on stilts or build it to the side and try and lift it on top at some stage ... but this is just nonsense of course! So why do we build software like this? Well we do of course! The customer doesn't understand what they're asking for and unlike buildings they cannot see the obvious flaw with what they're proposing. We argue often in vain and attempt the build despite our best efforts! So what then happens when the guy tells you to reshape that fourth floor? You threw your plans in the bin when you agreed to build the fourth floor first! According to Zachman, only three options remain:

  • Fix-up by trail and error
  • Reverse engineer to recreate the plans
  • Or scrap and rework

All of which create an escalation in cost while your ability to change and remain agile collapses probably pretty much like the floor you're trying to re-design!

He said all this with an enormous amount of whit and humour; great stuff and really worth remembering when you're sat there with your customer thinking "does this guy really understand the impact of what he's asking us to do?" - I guess that the best software comes out from those teams that can best manage these types of expectations while carefully avoiding starting the job by hanging the wall paper!

Anyway, all was great until he went and mentioned Microsoft... urgh ... here we go again! He said he got an invite to visit Microsoft one day (everyone laughed) - he said he only took a couple of slides (transparencies I guess!) and when he got there he talked away finally admitting that he only had two slides, “But there was no way I can show them to you!” he said. The Microsoft boys obviously replied of course he could and that they wouldn’t be upset. He replied “But you'll never invite me back again”. They hastily said don't worry about all that just show the slides ... so he did ... and of course he showed the slides to us too.

The first slide read something like, "30 years ago, software development was difficult, error prone, expensive, etc. etc." for the whole length of the slide. He said that the Microsoft boys all nodded thoughtfully, and of course we all giggled, so he placed up the second slide ... this read "Today, software development is difficult, error prone, expensive etc. etc." - a repeat of the first - of course our audience exploded into laughter (it was as much the way he said it and loses something in translation I'm afraid) ... and finally when the noise died down he concluded with "And I've never been invited back!". Well people were in stitches - I laughed too - he's a funny guy that's a fact and we all know the slides do makes sense - it's a universal truth!

So not one to feel deflated, I met him after and thanked him warmly for a great talk, gave him my card and an invitation to join us at our Architect forum early next year! We've already been in touch to talk in more detail so I really think that this is a possibility - Ok, so I may blow my budget - but if that is the cost to change perceptions of “what is Microsoft in 2005” then maybe it'll be worth it - for all of us.
I think it is time to stop the sniping. It doesn’t help, and it is never useful, the first example above was simply incorrect and the second while illustrative of the status quo relates to the industry as a whole and not just Microsoft.  If we are to transcend into the information age it will be as a result of all of our combined efforts and not despite them. To be successful, integration and interoperability are key prerequisites and this means agreeing on open standards, patterns and platforms to facilitate the exchange. Microsoft is fully committed and so should everyone else.