According to the 2015 State of DevOps Report, “high-performing IT organizations deploy 30x more frequently with 200x shorter lead times; they have 60x fewer failures and recover 168x faster.” These numbers are compelling. If you’re struggling with your lead time, producing too many flops, or constantly having to fix bugs, you may want to review the efficiency of your DevOps – a series of practices that streamline the systems development lifecycle, crossing both software development and IT operations.
Barcelona-based Esha Jhangiani is the Global Product Manager of Mobile & Apps for Nestlé. Esha considers herself to be a 360-degree mobile apps expert — her experience spans marketing, product management and development. Having a good understanding of both sides means that she can, in her own words, “close the loop,” and consistently make the right technical decisions. Her end goal? To be a strategic IT enabler for Nestlé Apps to win in the marketplace, to improve customer experience and increase consumer satisfaction. We spoke to Esha about how she goes about how DevOps factors into making this goal a reality.
Esha Jhangiani | Interview
Esha started her career 11 years ago working first for a mobile development and marketing agency and then for a mobile-first content company. After this, she moved to online travel agency eDreams ODIEGEO where she was instrumental in designing the company’s first native iPhone app.
She then moved on to Caixa Bank (one of Spain’s top 3 largest banks) where she focused on P2P payment services and cross-device payment integrations. Four years ago, Esha moved to Nestlé where she is now responsible for the end to end IT governance of all the company’s global mobile consumer apps.
How many mobile apps does Nestlé have?
Nestlé currently has a portfolio of over 80 consumer mobile apps. We actively work on decommissioning Nestlé Apps that do not go through the right product management cycles and are not high performing; we want our Apps portfolio to contain Mobile Apps that provide continuous value for our consumers and return on investment for our businesses.
What’s the most crucial part of developing a successful consumer-facing mobile app?
I’d say that an end to end development process operating in a DevOps mode with automation is critical (especially for scale). Most of the hard yards should be done right in the engineering phase: architecture, automation testing, beta testing, consumer testing, etc. A successful and continuous integration process has a variety of benefits:
- It gives you a consolidated infrastructure.
- There’s a certain amount of consistency (process-wise) when it comes to building and shaping each different app helping save time and increasing reusability and cost efficiency.
- You not only save a significant amount of time, but you also improve the quality of whatever you produce — you can spend more time testing, more time iterating, and having a solid product in the hands of your consumers with faster time to market.
How important is mobile for your business?
Mobile is extremely important, more so than ever — especially when it comes to customer loyalty and increasing cross-device connectivity and interaction with our brands. We need to be able to talk to our consumers in the right place and at the right time. Given that we also have an important presence in the retail space (with over 2,000 brands), it’s really important for us to create a 360-degree complete brand experience for our customers.
And how do you go about creating this sort of customer experience?
Two words: contextual interactions.
Brands increasingly need to create a presence that communicates the right message at the right time — Therefore personalization is extremely important.
The key is leveraging customer data across all our brands before using these insights to effectively personalise the overall customer experience. I think that too many app marketers focus solely on user acquisition — this is a big mistake.
You need to make sure that you take into account the entire marketing cycle. If your customers have a bad experience at any stage of their journey — whether they’ve converted yet or not — this is going to negatively impact your bottom line.
What lessons have you taken from other industries?
There are a few key areas that we prioritise:
- Firstly, the app needs to provide value to the consumer. Assuming that is successfully done, your primary focus should always be the customer experience. Your app’s success depends on a lot of different things, but if the UX isn’t up to scratch and doesn’t meet consumer expectations, then you’re missing a trick.
- Internally, put a strong emphasis on the right technical infrastructure, tools, and processes.
- Once you have all these nailed down, you can begin to focus on personalisation and engagement.
How do you define customer experience?
Whether it’s a website or an app, it needs to feel natural to the consumer. Your app should effortlessly drive the consumer to complete whatever objective you’ve set out — there should be no need for tutorials and how to’s.
Get this right, and you’ll delight your consumers: making them happy to use the app time and time again.
I’ve said it before, and I’ll say it again: intelligent, smart personalisation is key in achieving this goal. You need to make sure that your app keeps learning your users’ preferences: offering them continually better experiences each time they use it.
What is the goal of DevOps?
Successful DevOps allows your company to produce a continuous stream of fantastic, high-quality, software-based products. The ultimate goal is to ensure collaboration between stakeholders: all the way from the initial planning stages, when you simply have an idea and nothing more, until you’re delivering the product to your consumers.
But that’s not all.
Collaboration is great, sure, but it’s far from the be-all and end-all. It’s just as important to build processes that facilitate collaboration and internal communication, By getting everyone communicating well and effectively working together, you can….
- Roll out more products, more often.
- Reduce your time to market.
- Increase the quality of your offerings — maximizing your successes while minimizing your failures.
- Shorten the time it takes to fix costly bugs, improving your average recovery time.
What are the different phases of DevOps maturity?
Right, let’s get into the nitty-gritty of DevOps maturity — specifically, the key phases that DevOps goes through before rolling out a product.
1. Waterfall Development
Waterfall Development is a pretty straightforward concept once you grasp the meaning behind it.
It basically means that every step of development has a logical next step; I build phase A, you then build phase B. In the past, development teams all used to go away at the same time and write a bunch of code relating to their piece of the puzzle — however, when they came together, the versions were all too different from each other.
As a result, integrating these different pieces of code became a tiresome and overly painful process… So Waterfall Development became the new standard: ensuring that people would only work on stage two once stage one had been completed, and so on.
2. Continuous Integration
Continuous integration is the cornerstone behind Waterfall Development. It refers to integrating any newly-developed pieces of code into the main body of code on an ongoing basis — this saves a heap of time at the end of the project and means you can avoid delaying the product’s release.
3. Continuous Delivery
Continuous delivery follows along this same theme. As you go along your development journey, you should weave in additional automation and testing so that once you’re done, the app can pretty much deploy itself (without needing a human to give the green light). The code-base is permanently ready to deploy — it’s almost like you’ve loaded up a gun before you’ve even finished building it!
4. Continuous Deployment
If you’ve adopted a continuous delivery system, continuous deployment is just the last step of this process. Code gets automatically tested before being deployed, though it usually only goes out to a small number of users initially. An automatic feedback loop monitors metrics like usage and quality before more adjustments are then made to the code: improving it on an ongoing basis.
Continuous deployment is a fairly bold strategy. While theoretically, no untested code is ever deployed — after all, it’s automatically tested on an ongoing basis — you still run the risk of putting something ‘out there’ before it’s finished. Therefore, the vast majority of software companies strive for continuous development but put the brakes on truly continuous deployment.
The most successful product launches involve building a standard DevOps strategy and ensuring that everyone participating in the process understands and is working toward the same goal.
Need help setting up DevOps? Get in Touch
Join the newsletter, participate in future articles or get help with your Data, Analytics, Product Development, and Marketing Automation.