Aligning the IT Organization to Deliver Modern Apps
Business Case Study
Published July 2014
The recent creation of app stores containing small, focused apps, available across a range of consumer devices, has created challenges for Information Technology (IT) departments in many organizations. In order to address these challenges, Microsoft IT created a centralized app certification process and single app portfolio, both managed from a single point. This provided a mechanism for Microsoft to provide apps developed in an agile software development environment, to distribute these apps to users across a range of devices, and to still maintain control in terms of functionality, security, and regulatory and corporate compliance.
Business Case Study, 1.76 MB, Microsoft Word file
Products & Technologies
The world of apps is changing. The introduction of public app stores for consumer devices has provided both opportunities and challenges. Suddenly, the management of an organization’s app portfolio has become more complex as users seek the focus and flexibility of this new breed of apps while the IT department struggles to maintain control. Apps are all too often delivered at the speed of IT and not the speed required by users of the apps, and IT’s response to user feedback is often too slow. With the new app ecosystem, this is no longer adequate. With the shift to user-centric development of apps, how can the IT department keep up with development, distribution, and management of apps while still retaining control?
Microsoft IT introduced a centralized app certification and publishing process to single app portfolio, both managed from a single point. By providing templates and reusable app components for app development, Microsoft could ensure that apps were compliant with corporate and regulatory requirements. Data collected from app publishing and apps usage statistics helped to prevent shadow apps, and use of user feedback helped to ensure that only useful apps remained in the portfolio.
Figure 1. The current situation
The world of app development has changed. A new app ecosystem was created with the introduction of public app stores, including those for platforms such as Windows, iOS, and Android. As a result of this new, dynamic ecosystem, traditional app design and development methodologies have begun to change.
Why Modern Apps?
Figure 2. Device-centric apps
These new public app stores have brought about great opportunities for users. Users can download and use small, focused apps that do exactly what they say they will. Device-centric and location-aware, these apps respond to users’ needs, giving the users the information they need when and where they want it.
To support users’ needs, modern apps must:
- Run quickly and smoothly, providing instant response to a request by making fewer requests to the server and/or cache data.
- Be designed for touch, allowing users to easily interact with the app by flipping through long lists, swiping, pinching to zoom, and so on.
- Seamlessly span devices, working across multiple platforms and using the devices’ strengths.
- Work anywhere, allowing users to work where they want, when they want. Users should be able access the app whether they are connected to the corporate domain or working from their favorite coffee shop.
- Scale to any screen, being readable and functional on different displays, such as desktops, laptops and phones and different orientations such as landscape, portrait, and snapped.
- Push information to users, notify users when their attention is needed, and provide quick views using live tiles.
- Be scenario and task oriented, simple and focused on the task at hand.
- Use modern design principles, do more with less, be authentically digital, and utilize modern fonts, colors, and layouts.
Initially, apps available from public app stores were focused on home use: social media, mapping, home banking, games. But this has begun to change, with users wanting to see work-appropriate apps made available within their organizations’ app portfolios. They expect these apps to be task focused to provide a specific solution, and users are now looking to their corporate IT departments to facilitate these app stores within the corporate app portfolio. All too often, IT is not geared to make this change.
But there are benefits to an organization from implementing modern apps:
- Users can be productive from anywhere.
- Employees can use their own devices to work.
- User feedback helps apps evolve allowing users to work more efficiently.
- Usage of project templates and reusable components simplifies app development.
- App development time, and therefore development cost, is reduced.
The design, development, and management of many organizations’ app portfolios follows the traditional waterfall model.
The waterfall model uses a sequential, linear process from concept through the phases of design to app development, testing, deployment, and on-going maintenance. In order to avoid costly changes later in the lifecycle of an app, this highly structured model requires that each stage must be completed before moving onto the next stage in the process.
Proponents of agile software development model suggest that the waterfall model does not allow IT to respond to users’ needs. For example, users may not be aware of the specific functionality they require of an app until its prototype is deployed. According to the principles of the waterfall model, it is then too late to incorporate changes without significant cost, if at all.
IT departments are struggling to keep pace with this rapidly evolving app space. With the shift to this more user-centric development of apps, the IT department must keep up with development, distribution, and management of apps and still retain control.
Modern users are enabled, mobile, and demanding. They are driving this change within their organizations.
Figure 3. Users want more
This has changed the way employees relate to their organizations. They want IT to provide apps to address their needs. In order to do this, apps must:
- Be task focused. Because users are busy, they do not want to have to execute a string of commands to achieve a single objective. They want an app to quickly and easily provide the function they require.
Figure 4. Apps must be device-contextual
- Be device-contextual. That is, the same app should not run on a phone in the same way as it runs on a tablet or laptop. Users use these devices in different ways and in different circumstances. Consider an app which is designed to provide mapping information to users about the corporate headquarters. A user with a laptop is unlikely to be roaming the corridors, laptop open, looking for a meeting room location. A phone or tablet would be a suitable form factor. Therefore, building that detailed functionality into that app for laptop users is superfluous. IT must start to look at their existing, monolithic apps and begin to break them down into device-contextual apps that provide appropriate functionality for the chosen form factor.
- Support frequent updates based on user feedback. At one time, it was appropriate for IT to update their apps on an annual basis. Now, however, IT must develop a more agile and adaptive approach to their users and to the feedback that their users provide on the apps they use. If a required feature is unavailable or doesn’t work in a way that is meaningful to the users, then the app will fall into disuse.
- Provide meaningful notifications, and employ an engaging and useful user interface that scales across all device types.
- Be location aware. Apps must provide suitable functionality based on location.
The Business View
From the business perspective, IT is there to support the needs of their organization’s employees. Based on the feedback from their users, business groups complain that IT:
- Can be slow to respond. The time taken to develop and deploy line of business apps can sometimes mean that by the time the app is available, things have already changed.
- Provides generalized apps. The monolothic nature of apps means that they necessarily provide absolutely every feature for every user on all platforms. This is unnecessary and confusing for users. When using a phone device, the features useful for a desktop computer user are at best, irrelevant, and at worst, limiting in productivity for the user.
- Has not always allowed users to use their own devices. With the increase in users being able to use their own devices at work, be these phones, Windows tablets, or devices running other operating systems, IT must provide apps that can utilise these devices rather than force users to use devices that are unsuited to the users’ situation or location.
The View from IT
But these changes can be daunting for IT. Managers and developers are going to need to spend more time engaging with their users rather than planning the next update. Only in this way will an organization’s app portfolio meet the needs of its users.
Managing the app portfolio
In order to properly support users’ needs, IT must address a number of considerations:
- The number of apps in the organizational portfolio will increase rapidly. You only need to look at the apps available in public stores to realise that the switch to an agile software development model helps to encourage app development. IT must be in a position to manage their expanding app portfolio. This management must include the ability to detect and remove shadow apps; that is, those apps that have similar functionality to other apps in the portfolio. Using usage statistics and user feedback helps IT determine which of these similar apps should be removed from the portfolio.
- The distributed nature of agile software development means that IT will be developing fewer of the apps themselves. IT must be able to certify that apps meet necessary corporate style requirements and governmental regulations.
- The frequency of updates to apps. In the fluid environment of the app store, apps survive by being responsive to user feedback; by giving users what they want. IT must put in place the infrastructure to gather, evaluate, and act upon user feedback and app usage statistics.
Providing app services
The role that IT will play in the new app ecosystem is one of service provider rather than developer. IT has the skills and infrastructure needed to run the complex back-ends. These skills and infrastructure help to facilitate:
- App publishing and distribution.
- App maintenance.
- Authentication services.
- Compliance with corporate and governmental regulations.
- Hosting the app portfolio.
The modern approach and its challenges
In order to help businesses respond quickly to users’ changing needs, IT must adopt agile development methodologies. IT will see its app portfolio grow as they create more task-focused apps and support an increasing number of device types. These changes imply that not only will IT need to manage more apps but those apps will be updated at a much greater frequency. Clearly, this can create many challenges for IT if they fail to establish the appropriate controls over their app portfolio. These controls include ensuring that:
- Apps meet regulatory requirements imposed by governments where the app will be used.
- App developers adhere to corporate style. This may include spelling, interface, and other elements.
- Authentication, authorization, and security are managed in an appropriate ways.
- Suitable mechanisms exist to deliver apps to users’ devices and thereafter to update those apps when necessary.
- Apps which are no longer needed or used are removed from the app portfolio.
Yet these controls must be balanced with being responsive to businesses’ changing needs. To achieve this balance, the app lifecycle must become more customer-focused. App development must be simplified in order speed innovation and manage costs. Direct feedback and usage statistics from users must be monitored in order to rapidly evolve app features, manage app quality, and control support costs. IT must be able to:
- Identify and capture common coding practices into reusable app components.
- Provide a mechanism for users to provide feedback on app features and report problems.
- Respond to users requests for changes in functionality.
- Use statistics gathered on app usage to determine which apps are being used the most and the least. Unused or lightly used apps may need to be modified, or even removed from the portfolio.
The big question is, how do you provide these modern apps within an agile development framework while still retaining control?
Microsoft IT’s solution is to centralize and standardize. Their vision is to empower and delight Microsoft employees with the workplace apps that they use most and to accelerate delivery of these compelling experiences across all their Windows devices. This vision included the following key areas:
- Design and delivery of apps. By providing cost-effective modern user experience designs, and engineering services that accelerate the delivery of modern line of business apps.
- Acceleration of app development. App components and services that make it easy for developers to implement best practices, design, security and compliance standards within their apps.
- Certification and publication of apps. Self-service app publishing and app certification services that help to ensure the quality, security and compliance of internal apps.
- Driving the adoption and evolution of apps. Services to help the app team drive adoption of their apps and then collect analytics and user feedback to help them evolve their apps to better meet users’ needs.
- Management of app portfolio. Tools and reporting to help IT manage their evolving modern app portfolio.
Current Service Offering
To help realize this vision, Microsoft IT created an app publishing and management team along with a set of processes to help to enable this new breed of modern apps. Broadly speaking, this new service offering consists of three steps:
- Build the apps. Microsoft IT facilitates the design and build process of the apps. They have decentralized the creation of apps, relying on both internal and external developers, but provide centralized guidance and standards for these developers to follow.
- Publish. Microsoft IT use a broad range of infrastructure services to automate the publishing of apps to portals, or to distribute apps direct to corporate users’ devices.
- Control. By centralizing the app certification process, Microsoft IT are able to retain control of the design, build, publishing, and maintenance processes.
Microsoft has loosely created a chief app publisher role. They are responsible for balancing the needs of the users with the needs of IT, and for providing the business groups with the apps they need, while ensuring that IT maintains control of the new app space.
The chief app publisher grooms the app portfolio, checking for usage statistics, updates, and feedback. They seek to identify apps which are no longer being used or are not meeting the expectation of users. When suspect apps are identified, they then work with business groups to determine whether an app is useful and, if not, remove the app from the portfolio.
They use centralized app publishing to ensure apps meet regulatory, security, and branding requirements. This helps to protect the company’s data and mitigate risks, while giving users a more consistent experience across the portfolio.
They evaluate coding patterns and creates Visual Studio templates and app components that deal with fundamental issues such as security and authentication, regulatory compliance, and corporate style.
He also ensures that policies are in-place within Microsoft’s network infrastructure to handle device enrollment, authentication, anywhere access, and app deployment.
Realizing the Vision
Figure 5. Microsoft’s Corporate App Studio
Within the context of these three steps, and in order to meet their vision, Microsoft IT provides the following services:
- Corporate app studio. Provides cost-effective design and engineering services to accelerate the creation and delivery of modern apps.
- IT Dev Kit. IT Dev Kit is a combination of a Visual Studio project template and app components that simplify the development of Windows Runtime and Windows Phone apps. It simplifies complex coding tasks and provides developers greater consistency in their apps. App services include comments, ratings, usage, and analytics. It provides for standardized privacy, about information, and regulatory disclosure prompting.
App templates provide for authentication standards, and adherence to both corporate and regulatory requirements. App developers then develop apps using these templates, and IT can be sure that they meet the fundamental requirements of the corporate app portfolio.
- IT Dev Center. Provides self-service app publishing and IT certification that conforms to Microsoft IT standards. Enforces app certification rules, provides a learning center for IT requirements and best practices, and includes an analytics dashboard for apps.
App developers are used to writing apps that conform to given standards. Public stores require that apps are certified to meet with their published criteria. So this is not an unusual environment for app developers to find themselves in.
- Training. Microsoft IT provide training for developers to build and sustain modern apps. Microsoft IT’s Information Security and Risk Mitigation team has assembled videos and white papers to support all audiences both from a process and a modern apps technology perspective.
- The Company Portal. Enables users to discover, install, and manage company apps.
Aligning the IT organization to implement a balanced approach in delivering modern apps has many benefits, for IT, for the users, and for internal businesses:
- App publishing service:
- Greater insight and control over the modern app portfolio.
- Increased app quality and consistency.
- Identify and capture best practices.
- Greater ability to meet security and regulatory requirements.
- App project templates and reusable components:
- Reduces development time and costs.
- Focuses app development on business value.
- Improves app consistency and quality.
- Feedback and usage statistics:
- Helps evolve apps to provide greater business value.
- Quickly identifies and corrects quality issues.
- Provides IT insights to manage the app portfolio.
- Can identify potential shadow apps.
- Managed App Studio service:
- Commoditizes modern app development.
- Provides a greater level of user experience design consistency.
- Identifies common coding patterns.
The above benefits facilitate a greater level of agility in responding to business needs while still maintaining an appropriate level of control over the app portfolio.
It is important that as you consider your organization’s move towards modern app development and deployment, you consider how best to achieve this significant change in IT practices. The following guidance may help you:
- Remember that every app has a business owner. By being responsive to the business group and its users, you ensure that the app will meet their needs and be successful. An app must do what the business group and its users need it do, on what platform it must do it, and from which locations.
- Remove weak apps. Use feedback and usage statistics to identify apps that are under-used, or not addressing the users’ needs. Remove these from the portfolio.
- Appoint a chief app publisher. This individual has a top-down view of the apps within the portfolio, and of the processes involved in making sure apps adhere to standards, and address users’ and business groups’ needs. In larger organizations, you may need a team of people within this context.
- Centralize app publishing and certification. Microsoft used an app certification lab to this end, overseen by the chief app publisher. By centralizing app certification, you can help to ensure that:
- The app discloses what it does. Users can be sure how the app behaves once it is installed on their device, and what it can access on the device. For example, the app might need to disclose that it uses the location features on the users device. These disclosures must be made before the app is installed.
- The app provides a link to privacy statement. It is important that all apps provide a privacy statement to users before they install the app. By centralizing this, you can ensure that all apps in your portfolio meet the same corporate privacy standards.
- All apps adhere to corporate standards on style and interface. By using templates within the app certification process, you can make sure your apps have a common feel and consistent style.
- Authentication and authorization is handled appropriately within the app. Use of project templates and app components allows the security team to focus on business logic and information handling features within the app.
- Identify and componentize reusable app components. An app studio service allows you to identify common coding tasks and capture them into reusable project templates or app components. Over time this can speed app development, reduce costs, and result in greater app quality.
- Listen to the users. Find out what they want from their apps, and give it to them. By responding to their feedback with quick app updates you will become to be viewed as a partner and achieve greater levels of user satisfaction.
- Tell the business groups what you’re doing. Let them know about the new breed of modern apps, and your new processes for faster app development. Involve them in the process.
- Use the greater level of agility to experiment. The combination of user feedback and greater agility allows you to try out new features with users. Importantly, the first release of an app doesn’t need to be perfect, as long as you are prepared to listen and respond quickly to the user’s feedback.
For More Information
For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Order Centre at (800) 933-4750. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:
© 2014 Microsoft Corporation. All rights reserved. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.