Let’s imagine a scenario that many of us secretly hope to achieve. You’re a bright developer with a good idea. You create a cloud-based app allowing your subscribers to send messages to each other and keep tabs on each other’s whereabouts every day. Did I say every day? No, you’re seriously smart and now you can track them in real-time all the time. Soon you have dozens of people…no, hundreds…wait! Now there are thousands of subscribers signing up daily.
You know it’s important to engage with your subscribers regularly and you learn more about them every day. You tweak the way they use the app and soon they’re sharing practically every aspect of their life with you. You’ve created a human behavior test lab and you’re pulling the strings! You’re able to spot trends in what they’re shopping for, where they’re shopping…even what they’re hungry for. At this moment!
Attempting to improve the app, you roll out a new version. But rather than appreciating your efforts to “help” them, your user community rebels and begins making disparaging remarks throughout their community postings and the blogosphere. Those free-loading subscribers who have never paid you a dime think they can drive the design and feel of your app!
Okay, I’m obviously talking about Facebook here. Their recent rollout of new features to keep their app fresh generated many complaints and comments from their user community keeping them in the news. The adage about bad press being better than no press may apply to celebrities—but Silicon Valley is not Hollywood. While painful, Facebook’s change management trials are not unique and should be monitored closely by all cloud-based app designers and developers. There are lessons to be learned and those lessons have been taught in the IT industry for many years.
Definitions of Change Management vary depending on your perspective. Technical developers typically define change management as the discipline of managing change to technical objects (i.e. code, data, configuration parameters). Of course that’s a critical process and something all of us deal with when working with our apps. But the change management focus that Facebook and other cloud solution providers need to be concerned with is managing the customer’s experience and how they incorporate that change into their business.
Adapting to change is generally difficult for everyone. Some amount of disruption is to be expected but you have to know how to manage expectations during the transition to change. Slipping in a new angry bird whenever you feel like it probably won’t give your customers much concern. But add a new page in the middle of the shopping cart checkout process and you could lose a lot of buyers. Change an accounting app in the middle of month-end or quarterly processing and you could lose a lot of subscribers.
One of the primary benefits of cloud-based apps from a customer’s perspective is the low cost of entry for using a new app. Your goal is to build an app that is “sticky” so customers never want to leave–but poor change management is a sure way of losing stickiness and customers sending them to competing solutions.
Change Management in the Cloud
Prior to the cloud, solution providers facilitated change management by allowing their customer base to run different versions of the product—simple enough to do when customers managed their own servers and every customer had their own instance of the app. Customers were given lead times to plan for upgrades and prepare for business process changes, testing and training. Customers deployed product upgrades when their schedule permitted and paid for implementation teams to support them through the upgrade.
Your customers now push those upgrade activities and responsibilities back to you, the cloud solution provider. The cloud reduces the customer’s total cost of ownership and also reduces their control of the application—much to their annoyance. Unless you’re being very transparent with your upgrade schedule and plans (and few providers are), your customers have to react to changes rather than prepare for them proactively.
The industry’s lack of focus on customer change management illustrates just how low the level of maturity is in the cloud computing industry. And even industry leaders are guilty of misdirecting change management efforts. I frequently use Google Apps in my business and at client sites. I’m surprised at how often new features or changes are released without me knowing they’re coming. More than once I’ve had spreadsheets with formulas stop working unexpectedly and then found out a new feature was released. I apologize to Google for picking on them (I don’t want my SEO shut off!) but that shows that even the behemoths of the industry haven’t yet figured this out.
Change Management as a Competitive Advantage
I’m assuming your app doesn’t compete with Google (yet!) and that could be a point in your favor. Planning enhancements and upgrades around your customer base and their schedule would be a differentiating feature helping you stand out from your competition.
Change Management from a business or customer perspective is the discipline of managing the introduction of new features or process changes to the users of your app or process. Customers and users must be prepared to use those new features before they are deployed. Communicating with your customers about the types of changes, letting them know why changes are coming and training them in the use of the changes are the first change management steps to take.
A typical cloud app or service places all customers on the same instance. Introducing new features then means all customers get the features at the same time. There’s no early adopter customer trying out a beta-version prior to rollout to all customers. At least that’s been my experience. But does it have to be like that?
A potential next step in maturity for the cloud would be a more disciplined approach to software deployments and change management. I realize cost is a consideration and maintaining one instance of an app or service for all subscribers is cheaper than multiple versions. But there are options.
Segment your customers into early adopters and give a select few a price break on your app acknowledging the important role they play in your change management process. Make them feel special and reward them for their feedback. Send them to an alternative URL during the trial (assuming you can port their data successfully) and monitor their usage and any service issues. This group serves as a barometer for change management. Deploying successfully and gauging their experience would go a long way towards forecasting the impact of a new release on your entire customer base.
Another option would be to run multiple versions of your app at different URL’s. You may already have basic and premium versions that can be used as customer segments. Send each segment to your app through a different URL and deploy to only one segment at a time. That gives you a chance to witness the impact of your deployment and determine if it’s ready for prime time. Of course, this is all unnecessary if your testing process is bullet proof and you know your customers intimately…right?
I understand the cost of supporting multiple versions of your app may be an issue. But wouldn’t you want to find out early whether your changes caused customers to greet your new app with open arms or flee to your competition? Wouldn’t that investment be worth it to prevent customer flight if things go wrong?
Communicating to your customers throughout your development cycle and convincing them of the need for change is an important part of not only change management but also customer relationship management. It’s not all about how well you know your customers. It also about them knowing and TRUSTING you. Change management is a technique you employ to build and demonstrate that trust.
My experience has shown that change management is usually considered something that only “big” companies do and isn’t necessary or feasible for small firms. But experience also shows me that it’s often ignored at companies regardless of size. Right, Facebook? Disruption of service and loss of trust is even more critical to avoid in small companies if they want to grow to be a larger company.
How do you upgrade and deploy your app in today’s environment? Is it considered a technical activity or a business activity that involves your entire team? I’m interested in knowing how you’re addressing change management with your apps and if the device on which they’re deployed impacts your strategy. Feel free to email or comment below. As for me, I’m going online to understand what this Timeline thing is.
Although he doesn’t feel that “experienced,” Larry started working in the IT industry when it was cool to code IBM Assembler and NEAT/3 on punch cards and “cloud computing” meant the night shift was smoking something in the data center. Now as a consultant, he’s focused on building actionable IT strategies and delivering new technology to organizations large and small. He’s also an enthusiastic evangelist of the opportunities cloud computing brings to all organizations around the world.
Your First Year in Code
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers