New Technologies != Better Architecture

Continuing my reading of The Architecture Journal (following yesterday's post) I was a bit taken aback when I read this in the interview with Microsoft's chief software architect, Ray Ozzie:

AJ: As readers think more about embracing a Software + Services model, where should they start today? And how do they know when they are successful?

RO: I’ll start with the last one. If they are achieving business goals and objectives, then they are successful. As for where they should start, from my vantage point, I would recommend becoming extremely fluent in the technologies, both from a developer and a designer perspective. For the Microsoft platform, this means understanding Expression Studio and Visual Studio. Then continue, explore, and prototype things in WPF (Windows Presentation Foundation) on Vista; it’s an amazingly powerful tool.

There are two points I would like to highlight here - I 100% agree with Ray's initial comment about "achieving business goals and objectives".  IT is never self fulfilling as we are a negative cost centre - Any team that isn't driven by business needs, whether they be internal needs or customer request, should be replaced, restructure or removed.

Unfortunately Ray then follows this up with one of the most far fetched comments I've heard in a long time.  Don't get me wrong I have a lot of respect for Ray and he's been in the industry long enough to know what he's doing but I seriously think the second half of his response leaves a lot to be desired.  Remembering that the target audience here is enterprise architects - do they really need to understand the inner workings of Expression Studio and Visual Studio? How relevant is the choice of WPF over WinForms in building a Software + Services system?  Surely this is an implementation decision rather than an architecture decision. 

Just because WPF is new (albeit slow) and Vista is shiny (albeit slow, broken and generally frustrating) doesn't make them the right choice for an enterprise.  Further I would argue that WinForms, which is tried and tested is adequate for building Software + Services.  If you look at deployment with WinForms you don't need to worry as much about hardware requirements or minimum operating system requirements and it's a technology that your development team already probably understands.  Companies should stop riding on the bleeding edge and focus on building (or deploying) systems that are going to instigate behavioural change within an organisation.

Published Wednesday, September 19, 2007 2:40 PM by nick

Comments

Wednesday, September 19, 2007 11:01 PM by Alex Salamakha

# re: New Technologies != Better Architecture

Couldn't agree more with you Nick!

Seriously, who cares about the implementation details?

And WinForms isn't the only option - web forms will do just fine :)

Thursday, September 20, 2007 4:25 AM by nick

# re: New Technologies != Better Architecture

Alex, funny that you mentioned web forms.  There is actually a huge destinction between building a rich client application (using winforms or wpf) v's a web application (using web forms, flash, silverlight etc).  This IS an architecture decision and whilst I made the point that the choice of technology is an implementation detail, sometimes an earlier decision (ie an architectural decision) will preclude certain techologies.

I highly recommend reading the interview with Ray as there are some other really valid points made there about the progression away from pure web applications back to a combination of software and services.