The Enterprise Re-Imagined with Windows 8

If your company is currently in the process of upgrading to Windows 8, do they see it as a simple OS upgrade to keep up to date; or, do they see it as an enabler to re-imagine how the business operates?

Windows 8 offers the potential to streamline business processes, lower costs, and offer additional customer service opportunities

With an internal app store, domain-joined tablet PCs and innovative leadership, Windows 8 can offer the potential to streamline business processes, lower costs, and offer additional customer service opportunities.

Multiple Internal Apps

Refactoring Legacy Applications

Most companies without excellent software development practices and management end up with big, kitchen-sink. costly-to-maintain software systems.

Internal-facing corporate Windows 8 apps offer a solution to this problem.

Features and functionality are refactored so that rather than a smaller number of larger applications, there are a larger number of smaller apps. This enables apps to be released earlier and more often as regression testing for an app with a smaller set of functionality is cheaper. There may still be integration testing if you are changing services, share contracts (see later), etc.

Refactoring large legacy applications into multiple smaller Windows 8 apps

For example, features might be split out to align with the tasks that staff need to accomplish:

  • Capture potential customer lead app
  • Manage existing customer data app
  • Manage customer orders app
  • Management MI/stats app
  • Stock control/order picking app

Services

Whilst apps are separate, functionally-cohesive things, they may depend on a set of common services. It’s important that these services are change-tolerant, in that they should be able to be updated without requiring every app that depends on them to be re-deployed (unless the change is a major refactoring of the service contract, etc.).

So, with services the architecture starts to look like this:

apps and services

As the diagram shows, it doesn’t really matter what’s behind the services, it could be database, mainframe, other services, message queues, etc. The services also potentially consumable by other non-Windows 8 apps within the organisation.

Beyond the Desktop

One of the key things when “reimagining the enterprise” is to think how tablet PCs can be used to streamline existing processes or enable new ones.

Image a bank branch that no longer had “customer service” desks, where the customer would sit on one side of the desk and the bank employee on the other. With a Windows 8 app running on a touch-screen tablet, the bank customer and bank employee could sit next to each other on a comfy couch (for example) and have a much more intimate feeling conversion. Also, tablets with a “brochure” app could be given to customers to look at.

Imagine an order fulfilment warehouse that now uses a Windows 8 app running on a lightweight tablet to tell the order picker what needs to be picked, where in the warehouse it is, allows them to barcode scan the item and mark the order as “picked’. Image the state before:  the order picker would go to the warehouse office, log on, print off the next order, go pick it, come back to the office, log on again, update the order as having been picked, etc.

Embracing Windows 8 Features

Windows 8 apps have numerous features that can be employed to further enhance the “new enterprise”.

The order picker app mentioned above could have:

  • A Live Tile displaying how many orders currently in the picking queue
  • Toast notifications when a new order appears in the order picking  queue
  • Toast notification when an urgent order appears in the order picking queue
  • Sharing the current order or customer with other apps
  • NFC communication with 3rd party device

Sharing Data Between Apps

Now that there are a greater number of smaller, more focused apps, there needs to be an efficient way to create cross app workflow. Windows 8 provides this by allowing apps to be share sources and/or share targets.

For example, if the order picker had a query about an order and needed to contact a customer (hypothetically), they would be in the order picker app that would be a share source for the customer number; this customer number could then be shared to the customer details app which would then open up displaying the customer details that related to the order.

Lowering the Total Cost of Ownership

I believe the following things would contribute to a lower total cost of ownership.

Development Speed

Using excellent development tools such as Visual Studio, C# and XAML (or HTML and JavaScript), Expression Blend mean quicker development. Also I’ve been impressed by the Microsoft Code Samples apps you can download and learn from, including  things like live tiles, toast notifications, and sharing.

Common User Experience

Internal apps should still follow the Microsoft Design Language (which to be referred to as “Metro”). By doing so, an enterprise can ensure a common look and feel across all apps, with standardised navigation patterns, controls and touch-friendly layout.

If you look at an enterprise’s internal application they usually have vastly disparate looks and feels – but ironically they usually are over-branded to the high teeth with horrid use of corporate colour and logos everywhere – as if an internal employee does not know what organisation they work for.

By having a standardised User Experience, the cognitive overhead is reduced when an employee comes to use an app for the first time. Learning the business process that they are part of will still be required of course, but actually getting around and using the app will feel familiar. This reduces the overall training cost to the organisation.

Enabling Agility

By having a greater number of smaller apps, and a change-tolerant set of services, apps can be deployed more frequently with less risk. This enables an enterprise to increase it’s agility and ability to respond to customer needs or changes in the marketplace. This will want to be done as part of an overall agile software development lifecycle to enable “release early, release often”.

Reuse of Existing Code

Assuming an enterprise’s legacy applications have high quality code that you’d want to re-use, Windows 8 apps may be able to take some of that existing code and use it inside apps. Candidates for reuse are more likely to be business logic related rather than data-access or UI.

It’s worth pointing out that there is the potential to reuse C#, C++ and JavaScript code.

Summary

I think that with strong, innovative management leadership, Windows 8 can help fundamentally transform an enterprise to enable agility, lower costs and happier employees.

Looking at Windows 8 as a simple operating system upgrade is missing a huge opportunity, not that the whole enterprise has to change at once; but as an employee of a company: would you rather use applications with crappy user experience and a million menu items, or just open an app with a beautiful UI that just lets you get on with completing the task that you need to get done.

Add comment

Loading