Interesting Analogs

While meeting with a customer I realized that there is a nice analogy going on that is on topic for my presentation at TechEd...

There are a lot of divisions between IT disciplines. There is a division between Solutions and Infrastructure architecture disciplines as well as a division between the UI Designer and the Developer. There is a lot of talk as of late within Microsoft and the industry at large of the importance of UX or User Experience. To designers, UX is their meat and potatoes while the developer typically treats UX as an afterthought. The same can be said about Infrastructure/Operations being an afterthought. Why is UX all of the sudden being treated specifically by vendors such as Microsoft and even considered as an architecture topic? Trends in the industry such as Service Orientation from a technical perspective focus on the exposure of business functionality and processes through a series of de-coupled "services". These services are autonomous and machine-to-machine oriented for interoperability (hopefully) and integration; the machine-to-machine aspect being the realm of the developer and architect who typically marginalize the user interface aspects insomuch that they aren't really considered. With the advent of what is being referred to as EDGE architecture, the importance of exposing the service portfolio through end-user targeted applications is front-and-center, thus necessitating the need for UX consideration as part of the holistic solution architecture. For the gap between Infrastructure and Solutions architecture disciplines, the same trends have created the necessity of things such as the Dynamic Systems Initiative. In this day and age, it is unacceptable for applications and systems to be islands (Don Box reference); I also contend that it is no longer acceptable for the disciplines in architecture and design to operate in vacuums.

To further the analogy, consider the specific efforts of Microsoft (and other vendors) to bridge the divides... XAML (the eXtensible Application Markup Language) is being positioned as a means by which designers and developers can seamlessly share and hand-off the fruits of their labor in a high fidelity manner. Tools such as the Expression Graphic and Interactive Designers and Visual Studio 2005/"Orcas" will be used by each respective discipline and the fabric between them is XAML. For the Infrastructure and Solutions divide? The System Definition Model (SDM), a key element of Microsoft's DSI realization strategy. In the world outside of Microsoft, the Data Center Markup Language (DCML) is intended for the same purpose. The toolset will most likely be Visual Studio and the designers introduced in the Team Architect version of the product; however it wouldn't be difficult for SDM to be readable by a slew of third party tools as well and the same could be said of XAML.

In a nutshell, in terms of bridging the divide between technical disciplines:

XAML is to Designers and Developers what SDM is to Operations and Developers/Architects

Now why couldn't I have just said that? Because I am an architect and we love to talk.