The last 15 years have seen a revolution in the balance of power between enterprises, software firms, and customers. Consumerization is reaching into the core of IT and changing the decisions and processes surrounding everything from infrastructure and technology to software development. What used to be consumer ‘preferences’ have now morphed into ‘demands’. The people have spoken and they want:
- Web-enabled apps that can be accessed through the most popular browsers
- Software that is compatible with the latest mobile devices
- Graphic user interfaces (preferably touch enabled)
- Lots of visuals in general without crashing or slow load times
- End user customization (mostly “cosmetic” rather than functional)
- Reasonably good security (they may get upset over a breach but get over it quickly as long as no real harm is done)
- Free or low cost applications
- Fast response to user complaints and a commitment to continuous improvement
Deployment is occurring earlier in the application’s development and with greater frequency.
Jason Tee, Enterprise Software Architect
Consumers Dictate the Terms of Deployment
Deployment is one IT Operations function that has undergone substantial changes due to the consumerization trend. The what, when, where, who, and how have all been affected as organizations strive to meet customer expectations in new ways.
What Is Being Deployed?
The nature of applications being prepped for deployment first shifted toward web-enabled apps, then web-based apps, and finally mobile apps. The BYOD trend has even forced the issue of mobile deployment for internal business applications. Enterprises that wouldn’t have dreamed of making their business data and apps accessible from a cell phone in the past are rethinking their position. Some are also deploying modified versions of internal apps to external consumers for self-service purposes to increase customer satisfaction and conserve human resources. Other companies are creating entirely new applications specifically for the mobile consumer as a way to brand their business as tech-user friendly and forward thinking.
When Is Deployment Happening?
Deployment is occurring earlier in the application’s development and with greater frequency. For minor updates, it’s not at all unusual for a software development team to deploy a new version every week or two. The implementation of agile methodology has made this possible. Of course, even with the type of testing used in agile projects, there will be some issues with application performance. Still, organizations are pushing their applications out into production earlier. Deploy in Haste, Repent at Leisure is a risk that organizations are willing to take.
Why the blasé attitude? One thing you’ll notice is missing from our bullet list of what consumers demand is “quality”. Consumers appreciate quality and may give kudos to companies that provide it in their applications. They just don’t expect or require truly high quality in many of their applications. The average person understands at least one reality of production: ‘You can have it good, fast, or cheap. Pick two.’
Where Is Deployment Happening?
The cloud is the natural environment for consumerized deployment. In fact, for many applications it is the only environment that permits realistic testing that takes browser settings and wild swings in load into account. Even organizations that want to keep tighter control over their applications are deploying to the cloud – they are simply choosing the private cloud or a hybrid version rather than the public cloud. That being said, the expansion of SaaS as an industry means that many organizations aren’t doing their own deployments at all. This step is being outsourced to third party firms that specialize in re-deploying legacy apps to a cloud platform.
In the case of out-of-the-box SaaS applications, an enterprise might never even touch the application at all after initial deployment. All new versions, upgrades, patches, and updates are deployed by the vendor. However, consumers do have that preference for customization and this has trickled up to the enterprise level. A business customer might have the SaaS vendor add a “skin” to the application with the company’s branding. In terms of updates, many organizations and consumers also want the option to reject or accept new features. This means deployment is often done in parallel fashion rather than as a straight cutover.
To Whom Are Applications Being Deployed?
With mobile applications in particular, end users are being invited to test beta deployments of new applications. Browse the “free” offerings in any online app store and you’ll see this phenomenon is widespread. Consumers are forewarned that the application is likely to be buggy. Basically, they are being asked to test and report their experience with it so the development team can make improvements. Crowd sourcing and pilot testing have become enmeshed in a novel way. This collaboration has given the average mobile user greater visibility into the development process.
Ironically, this is one reason consumers tend to have a somewhat forgiving attitude about flaws and limitations in apps. When they are beta testing, they expect things to go wrong. Then, when it gets fixed in the next version, they feel that their complaints were heard and taken seriously. Done right (with appropriate communication and follow up), early deployment actually helps build the relationship rather than damaging it. In the final analysis, consumerization of deployment may be a boon rather than a burden to enterprises if they play their cards right.
Let us knowyour thoughts on how to best take advantage of the trend towards consumerization.