As Tom Goodwin notes, Alibaba, the most valuable retailer, has no inventory. Airbnb, the world’s largest accommodation provider, owns no real estate. Uber, the world’s largest taxi company, owns no vehicles. This may sound counter-intuitive, but, in fact, it’s the new reality for businesses operating in a digital world.
For these brands – and many of their fellow disruptors – success comes, in part, from the ability to better meet customer expectations. In today’s always-on age, consumers want brand interactions to be instantaneous, seamless, and personalized. This requires software delivery to be transformed into an outside-in function that plans, builds, and runs technology based on customer behavior and expectations. By extension, enterprise IT professionals must deliver software in an iterative and continuous manner.
The benefits of continuous delivery, as powered by development and operations (DevOps) and other methodologies, are significant. This model has been shown to enable business transformation and improve business results by delivering software products to market faster, cutting downtime costs, and reducing risk. And yet, many companies – particularly established, large organizations – are not embracing modern development best practices or adopting an experimentation culture.
To that end, SapientNitro surveyed senior technology leaders to better understand organizations’ enterprise IT practices and the current state of enterprise IT. As a result, we’ve developed and refined our “enterprise startup” approach – a new mode of operation that helps clients embrace a culture of experimentation and better organize around the customer. To create an enterprise startup, we believe there are three things that businesses need to do differently from the traditional approach:
1. Build Clean, High-Quality Code.
Our research found that clean, high-quality code at every stage in the lifecycle helps provide timely feedback to work groups, enables real-time adjustments to projects, and helps optimize overall results.
Each developer must build production-ready code. Developers should try to perfect the quality as part of their development process, rather than as part of a dedicated testing process.
Building clean, high-quality code involves two steps. The first is making sure the code is of production quality from the start. The second step is to build and use a DevOps toolchain and ensure that it is adopted by enterprise IT teams. To help companies overcome this gap, we have designed and built our own continuous delivery DevOps toolchain, which builds in high levels of quality using mostly open source tools that help engineers test and perfect quality during the development process rather than waiting until a future, separate testing phase.
2. Automate with a NoOps Mindset.
In our study, 92 percent of digital leaders agree or strongly agree that clients want to “automate all enterprise IT processes.” However, just 16 percent agree or strongly agree that clients have been “very successful” in doing so across their organizations. In other words, companies recognize the value of automation, but are struggling to make it widespread.
We encourage organizations to look at automation with a NoOps mindset – which is to say that “no operations” team will be needed to manage and maintain the product. Few companies – be they startups or large enterprises – meet this standard today, with just 13 percent of our IT experts agreeing or strongly agreeing that companies “regularly” use a NoOps mindset. In our experience, the inability of IT teams to set up and maintain the test environments needed to run different experiments is a key challenge. There are occasions in which environment creation is so manual and error-prone that it takes weeks or months to create test environments.
3. Think “Small and Frequent”.
As leading companies transition to continuous delivery, thinking “small and frequent” is one way to minimize risk. We characterize this activity into three main categories: 1) adopting microservices, or breaking applications into small functional clusters to fuel automation; 2) thinking beta, or releasing changes to a small group of customers before expanding; and 3) rethinking measurement, or establishing key performance indicators to chart progress.
For many businesses, this step requires the biggest shift in mindset. In the end, it basically comes down to having the right architecture, right processes, and proper data in place to effectively inspire change.
As companies look to compete in a digital world and adapt to customers’ always-on mindset, the “enterprise startup” approach – embracing journeys, focusing on building quality code, automating wherever possible, and adopting a “small and frequent” mindset – can help drive change.