Enterprises today are still grappling with a myriad of LoB (Line of Business) applications, both COTS and bespoke, all with varying degrees of heritage and legacy. It's my view that SOA has failed to deliver, and that's backed up by a number of commentators including Anne Manes at The Burton Institute and Tim Bray, Father of XML, now Director of Web Technologies at Sun.
So were do Enterprises go from here? I believe the development of systems has almost split into two tracks, those that entirely embrace the paradigm of the Web and those within Enterprises that still seem to be 'stuck' in a pre-Internet age. Take a look at any Internet facing consumer application, if it's usability, experience, graphic design and content don't meet user expectations then users will simply go elsewhere and use another service. I'm sure everyone reading this has had the experience of some torturous e Commerce application where we've abandoned a transaction in shear frustration with idiocy of the site design.
There is a good reason for this of course, Enterprises have a large legacy of applications, typically packaged COTS solutions with large functional footprints such as ERP. Packaged application vendors have always struggled to keep their architectures in-line with technology developments. Internet service providers, on the other hand, have much greater freedom in their application architecture, essentially only constrained by the capabilities of a browser, and very little legacy to contend with.
There are now attempts to bridge the Enterprise / Internet divide with technology platforms such as Microsoft SharePoint and IBM Mashup Center. The key difference with these solutions is that they 'fuse' traditional business data (ERP, PLM, CRM etc) with Web 2.0 content such as Wikis and Blogs. Both IBM and Microsoft have recognised the potential to bring Web 2.0 to an Enterprise environment. These platforms, though, require new thinking if benefits are to be realised. This is where Information Architecture comes in.
What is Information Architecture? Well, as you'd expect, there are numerous definitions. In the O'Reilly publication Information Architecture for the World Wide Web, Information Architecture is defined as:
- Organisation, Labelling and Navigation
- Structural Design of the Information Space to support Intuitive Access to Content
- Structure and Classification to support Information Access
- An Emerging Discipline
Skills, normally associated with pure web site design are of greater importance, in some cases, than application functionality. Disciplines required include graphic design, interaction design, usability engineering, experience design, content management, knowledge management, as well as the core software development skills.
So how do you go about creating an effective Information Architecture? Often, Information Architecture is described as being made up of three components:
Business Context - an organisation's culture, resources, skills, business model and constraints
Content - Information an organisation produces and consumes, both structured and unstructured
Users - Reflecting the way people in the organisation in the Information Architecture design is critical to it's success.
Web Designers and Solution Architects have, in the past, tended to 'live' in separate worlds that never meet. I guess this is possibly due to the career heritage of people who have these roles, i.e. Web Designers typically have a graphic design background, Solution Architects tend to more technology orientated. Going forward, though, the next generation of Enterprise applications need to converge these two historically separate disciplines if there going to meet the needs of Internet savy users.