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.