Today, digital innovation and transformation is everywhere. Nearly all of our enterprise clients are putting cloud and digital initiatives at the center of their corporate strategy. According to McKinsey, digital innovation is a top C-level priority for most enterprises and many CEOs are “choosing to lead the digital transformation themselves.”
At CTP we have been using the cloud to drive innovation since our early days. The killer combination of on-demand resources, pay-as-you-go pricing, and highly productive “innovation services” have all made the cloud the ideal proving ground for new digital initiatives. Along the way we have learned the critical factors that must be in place to achieve success with cloud-based digital transformation. As you embark on your digital innovation in the cloud, please consider these principles and how you can apply them to your business.
1. Start with a Solid Cloud Foundation
As the saying goes, a house must be built on a solid foundation if it is to last. This holds true for your digital initiative as well. Too often we see compelling and transformative solutions undermined by a weak application architecture and cloud foundation. These applications look great but are not scalable, secure, or operable in an enterprise environment.
A solid cloud foundation encompasses both the application as well as the cloud environment it will be running in.
Cloud-Native Application Design and Architecture
Cloud-native software requires a re-thinking of how applications are architected, built and operated. Even when built to be portable and avoid cloud lock-in, the following chart depicts meaningful differences between traditional and cloud-native approaches.
Time to Market, Not Portability, Should Be the Focus
When building new solutions to drive your business forward, what is more important: time to market or avoiding cloud lock-in? Too often clients are focused on theoretical future events where they may want to switch clouds for pricing or other reasons. This is not the right approach and has caused many innovation projects to be delayed or even canceled before they reached the market.
AWS, Google and Azure all have amazing platform and innovation services that can dramatically accelerate time to market. For example, AWS Mobile Hub, Google Firebase, and Azure App Service all accelerate delivery of cross-device solutions tied to your cloud-based back-end services.
Additional reasons to use native features of your cloud include:
Performance – Native features of public clouds can provide better performance than with non-native features. For example, you can deal with an I/O system that works with autoscaling and load-balancing features.
Efficiency – Cloud-native applications’ use of cloud-native features and APIs should provide more efficient use of underlying resources. That translates to better performance and/or lower cost.
Cost – Applications that are more efficient typically cost less to run. Cloud providers send you a monthly bill based on the amount of resources you’ve consumed, so if you can do more with less, you save on dollars spent.
Scalability – Because you’re writing the application to the native cloud interfaces, you also have direct access to the autoscaling and load-balancing features of the cloud platform.
Cloud Design and Implementation
Not only are applications in the cloud built differently, the cloud itself is a far different environment than traditional data centers. Whether you are a large enterprise or an emerging growth company, getting your cloud implementation right is critical to the operational fidelity of your innovation program.
Economics and Cost Management – Cloud computing can provide significant savings, but failing to plan and manage your cloud environment can result in a loss of those savings.
Security and Governance – Applying existing security controls to a cloud environment is difficult, and many of your existing tools will not work at all.
Automation and Infrastructure Management – Unlike most traditional data centers, all of the services in the cloud are exercisable via APIs, which enables full end-to-end automation of your environment if you know how to take advantage of it.
Scaling and Operations – If your digital innovation initiative is successful, you may quickly find that traditional models for scaling and operations won’t keep pace.
Over the course of hundreds of cloud implementations, we have learned what it takes to build and operate an effective cloud environment. We have identified 10 cloud adoption best practices for large enterprise cloud transformation initiatives, many of which are directly relevant to your digital initiative as well.
The Minimum Viable Cloud (MVC) is one of the most important of the 10 best practices. Based on the concept of the Minimum Viable Product, the MVC is the starting point for your first production cloud and a platform that you will iterate and improve as you migrate to the cloud.
Standard considerations found in the MVC approach include:
- Logging and Monitoring (centralized)
- Identity Access Management (IAM)
- Encryption Tools and Key Management
- Security Services such as IPS/IDS/WAF
- InfoSec (Security Operations Center)
- Image Management and Repositories
- Automation and Templates (e.g. Chef, CloudFormation, etc.)
- Networking Services to On-Prem Resources
- Financial Controls, Chargeback and Billing
When preparing your cloud environment to host your cloud-native digital solution, the MVC approach will ensure a solid foundation that will grow and scale with your business.
2. Make Experience Design the Focus
All of the innovative thinking in the world can’t save a solution that delivers a poor experience for the user. A superior user experience drives not only adoption success, but can result in premium pricing and value realization (Apple, Nest, and Tesla are three well-known examples).
Experience Design (XD) is far more than the designing an attractive User Interface. XD is a fundamental approach that focuses on the core value requirements and needs of the user above all other considerations. It is easy for all of us in a market to (often erroneously) feel that we have the best understanding of what our users need and can translate that into functionality for our engineering teams to deliver. XD places the user, not the product team, at the apex of functional and UI requirements prioritization.
Understanding a customer’s pain and delight is a priority, and without it you can’t build what the user really needs. Much has been written about getting to a Minimum Viable Product (MVP) to get your solution in the market and in the hands of your users. Any MVP plan that is not centered on the user and following an experience design led approach is doomed to fail from the start.
Often times, experience design is thought of more in the context of UI development and is assigned to a “role” in a project team. XD may be facilitated by an Experience Designer, but it is the job of all members of a digital team and is less a role than a process of delivering digital innovation and follows a prescriptive model as described below.
Visioning and Ideation
First, define the problem space to help you understand what problems your innovation initiative is trying to solve. Then seek to understand what you and your customers want to achieve in the next 6 months, 2 years, and 5 years and why the initiative could fail. The first step is to fully understand and describe the customers you are trying to serve.
- Who are the customers?
- What do the customers do daily that relates to this solution and what are the pain points they are facing?
The next step is to create a customer journey map that captures each step involved in completing task and goals. It is important that you understand the problems a customer faces both internal and external to your application.
- What worked and what could be improved?
- Define metrics for user experience.
Prototype and Learn
Before beginning the full development of your solution, create use cases that inform wireframes and visual designs. It is important to optimize for velocity and capture relevant learning into each step of the process.
- Design UIs for onboarding, first-time-use, critical path(s), visualized data view and other meaningful workflows.
Validate internally and test externally through a focus on quick and frequent feedback from client and internal team members.
- Create multiple versions of clickable prototypes for user feedback.
- Test user interaction continuously to optimize engagement.
Your customers hold the key to digital innovation success. The best companies don’t over-market or rely on hard-sell tactics or promotions to drive adoption. Instead, they integrate XD to deliver extraordinary experiences for their customers and get rewarded with loyalty and affinity.
3. Accelerate Time to Value with Pre-built Components and Approaches
It is well known that the least expensive function to write and maintain is the one reused from another tried and tested project. As discussed in the first principle (starting with a solid cloud foundation), the hyper-scale cloud vendors provide many pre-built services that can be used to accelerate time to market. There are other ways to accelerate time to value through the use of pre-existing functionality.
Code frameworks, open source components and a community of third-party tools and solutions are all available to make it easier to focus on coding the functions that truly matter and that support the user experience defined in the second principle (making experience design the focus).
At CTP we have been investing in both technologies and methodologies to accelerate cloud innovation and adoption since 2010. Software tooling and IP have had a huge impact on the success of clients in their cloud initiatives, and will continue to play a significant role in our services going forward.
First, we have developed IP that provides the core capabilities that all digital solutions and SaaS applications need. This IP is called Innovation Central and includes multi-tenant administration of users, orgs, permissions and subscriptions which saves clients time and money, and decreases time to market for new cloud-based applications. By leveraging this IP for core user and tenant services, enterprises, ISVs, and product companies can focus on the business value and functionality needed to compete in the market. Innovation Central features:
- Common Capabilities for Multiple Modules, Products and Applications – Our IP provides a common platform for rapidly deploying and managing all of your applications, accelerating time to market and encouraging development focus on core functionality.
- Management for Multi-User and Multi-Tenant Access – Our tool supports multi-tenant/multi-user applications, with highly granular security controls and flexible access control options – both for users and administrators.
- User Management and Self-Service – Reduced administrative overhead enables the management of user roles, groups and projects for all applications in a single location, substantially reducing support costs.
- Administration Tools to Manage Multiple Applications – Sophisticated administration tools allow the management of multiple applications and projects both within and across customer application tenants.
- Secure User Self-Service – This tool provides a secure wrapper for self registration, password selection and application management best handled by individual users. It also integrates with OAuth and other authentication systems for enterprise identity integration.
Second, CTP has an automated static code analysis tool that contains over 500 rules to detect and enforce cloud coding standards for AWS, Google, Azure and any other generic cloud environment. This provides developers with immediate feedback and support and helps them avoid common cloud coding mistakes when building or modernizing existing digital solutions.
In addition to the pre-built components listed above and our automated static code analysis tool, we provide a number of different tools to accelerate innovation and delivery of digital solutions, including our CI/CD Framework and other solution-specific components for IoT, Blockchain and more.
Digital Innovation Common Approach
In addition to software IP and reusable components, successful digital initiatives share a common set of concepts and approaches. These accelerate delivery and ensure consistent high quality. Over scores of engagements we have been able to identify the following critical approaches to ensure digital success.
- XD Framework – an experience design framework has common mechanisms to gather and confirm user requirements, document the user journeys, and test user interactions to gather feedback to inform additional design/build stages.
- Non-Functional Matrix – as much as the functional requirements are driven out of the XD process, architecture and implementation is often driven more by non-functional requirements such as scale, regulatory requirements, security, connectivity and other factors. These factors are captured in our Non-Functional Matrix artifact.
- Recommended Technology Stacks – based on the cloud provider and other factors, we have found certain components of the “stack” to be more reliable and scalable than others and have captured them in our prescriptive Recommended Tech Stack documentation.
- Cloud Reference Architectures & MVC – Generic reference architectures provided by the major cloud providers are useful for learning, but do little to help you determine the cloud deployment architecture for your specific solutions. CTP’s cloud reference architectures and our MVC approach ensures that your cloud implementation best meets the requirements of your digital solution.
There are many other considerations that contribute to digital innovation success in the cloud. Adoption of the core principals of the Lean Startup Method with its focus on the MVP (minimum viable product), maximizing user value and minimizing waste (time, money, etc.) is absolutely essential to any new initiative.
Agile software development – with its focus on working software over documentation, customer and team interaction over “contract negotiation” and responsiveness to change – is the core delivery model for digital innovation. Lean and Agile together form the base methodologies for modern software delivery for any successful innovation program.
Finally, a key factor in successful innovation projects is a focus on what matters most and leaving the supporting work in the hands of others. Operating and managing your deployed environment is absolutely critical and cannot be overlooked. However, it is important to define the core of your value proposition – is it running the system or running the business? Many successful digital initiatives are supported internally, but others are operated by the partners hired to build the solution in the first place.
Having a single responsible party for ongoing software maintenance, application support, cloud operations, and even key business processes such as support, can free you and your team to focus on the core business concerns that are going to drive your success. CTP can be that responsible party.
Digital Innovation is critical to the competitiveness and growth of most industries and there is no better environment for innovation than the cloud. Following these best practices for digital innovation on the cloud is not easy, especially if getting to enterprise scale in the cloud is new to your organization. It is often helpful to have an experienced team to help guide you on your journey in order to move fast and avoid common pitfalls that can get in the way of your success.