Application Readiness – It Doesn’t Have to Keep You Awake at Night!

Snackable-3000apps.pngOne thing is for sure – there’s never a dull moment in the IT industry, because nothing stays the same for long. As a result, my job as Intel IT’s Enterprise Operating System program manager is constantly changing. Most recently I directed application readiness for our Windows* 8.1 migration in 2014, and currently I’m responsible for developing Intel IT’s enterprise OS deployment strategy and roadmap.

Keeping Up with Change

This enterprise strategy and roadmap (which is separate from our mobile OS strategy) needs to accommodate trends in the industry, such as the emerging OS-as-a-service delivery model. As described in a recent IT@Intel white paper, “Best Practices for Operating System Deployment,” Intel IT is adapting our best practices to deal with continuous OS updates, in contrast to the previous and traditional once-every-few-years migration. Some of the changes we are making include establishing a permanent virtual machine testing environment and layering applications so that personalization and apps are not affected by changes to the underlying OS. This layering technique provides an optimal user experience across devices and operating systems and enables employees to be more productive, unaffected by the shifting sands of technology.

Determining Which Applications to Focus On

A permanent testing environment implies continually evaluating application readiness. But there are more than 3,000 internal applications in use at Intel – you might wonder how we keep tabs on all those applications. And if we didn’t have a well-developed application readiness plan, the process might indeed keep us up at night. But instead, as documented in the previously mentioned paper, we have a portfolio of best practices that help us keep application readiness on track. One important tool we use is an internal application repository, which enables us to catalog and track all internal applications.

Using Software Solutions

Another approach we take is to use software solutions to analyze applications to determine if they are using legacy code that could cause browser incompatibility issues. When we find such applications, we add them into a legacy application list. We also keep a list of technologies we consider “legacy” – these are technologies that have known limitations when implementing across IT-supported, multiple OS and browser environments, or will increase support and maintenance costs. While the use of legacy technologies will not necessarily prevent an application from working across multiple OS and browser environments, they require additional code and in many cases additional solutions to enable users in those environments. By segmenting browser-based legacy applications from non-legacy, as well as non-browser-based applications, we can proactively identify applications that are likely to have compatibility issues.

Using Crowd Knowledge

Crowdsourcing, too, is a component of our application readiness effort. There are a lot of browser-based applications that are owned by various Intel business groups – we may not know about them or have access to them. Therefore, we communicate regularly with Intel employees through internal publications and the Intel intranet, asking if they know of any such applications that need to be added to the list of browser-based legacy applications. We also promote a collaborative online forum where they can report browser-based application URLs and report what they think is the cause of the compatibility issue. You might be surprised at how helpful this can be. Even though our last major migration was 18 months ago, we still get a steady trickle of reports – environment monitoring for legacy applications is a continuous activity, just like our testing environment is now permanent.

Bringing Legacy Applications Up to Speed

Tracking and updating legacy applications ties directly into Intel IT’s application modernization efforts, referred to as our “Five-Star Program.” We have established coding standards that new applications being developed must pass, and we communicate those standards to Intel’s application developers. Our ultimate goal is an enterprise-wide portfolio of applications that are easy to support, can withstand continuous updates, run in all six supported browsers, promote employee productivity through touch and other means, and are easy to use.

To achieve this, Intel IT’s Architecture team has defined “blueprints” – a decision matrix that helps application developers avoid legacy technologies and choose the appropriate technology for each web application layer. The blueprints include standards for front-end components (user interface and user experience), middle-tier components (web services, middleware, file transfer, and enterprise integration service), and back-end components such as data access, business intelligence, software-as-a service, and so on. The blueprints also define standards for building applications that are not only optimized for the platform but also capable of running on multiple platforms through the use of open source technologies such as HTML5 and other standard technologies.

Although the blueprints are primarily designed to guide new application development, we encourage application owners to address legacy browser-based applications’ compatibility issues by upgrading the applications according to the blueprint design standards. Once an application is reported, we verify the problem and communicate directly with application owners to remediate the issue. When the application is updated to the standards, we remove it from the legacy list.

What’s Going On in Your World?

As Intel IT moves into the next era of operating system deployment, with continual updates and layered applications, I’d be interested to hear what other IT professionals are doing. Please join the conversation by sharing your thoughts and experiences in a comment below.