Tag: customer experience

  • 3 Observability Strategies to Reduce Debugging Cycles

    3 Observability Strategies to Reduce Debugging Cycles

    These observability tips can help developers uncover issues that impede performance and derail customer experience

    Modern technologies and methodologies such as cloud services, containers, DevOps, microservices and serverless have made it easier for organizations to deploy application code to production. However, the additional layers within the modern tech stack have increased complexity, making it more difficult to identify performance issues and trace them back to the root cause before customers are impacted.

    While all these layers can be instrumented for observability, each of them spits out different information and for different roles. If something goes wrong, where does a developer begin to look? Maybe they get mentioned on a support ticket. Or they end up staring at high-level visualizations of systems from the various performance monitoring and logging tools. But there are graphs everywhere. There’s no surefire way for the developer to hone in on what they’re supposed to look at quickly. By standing back and eyeballing the graphs, they’ll obviously see the spike. But with all this information and so many variables, it’s not easy to pinpoint the reasons why.

    When incidents impact large numbers of customers, they could spend many days trying to find the answer. Without context into what’s causing the issue, developers spend most of this time blindly following different trails and doing things like arbitrary code rollbacks. It’s costly. Studies show organizations spend about $4.6 million annually on incident management.

    Observability: Strategies to Consider

    Development teams can save time and reduce costs by implementing three overlooked observability strategies that offer a new perspective and carry learnings forward.

    Compare Changes Over Time

    To help reduce the time it takes to trace the issue back to a specific reason, developers should look at metrics over time. Find the closest representation of an identical window of activity and compare it to a previous point in time to help spot an outlier. For example, if a development team is alerted to an incident in which customers are reporting slow response times with an application, they can compare transaction data from similar time periods to look for correlations. Data may reveal the issue is only with API calls, although individual API call times were not significant enough to meet thresholds and trigger alarms. However, comparing those API calls to those from a week ago under the same parameters—same time, same server, etc.—they discover the aggregate of the API calls is performing 20% slower.

    Looking at performance comparisons over time gives developers visibility into performance degradation before it starts to hurt a large number of users.

    Analyze User Behavior Patterns

    A development team should also evaluate the behavior patterns of individuals and IP addresses that are interacting with an application. This can provide insights that help to differentiate between external (user, browser) causes and internal causes (problems with code or a company’s systems).

    For example, consider an e-commerce customer trying to modify items in their shopping cart before checking out. The application is responding slowly to their click (it’s taking 2 seconds), so they click repeatedly. A single occurrence might be overlooked but repeated 2-second delays will add up to a significant impact. It may even trigger alerts that the database is overloaded or there’s a code problem when in reality user behaviors are compounding an underlying problem. Some log activity may look like an attack, but investigating the users impacted may reveal the root cause is actually a browser behaving unusually or a misconfigured proxy that is sending anomalous traffic.

    In either case, developers end up wasting time by implementing corrective actions that may not solve the problem. But considering patterns—viewing events that fired before and after the problem and behavior from individual users along with IP addresses—will enable developers to quickly trace performance issues back to the root cause.

    Properly Assess Impact

    Properly assessing the impact of an issue is another useful strategy that can help to determine response to an alert. For instance, if a subset of users < 0.5% are repeatedly encountering an error with an API, are unable to access the functionality (as in the shopping cart example) and are persistently re-attempting the API, you will see a spike in error rates that implies a bigger problem.

    Another example might be new functionality that has been rolled out that is for some reason incompatible with components of older accounts, such as incompatible profile information or data thresholds. As customers explore, this small subset of users will encounter the bug. It may appear as though the feature is broken when, in reality, it is a problem with some legacy data.

    When problems affect only a few customers, it is beneficial for developers to lean on monitoring tools for alerts and context necessary to resolve an issue without needing to rely on support or support tickets.

    Apply Observability Learnings Forward in Post Discovery

    For issues that impacted many users or were difficult to diagnose, development teams should consider adding a custom metric or monitor when they do their post-discovery analysis. Whatever the metric is—an extra line in a log, a StatsD metric or putting a catch around it to log the trace—it is important to capture the lesson learned and make it actionable for the future, which will save time during discovery when it happens again. Without this step, the mean time to resolution for future issues may continue to worsen as software complexity increases.

    Lack of actionable data is one of the reasons why companies spend millions of dollars annually on managing and resolving incidents. As development teams look to expand observability practices, they should first consider what puts the developer in the best position to resolve an error or performance issue quickly and ultimately deliver exceptional customer experiences.

  • Cloud Is Red Hot in the COVID-19 Era

    Cloud Is Red Hot in the COVID-19 Era

    As digital transformation accelerates, cloud services are helping organizations thrive in a COVID-19 world

    As the days tick by and the gloomy ramifications of COVID-19 become more apparent, one harsh truth has become crystal clear: Industries that have invested in digital transformation stand a better chance of recovery and survival than others.

    The banking industry is a lighthouse example of this principle. Even though the brick-and-mortar branches have had to pull down shutters because of lockdowns and social distancing requirements, many banks have still operated their businesses as usual. They have kept the lights on and handled the pressure of increased online and mobile transactions thanks to cloud-based services.

    While the internet has been a key enabler for digital banking, cloud has become the backbone. Cloud is making IT infrastructure vanish. Cloud is where businesses render servers, churn and analyze data, and keep applications humming so they can collaborate with partners and customers.

    Many businesses are quickly turning around, moving at speed to adapt and transform their operations. YMCA, Planet Fitness and Nike are offering online fitness classes. Schools and colleges are providing online learning. The demand for Netflix and Amazon Prime has gone up dramatically, and both organizations are now easing telecom network congestion by lowering their bit rates. Online grocery retailers are attempting to keep pace with demand spikes. And working from home has gained momentum, sending the demand for routers, modems and data cards through the roof.

    We will see a slew of innovations like these in the coming months, from businesses big and small, that will bring cloud services into sharp focus with their need for scale in a COVID-19 world. Everyone is looking to the cloud to reimagine businesses and make collaboration happen on an unprecedented scale, and the cloud has proven its ability to respond with speed while remaining robust.

    While enterprise IT, governments, entrepreneurs and other organizations work on their plans to respond to crises, the focus should be on providing great user experience in the post-COVID-19 era. In regard to the cloud, enterprises should focus on the following key tactics to prepare accordingly:

    1. Scaling existing services: Applications currently hosted on-premises will move to the cloud. Extending the data center via software-defined data center solutions into hyperscalers will help achieve scale and business flexibility.
    2. Giving businesses ample wiggle room: By adopting a multi-cloud strategy, businesses can de-risk themselves against failure, capacity challenges and operational barriers.
    3. Extending and expanding geographical reach: This can be done by deploying applications to geo-specific cloud platforms.
    4. Going cloud-native: Design and develop new applications on PaaS using a DevOps approach for rapid rollouts.
    5. Strengthening the core strategy: The strategy should be to support rapid and unexpected changes in work and service consumption needs through optimal network bandwidth, VPN connectivity, bandwidth throttling, consumption-based adoption model, remote VDI as a service and SD-WAN based solutions.
    6. Investing in a heightened security posture: Cloud solutions should be based on data classification (privacy, availability) without sacrificing application, infrastructure, access or data security.
    7. Developing new working models: Address medium and long-term requirements with a hybrid support model and local onsite versus remote versus offshore support.

    Having achieved the above, enterprises would be wise to reduce their operations costs and channel the savings into new cloud initiatives. Enterprises should attempt to extend the life cycle of their existing assets before considering a refresh, while simultaneously moving to a subscription-based, pay-as-you-go model rather than footing steep licensing bills.

    But the cloud journey doesn’t end there. Goal-oriented and highly motivated businesses will use their cloud credits to support proofs-of-concept and other essential services. One way of doing this is to containerize applications and remediate end-of-life issues around OS, improving computing density and rationalizing OS licenses for cost savings. The other established route to achieve savings is to outsource value streams to trusted partners.

    COVID-19 is going to accelerate the cloud journey for scores of enterprises, and investments in the technology will quickly show their upsides—improved business resilience, cost control, and above all, the ability to keep the lights on.

  • 4 Mobile DevOps Must-Haves

    4 Mobile DevOps Must-Haves

    Mobile DevOps requires a robust and streamlined strategy for success

    The mobile revolution of the last 20 years has radically changed our everyday lives. That’s not just the way we communicate, but also the way we find information, purchase goods and services, entertain ourselves and more. This has gone in tandem with great technological advances elsewhere, including small-business VoIP. Now it’s never been easier to organize a business teleconference or simply catch up with friends and family, wherever they happen to be.

    Recent years have seen mobile apps scale new heights of technological achievement. This plethora of new apps has changed the way we work, play and chat. But that’s not all. It’s also changed people’s expectations—and it’s up to businesses to respond to that. Consumers expect apps tailored to suit the different aspects of their lives. This puts a great deal of pressure on businesses and other organizations to meet these higher and more demanding expectations.

    That’s why so many are taking advantage of the opportunities offered by mobile DevOps. In a nutshell, the purpose of DevOps is to facilitate enhanced collaboration between project managers, mobile developers and ordinary employees. This helps businesses to meet their goals more effectively, while also ensuring that users enjoy the best and most convenient experience possible. It also means that businesses don’t have to go through the hassle of using native apps to create new hybrid products, greatly simplifying their tasks.

    But without a robust and streamlined strategy in place, mobile DevOps won’t automatically deliver the goods. You need to have a solid understanding of a range of different factors. These will include user preferences, development trends and software delivery. One thing that is clear is that consumer expectations are changing at a remarkable rate and you need to ensure that your offering is up to par. Agility is the watchword, and your DevOps strategy needs to have this flexibility built-in.

    Elements for Successful Mobile DevOps

    Here we’ll take a look at four must-haves of any streamlined mobile DevOps strategy to help you get started. Read on to find out more.

    Planning

    It might seem like an obvious point to make, but thorough planning is the indispensable foundation of any effective mobile DevOps strategy. Having said that, you’d be surprised just how many firms fail to take this basic requirement properly into account. It doesn’t matter exactly what your specialism is—whether it’s HR software or telemedicine app development—your project must be planned in fine detail.

    Get everyone who’s working on the project together. That means all stakeholders, from your developers and testers to your operations team and others. It’s then that you can start to map out what form your project will take. It’s a good idea to get clients involved at this early stage as well, because it’s imperative to keep their needs in mind at all times. Think about what everyone requires from the project (including quality control requirements) and how to deliver it. Consider the potential risks involved and what steps you might take to mitigate these.

    People and Communication

    It’s the same with any project—unless you’ve got the right people on board and the right chemistry between them, you’re almost certainly doomed to fail. Your team, therefore, is of the utmost importance. Mobile DevOps inevitably involves a wide array of different people with unique skill sets, who will make their own particular contributions to the project. You should prioritize finding the right mix and maintaining morale across the board. This will go a long way to ensuring harmonious working between the different wings of your team.

    Part of keeping team morale high is making sure that communications between different parts of the team are smooth. DevOps projects, as we’ve noted, tend to have quite a large number of people working on them. There is a danger that different teams can become somewhat siloed. That’s where each smaller element of the team fails to work coherently with those around it. You should, therefore, make a concerted effort to keep the different groups working on your project collaborating closely with one another. In this way, your people are sure to add up to more than the mere sum of their parts.

    Testing, Monitoring and Delivery

    Continual testing, monitoring and delivery are all essential to ensure that deployment is smooth and free of avoidable errors. Every build should be subject to rigorous testing so that any snags can be discovered and ironed out. Monitoring must be similarly thorough at each step of the way. This helps to keep the production process stable so that any unexpected hitches can be dealt with more effectively when they arise. Continual testing and updating are more important than ever, given the advent of the internet of things and its always-on nature.

    It’s also important to remember that speed is of the essence when it comes to mobile DevOps. The more effective your testing, monitoring and delivery processes are, the quicker you’ll be able to roll out new apps—in other words, increasing software velocity—and you’ll be able to do so with confidence that they’ll be reliable, user-friendly and secure. This will help to improve the overall efficiency of the development process, as well as boosting user and client satisfaction. It will also improve return on investment while helping to minimize the risk of cost overruns.

    Quality and Efficiency

    Striking the right balance between quality and efficiency in mobile DevOps may be top of mind for you. We’ve already alluded to the importance of efficiency in DevOps processes. Maximizing quality in the development of new apps can also do a lot to improve efficiency, save money and cut out unnecessary expenses.

    After all, there’s no getting away from it: development can be an expensive business. A laser-like focus on quality can prevent avoidable complications in the development process. Crucially, it also helps to maintain user satisfaction (always a vital consideration). Think about telemedicine app development, for example—a particularly fraught area. A telemedicine app that’s unreliable, prone to errors or generally shoddy could have a devastating impact on a company’s reputation. Robust DevOps tooling not only allows for better quality but also enhances efficiency by freeing up developers and testers to work on other tasks.

  • Putting Customer Communication at the Core of New Apps

    Putting Customer Communication at the Core of New Apps

    As developers and entrepreneurs create new products and services, it is critical for a powerful communication solution to sit at the heart of the solution and support all customer engagement. Reason being, when customers begin to engage with the application, they’ll expect easy access to troubleshooting tools like live support chat. 

    Neglecting to offer such support could make or break the overall customer experience. In fact, 78% of customers have reportedly backed out of a purchase due to a poor customer experience, and at least 54% of respondents said they would prefer to speak to a chatbot instead of a human customer service representative if it saved them 10 minutes. 

    However, doing so is no easy feat when it comes to automated communications services. Human-level support is effective, but often creates unwanted lag and is not easy or cost friendly for companies to scale. Automated customer service technologies and solutions are a viable choice but need to be able to quickly recognize the intent and context of what a human is saying in order to solve their problem effectively. 

    Not only that, bots need to be able to maintain a live dialogue with the customer and keep the conversation flowing in the same way a human customer service representative would. This ultimately creates an even bigger challenge for the developer, outside of the initial task of developing an effective and engaging application.   

    How Have Developers Traditionally Approached Customer Communications? 

    We often see companies looking to implement things like text message, video or voice calling into their customer communication strategy. While it may seem like a small task from afar, most in-house or self-built solutions require intensive upkeep and are often difficult to scale. 

    Not only that, once a company decides the type of communication it wants to deploy, the developer often struggles to find the right overall architecture and means for implementation. Once these are finally in place and working properly, expanding that functionality down the road makes for yet another grueling process. Because of this, many developers often decide to outsource all together.  

    Most enterprises and contact centers will have communications systems, such as Private Branch Exchange (PBX), that are based on software as opposed to being delivered as a service. This software may be completely run within an office or partly inside the enterprise’s cloud environment. This software was not designed for the modem cloud era, and the more advanced software option generally won’t offer any flexibility to alter or customize communications flows.

    What Are Some Best Practices for Integrating Customer Communications into New Applications?

    There are a few things for developers to keep in mind when building out their customer communications capabilities. First, you’ll need to decide what type of communications methods are required for optimal customer experience, whether it be text message, voice, video or a combination of the three. 

    From there, you’ll need to determine the communication logic that leads to the best customer experience. For example, there is no longer a need to follow the traditional model where a customer calls, navigates through an Interactive Voice Response (IVR), waits on hold and then finally talks to someone. Communications flows can be centered around what provides the best experience for the customer, not what the communications system can handle. If a customer service call results in scheduling an appointment, why not text details of the appointment for easy reference by the customer? 

    Proactive reminders as the appointment approaches are even better. Rather than subjecting customers to annoying IVRs with many simple prompts, they can leverage the technologies that drive Alexa and Google Assistant to help direct customers. Instead of the customer struggling to accurately describe what they are seeing, why not escalate to a video call so a technician can see what the agent is seeing? We also see this with options like automated call backs instead of having the customer waiting on hold to prolonged periods of time. 

    Next, you’ll need to find the appropriate technology stack that aligns with those standards. This often means using a CPaaS (communications platform as a service) platform that is compatible with your needs. Once you’ve found a solution that can cater to your needs appropriately, you can start building and integrating your communications system.

    Choosing the Right Solution

    There are a few things to consider when choosing the right solution. 

    • The solution you’re choosing needs an API function that suits your needs. Most of the apps and services need to connect your account with a consistent user ID that offers context into a user’s information and history. The most common practice is using a phone number as the ID because SMS is the fastest and easiest way to reach the customer, but you’ll need robust API capabilities in order to do that in a way that’s quick and catered to the individual’s account. 
    • If scaling your call-handling staff is a concern, you’ll need a solution that automates parts of the interaction to offload human callers. When implemented correctly, this will increase the efficiency of customer communications by solving customer problems faster. Done right, you can increase call volumes without adding to call hold times.
    • Unfortunately, scale is useless if you’re compromising quality. Automated customer service technologies and solutions need to be able to quickly recognize the intent and context of what a human is saying. Solid Artificial Intelligence (AI) capabilities can maintain a live dialogue with the customer and keep the conversation flowing in the same way a human customer service representative would. It doesn’t matter if the robot sounds and listens like a human if it doesn’t know how to respond to questions and statements in a human-like manner. 

    Customer communications should be a priority when it comes to building out any new application, but that doesn’t mean it has to be a hassle to implement. By keeping the best practices above in mind, you can deploy quality customer support in a way that’s approachable, scalable and simple to augment as needed.

    — Alexey Aylarov

  • Predictions 2020: 7 DevOps Predictions Shaping 2020

    Predictions 2020: 7 DevOps Predictions Shaping 2020

    2019 was an exciting year for DevOps practitioners, with DevOps adoption continuing to grow at a fast pace. Most organizations were either executing or evaluating their DevOps strategies. So, what is 2020 going to bring in DevOps, infrastructure and application automation? Here are seven DevOps predictions for emerging trends in the new year.

    Customer Experience

    CX will become the guiding light of the DevOps journey, and not necessarily just technology. This is a big mindset shift from the early days of pure-technologist enthusiasm. As DevOps matures, we have to remind ourselves that it’s all about making business faster, not just the cool tech.

    Take advantage now:

    • Tie DevOps achievements to business needs and results to get executive buy-in and budgets.
    • Successful QA teams will start looking at their role as guardians of customer experience and not just testers.

    Trust

    Everyone will be talking about trust—not only in the context of zero trust networks but also in the context of making it possible for Dev and Ops to trust one another as the foundation for DevOps.

    Take advantage now:

    • Proactively invest in creating a culture of trust. Identify causes for lack of trust in your value stream and make trust a 2020 goal.
    • Encourage product-level conversation and define methodology and ownership when it comes to value stream management, application and infrastructure automation. It is the foundation that everyone is working on.
    • Invest in staging environments—Staging environments are needed to ensure things work before you put them in production. For many of us, jumping directly to automatically deploying to production is a big step. The risk can be mitigated by investing in staging environment automation, which will be the first step toward deployment to production.

    Value Stream

    The DevOps toolchain is going away. In 2020 we will think value stream. The industry is maturing beyond the notion of chaining together dozens of open source tools and trying to make it work together. In previous years many felt comfortable saying that if they have a CI system in place it means they “do DevOps.” This is no longer the case. DevOps is not just CI, and DevOps cannot be established in silos. Mature DevOps needs to take into consideration the entire value stream—from planning a new capability and the business requirement, all the way to the customer getting more value and a wonderful experience.

    In 2019, Gartner announced it’s the last year of the ARO MQ, as it’s not the right perspective. In 2020 we finally gain a system-level view on the value stream. More players are announcing end-to-end value stream management including Atlassian’s new Forge platform, GitLab and CloudBees. Companies are maturing and adopting system-level solutions. 

    Take advantage now: 

    • Plan for platform operations. System-level value stream perspective requires roles that take ownership of orchestration and automation throughout the value stream and not just in silos.

    The SRE Role Will Continue to Mature

    The SRE role that started with Google bringing software development practices into Operations will continue to evolve. Increasing volume, velocity and variety of data will make AIOps solutions thrive. Also, increasing levels of automation will require smart ways to handle dynamic infrastructure and applications without losing control, and being able to track changes all the way back to the coder. 

    Take advantage now:

    • If you haven’t implemented the SRE role yet, consider how SREs can be part of your teams in 2020. Define SRE areas of responsibility and KPIs, and how the SREs communicate with the teams. Is it a centralized position or are the SREs part of the team?
    • Make sure you provide SREs with the tools they need to succeed including:
      • What are the observability solutions you use? Who uses them today? How do you analyze it and how is it communicated?
      • What are the production environment orchestration, deployment and configuration tools that you use today?  How do you connect them to application and infrastructure automation that happens before production?

    Seamless Infrastructure

    We will have to make infrastructure seamless for our teams. Internal customers are also customers, and their experiences will be just as important. Self-service and empowering teams will be the main themes in the bridges that need to be built between Dev and ITOps. Public cloud, Kubernetes and serverless technologies will grow. And while it makes automation more feasible than ever, the emphasis will shift to self-service and to the end users. With more companies adopting similar approaches, the need to develop internal expertise will decrease, and we will see more off-the-shelf solutions.

    Take advantage now:

    • Map how infrastructure is used throughout your value stream, and work on unifying the approach in product-level.
    • Make sure you build self-service solutions with strong focus on the end-user in order to enable and balance both speed and control. Make sure developers and ITOps are equally represented when determining an approach to infrastructure automation.

    Infrastructure Automation

    Infrastructure automation is going to get smarter, with a lot of AI and ML. Making sure automation is properly governed will also increasingly be important. Take into consideration security and compliance, as well as cost.

    Take advantage now:

    • Assess infrastructure automation practices throughout your value stream. Who builds the automation? What teams and systems consume it? How do you enforce security best practices (e.g. no passwords in public repositories, using proper data sets for testing, compliance of automation blueprints)? How do you enforce cost control (e.g. tagging, reviewing cloud spend reports)?
    • Invest in control mechanisms before you lose control, especially in public cloud automation. If you don’t have governance in place, look at baking governance into automation, rather than adopting traditional cloud management approaches. Invest in automatic de-commissioning of infrastructure, automatic tagging, analysis of infrastructure consumption data and connecting it back to the business requirement, secrets and key management and access control.

    SaaS

    Open source is nice. SaaS is great. While big open source projects set the pace (K8S, Github) and are strongly backed up and funded by the industry’s giants, smaller projects are increasingly difficult to scale and glue together, especially when trying to assure enterprise readiness. The need to “do it yourself” is gradually fading, as more vendors offer products and services for supporting DevOps with clear business and support models and, as important, with OOB integrations with the ecosystem. Just Rest API is no longer enough.

    Take advantage now:

    • If your enterprise-readiness requirements make it difficult for you to scale DevOps initiatives, consider evaluating new SaaS offerings that eliminate much of the heavy-lifting and gluing that were typical to the skills-heavy early-days implementations. If you were concerned with security, cost and skill requirement, today you can find tools that are purpose-built to support DevOps for enterprise at scale. The good news is that most of the vendors are well-aware of the criticality of integrating to your ecosystem, making it easier to achieve your end-to-end value stream vision.

    Want to learn more about what to expect in 2020? Join us Jan. 23 for our Predict 2020 Virtual Summit featuring discussions from some of the industry’s best and brightest offering up their visions for the future. Sign up today for this free daylong virtual event.

    — Maya Ber Lerner

  • Maintaining Strategic Focus During Agile Releases

    Maintaining Strategic Focus During Agile Releases

    In today’s hyper-competitive world, releasing early and often is a business necessity. When done right, this unrelenting commitment to speed enables product teams to quickly respond to shifting market conditions. But sometimes, agility can lead to a lack of strategic focus. Releases degenerate delivering shiny objects that temporarily fascinate the product or sales organizations without wowing customers. Without strategic focus, releases can:

    • Lack a discernible theme, becoming an amalgam of disconnected features.
    • Introduce incomplete and disjointed workflows.
    • Fail to address long-standing customer requests.
    • Attempt to patch weaknesses rather than building upon strengths.

    When planning product releases the goal is to keep a strategic focus while still rolling out the simplest complete solutions to customer problems. The following set of questions guide us:

    • Will this release show notable progress in executing the company’s strategy?
    • Will this release provide a complete solution to a strategic customer’s problem?
    • Which customer success stories can my team tell as a result of this release?
    • Will this release show notable progress in executing the company’s strategy?

    It’s incredibly important to reduce alert fatigue for our users. Therefore, in every release, we give high priority to our AI features that help with alert noise suppression. This means we sometimes have to make hard decisions, such as deferring new dashboard widgets to later releases. Your company’s strategy may be to add revenue by attacking a market adjacency, or maybe it is to reduce a perceived value gap to a competitor product by bringing feature parity. Regardless, whether your company’s strategy is explicitly defined or implicitly understood, maintaining strategic focus means every release has to further your company’s objectives.

    Will This Release Provide a Complete Solution to a Strategic Customer’s Problem?

    Product management and engineering can build a shiny, new toy, whether that’s upgrading to the latest JavaScript framework, adding some esoteric widget to a dashboard or building a cute Slack bot to get the field and a few customers buzzing. But marketing and sales leaders know they can’t drive more prospects, cross-sells, up-sells and long-term loyalty if they aren’t solving complete problems for high-value customers. Take care to avoid the distractions and focus on pressing customer needs.

    Product teams should do the hard work of conducting customer interviews, surveys, mining community forums and sharing observations with stakeholders to determine how to complete existing features or solve well-understood customer problems. These solutions should allow a user to say, for instance: “Now I can automate my entire workflow, even though I don’t have all the bells and whistles I want.” Such users can turn into customer success stories and references. Prioritize shipping the complete solution in one release, even if that means you have to delay shipping customization options for a later release.

    One of the lessons product managers learn quickly is a release is unlikely to be successful if the field isn’t excited about it. Contrary to our wildest dreams, our users don’t take a day off when we have a new release and walk through every menu function to find hidden features. Without the marketing, sales and customer success teams going above and beyond to demonstrate value, product releases may languish or experience mediocre adoption. It’s not uncommon for users to express surprise upon discovering a feature that solved a problem for them, and which has been available for a while.

    To excite our field teams, we have to tell strategic customer success stories. There is nothing more powerful than telling the team you made a specific user’s life better or helped a customer grow sales. It’s even better if that user can be part of your release announcement to the field, showing his or her enthusiasm and willingness to be a reference. These customer success stories don’t magically materialize at the end of a release. They require a ton of planning upfront and tremendous discipline and focus to bring to fruition. Yet, they bring incredible rewards as the whole company feels rejuvenated and validated when they hear how their work has made a positive impact on real customers.

    Product release planning is a strategic exercise that’s critical to the business. It’s not simply pushing out a bunch of work a product team has accomplished. As a product leader, keeping a strategic release-planning mindset will help focus both the field and product teams’ energy on the company’s objectives. Teams will see the fruits of their labor by driving greater customer adoption of releases. And that’s something we can all celebrate.

    — Kash Noorani

  • Harnessing the Power of Developers

    Harnessing the Power of Developers

    In our fast-moving digital economy, organizations across just about every industry are faced with a stark reality: to remain competitive and deliver the best possible customer experience, they must evolve continuously. The fintech industry is a great example of this–the sector’s growth and focus on excellent customer experience has been driven by external developers rather than incumbent players.

    For many companies, particularly in the service industry, improving customer experience now means developing new apps and services that will maximize the customer journey, engender deeper trust and secure customer relationships for the future.

    The aim is to continuously produce innovations that create delightful customer experiences, which in turn will drive ROI. In its 2019 Technology Industry Outlook, Deloitte highlighted the fact that the “democratization of innovation” is set to be a key strategic factor in the coming years. As cloud infrastructure makes it easier to innovate at speed, “medium and small enterprises can harness powerful capabilities once limited to a select few.”

    That might be a new SaaS application, for example, or the implementation of emerging tech such as AI or VR–anything that helps the company provide a more efficient or accurate customer service. A simple example could be integrating complementary, adjacent solutions to add additional value to end customers.

    Companies need to innovate in order to create unexpected functions and capabilities that will delight. But how do companies go about making that a reality? In a nutshell, there are two groups that can help you innovate: your own developers and the wider developer community. Having the right people involved and the right programs in place for both of these channels will allow you to scale and deepen your innovation more effectively–and ultimately create experiences that your customers cannot live without.

    The more you engage with developers inside and outside your organization, the faster you can accelerate your time-to-market for new innovations and, crucially, ensure that those innovations meet real customer needs.

    In-House Developers

    Building an effective in-house development team to meet customer needs is about more than just hiring the right computer skills. Companies need to aim for a fearless, fail-fast culture that lets teams go above and beyond in answering customer needs. This need not apply to all developers–there will be some focused on refining the core product set, for whom fail-fast may not be the ideal working model. However, in the pursuit of unexpected offerings that will delight customers, a healthy attitude to both fail-fast and conventional development is essential.

    Often, organizations are held back from being the best they can be by ingrained, deep-rooted cultures. The power of “the way we do things ‘round here” can be hard to crack, but good leaders must help staff buy into change as an ongoing process that will help them and the business to succeed in the long run.

    That’s where the concept of experimentation and fail fast comes into play. In these environments, developer teams are given permission to try things out without having to go through multiple rounds of approvals and senior buy-in. That means they can go from an initial idea to a fully testable concept in, say, weeks rather than months or years. It also means they can run their blue-sky ideas through a crash course of reality, bumping up against unforeseen problems–what some people might consider failures, but I think of more as learnings–without being penalized for it.

    When developers are given this permission to get ideas off the ground quickly, the benefits to the organization are obvious. Improved access to innovation; a greater chance of discovering more effective ways of working; and a supportive, forward-looking culture that helps to enthuse non-technical staff as much as developers themselves. The same is true for customers–they will benefit from innovations that improve their experience, surprising and delighting them with the idea they didn’t know they needed, but which exactly addresses their needs.

    Practical Considerations

    There are other key issues to address, particularly senior buy-in and customer-centricity. First, it’s essential that developers know their work is valued by senior leadership. Senior leaders need to trust their experts and not just allow but also champion the fail-fast model if the company is to benefit from the successful innovations that come out of it.

    Second, developers need to work in close communication with customer-facing teams to ensure their efforts are directed toward innovations that will translate into improved customer experiences. In other words, it’s important developer teams innovate with the company’s core goals in mind–not just for the sake of it, however tempting that might be.

    There are also pragmatic issues to be addressed, such as ensuring your APIs or SDKs are well developed, and there are good documentation/guides to help use these APIs. This is required for both in-house and external developers.

    External Developer Networks

    Having a wide network of development partners can also help rapidly scale innovation and deliver solutions that exceed customer expectations with speed. By building a community of great minds around the mutual benefit of market-ready innovation, organizations can unlock far more valuable projects, with positive effects for them, their customers and their partners.

    An effective developer partnership works on the basis that there is a symbiotic relationship where each side has something to offer to the other. For example, the developer partner may come from a smaller company who has specific expertise and can benefit from the financial support and expertise of the larger organizations. While both sized organizations can benefit from the diverse thinking, agility and challenger mindset of the developer partnership. Whether you’re a large company looking to fast-track customer-centric innovation or a small company with a great customer-centric idea that needs a boost onto the next rung, a healthy developer network can be highly beneficial.

    As an example, the accounting industry is currently undergoing a major cultural change, with accountants increasingly seeking to provide customers with value-add strategic services to maintain their competitive advantage. Technology is driving a consultancy-first service model. Accountants have access to more data than ever before, and as a result they can help clients to make effective business decisions based on new analytical insights.

    However, making the jump to effective consultancy requires new tools and innovations to turn raw information into usable insights. By working in partnership with a network of cutting-edge developers, accounting software providers can help to conceive, road-test and launch user-friendly solutions.

    The value of developer networks is also evident as you look at domain specific needs that might span a particular industry or a particular region. One company may not have the expertise or bandwidth to do it all–but by building effective communities of developers, an organization can expand their reach to tap into niche areas of expertise. It also gives the company the ability to deliver innovations more rapidly. Every company has a limited set of resources, and additional developer networks can help scale this innovation. For the developers, the value lies in reaching markets and customers they may not previously had access to.

    Taking Innovation Out of the Lab and into the Market

    Whether your company uses in-house developers or a partner network (or both) the core goal should be to hone ideas into realities through collaborative working practices. When developers and customer-facing teams understand one another, they can achieve great things.

    It’s an exciting time in the industry. Technology is evolving faster every day, solving more problems and opening up new possibilities. For businesses of all varieties, harnessing the power of developers should be a core priority. It’s not a question of pursuing innovation for the sake of it–it’s about taking practical steps to ensure you maximize the positive impact of tech on your customer experience.

    — Shivani Govil

  • Radical Transparency in DevOps and ITSM Helps Achieve Excellent Customer Experience

    Radical Transparency in DevOps and ITSM Helps Achieve Excellent Customer Experience

    Here’s what I’ve noticed after spending several years in service management: DevOps is coming up more in the conversations I’m having with service desk leaders. Usually, these conversations start with one of the similar questions: DevOps is going to be the death of ITSM, correct? Alternatively, some consider DevOps as a challenge, and ITSM doesn’t seem so relevant because you don’t have in-house development going on.

    I always answer these questions in the same way: ITSM is relevant, and DevOps is not a threat to it. There’s more to it, however. ITSM professionals can still achieve their most relevant goal–excellent customer service.

    If you allow me a moment, I’d like to offer some background as to why excellent customer service is essential for every ITSM professional, then walk through some of the ideologies or frameworks used and how they interact. I’ll close this piece by discussing what radical transparency means in practice and how it can help you achieve an excellent customer experience.

    Some Background

    When discussing DevOps, we usually see three parts: Development, operations and the actual business. The business demands different things from both development and operations. Development teams are asked to push out code as fast as they can, and operations teams must keep the existing services available and make sure everything is stable. Development is trying to fulfill as many business needs as fast as they can, while the operations team is accountable if things go wrong.

    These might be extremes, but these are the traditional silos that have their expertise, priorities and goals, but there is no holistic overview. These internal organizations also use their way of working, based on a framework or ideology: DevOps tends to use agile, the business uses lean and ops focuses on ITIL. These ideologies can clash and compete at times.

    Because so much is happening with DevOps, we see significant developments. The speed of development and deployment is increasing, leading to additional continuous delivery advancements and technology implementations. The collaboration and breaking through walls between the development team and the operations team for deployment has come a long way within many organizations.

    Meanwhile, ITSM professionals face more and more challenges. Apart from the existing incident handling, they encounter incidents about newer, faster releases. Also, how are they supposed to deal with knowledge management, an already complicated process in itself? The increased speed of development makes it look as if they are always running behind. Getting out of that reactive approach is not getting easier.

    Customer experience and satisfaction is the number one priority in ITSM, creating quite the challenge. In ITSM, all input comes in: If things do not work at all or break down; if things do not work as expected; and if users need help to get things working. Good feedback also usually comes in via the service desk. When examining customer experience, there is a thin line in how fast you can go: If functionality is delivered too quickly, customers will not be able to use it. When delivered too slowly, customers will be unhappy about it as well.

    You can argue that a new silo comes into the picture–namely support. The support team keeps things up and running. Likewise, there are communication links between the customers and the other silos where they can filter bugs to development, info on any outages to operations and feedback on how the customer perceives the value of the functionalities to business.

    What if you don’t have in-house development? Well then, DevOps and the link with ITSM can be even more challenging, meaning you only have part of your DevOps and some of your support outsourced. For one application, perhaps you are relying on one or multiple vendors, but it might be the case that your vendor is dependent on another vendor.

    In other words, the process looks more like a plate of spaghetti than a smoothly laid smooth IT process. There are significant benefits to outsourcing, which is why we keep using outside vendors for some of our operations. In these cases, consider the shift of responsibility, the extra expertise, stability and continuity you gain. However, there are also downsides, such as loss of transparency.

    A Shift in Responsibility

    Shifting responsibility does not mean the same as a shift of accountability. Your ITSM team will still have to take ownership because even if you are not controlling everything. You have to be in control. In the end, you are still responsible for your customer experience and happiness. Customers do not want to wait two years for new features because the update of the vendor cannot take place for whatever reason. Also, it would be best if you had insight into what is going to happen for your users, and you need extra insight regarding how everything is working.

    Silos make this a challenge without outsourcing and are even more so the case when outsourcing these responsibilities. Before we move forward with solutions, let’s first take a step back and look at the frameworks and ideologies the different silos are using. As discussed, first, we have ITIL, typically used in operations.

    “ITIL is the most widely accepted approach to IT service management in the world. ITIL can help individuals and organizations use IT to realize business change, transformation, and growth,” stated Axelos on their website. It’s about aligning services to the needs of the business and supporting its processes.

    Next, we have lean, which is about maximizing customer value and minimizing waste. Lean is where value stream mapping comes in. You identify what works then look at how you can improve flow. Finally, agile, the cultural aspect of DevOps.

    At first sight, each of these processes seems contradictory, but actually, this is not the case. The key is using each of these principles correctly. For example, consider CAB, which comes out of ITIL. In many cases, the A in the acronym stands for “authorization” instead of “advisory.” Knowing that might make things much better and can open up the possibilities of automation, which is crucial to improving things.

    Likewise, some people tend to say that agile can never work in an ITSM context because it is against processes, but that’s also not true. Agile speaks to individuals and interactions over processes and tools, not without appropriate processes and tools. However, if you take a step back, you see they have more in common than you might think and some changes coming to ITIL4, for example, already address how to achieve a better correlation between the three.

    Let’s look at all of them together. Usually depicted as a horizontal value stream, but looking at it as a continuous loop, makes things a lot clearer for me.

    When you start in the business with the idea, take it through the design, code, build and test phase, then move over to the release and deploy and then we get into ITSM territory with the support and monitor stages. Where you see the blue line is where DevOps focuses mostly, so this is also where you witness the creation of a new silo: support (where ideologies or frameworks come in the picture).

    Radical Transparency

    So how do we break through these silos? Radical transparency. First of all, silos have to share their common purpose, which in the end is excellent customer experience. You can change it however you want; but in essence, that is what the business, development, operations and support all strive.

    To accomplish this, we first must know what impacts the customer experience.

    Let’s break it down: There are visible and invisible effects for the customer that can either be positive or negative. Visible results on the positive side will be features; on the negative side, defects. On the invisible side, positive things include architecture and process improvements. On the negative side, technical debt.

    For excellent customer experiences, we need to focus on the visible effects. Invisible effects must be worked on, too; if completely neglected, these will become visible at some point. The most prominent and the first focus should be on the visible effect. To do that, we need insight. If we all have the same set of information, often we all come to the same result. Getting to that same set of information requires radical transparency and also sharing information and insights.

    Shared Workload Tooling

    First disclaimer: When I talk about sharing tooling that does not necessarily mean using one tool. I will specify. I mentioned before that ITSM professionals have to know what is going to happen that might affect the customer experience. They have to be aware of which new versions are coming out and which customers are going to be or are on that version. For that reason, you need to share relevant information from your release orchestration tool to your ITSM tool. For instance, in our service management tool, we can see who is on which version via an automatic integration.

    That is a flow from DevOps through ITSM. The return flow also is essential. Any feedback that comes through your ITSM process regarding bugs has to flow back as well. So, for that, you need an integration between your ITSM and bug tracking tools. I also have seen some examples within the ITSM process where a Kanban board is used to improve collaboration between development, operations and support.

    Just making visible those tasks that impact customer experience and being able to follow up on the progress made by all stakeholders is so valuable. It also gives the support team the necessary insight to be able to communicate with the customer.

    If you are working with one or multiple vendors and dependencies there, you will want to include vendors in this as well. Moreover, that might mean you even have to tie in your and their ITSM tools.

    Another thing you want to share is customer satisfaction insights. First, measure satisfaction throughout the entire chain. That includes employee satisfaction, as well. We have seen the proof that employee satisfaction has a direct impact on customer satisfaction, so make sure you have all those data available and insightful.

    Knowledge Sharing

    Next up is sharing knowledge, which requires proper documentation. Think of federating knowledge into a knowledge base to make relevant information available to the right people. Make sure you have a good understanding of each other’s processes, and the impact they have on one another is essential. As an example, we had some challenges in collaboration with one of our hosting partners. When we sat down to discuss this with them, we found out some choices we had made in the deployment and support process, were not as reliable because we had assumed things about how the hardware had been set up and those assumptions were not correct.

    Excellent documentation and communication are key. If you have things outsourced, you want to make sure your vendor is the right partner, and you have a common understanding.

    Another important thing that should be shared is dashboards, where you can have a total overview of all parties involved and the impact they might have. You especially want to have visible what the effect is on the customer experience. It is valuable to have insight into all things that need your attention, but for your shared dashboard, focus on those things that are not going well and that have an impact on the customer experience.

    When you work with one or more suppliers, you want to make sure they are also using these dashboards and actively monitoring these. For you to be sure they use that, add that in your vendor selection criteria. The only way this works is if there is that radical transparency, where all parties involved have access to your vendors, development, operations, support, business and customers.

    Takeaways 

    Hopefully, because of this article, you’ve taken some additional perspective about where DevOps and ITSM come together, why the silos have to be broken down and how working with one or multiple vendors can be especially challenging. Also, hopefully, I’ve provided a bit of background on the various best practices, frameworks and ideologies most used and how they share commonalities. Radical transparency means breaking through the silos and how this can improve your customer experience.

    Finally, to sum it up:

    1. Make sure all parties have a common purpose and are doing everything to achieve that.
    2. Share relevant information. All words here are significant: share to achieve radical transparency, applicable because you don’t want to flood people with things that are not of use to them, and sharing too much may distract them too much. Provide just the relevant information so everyone can focus on the common purpose.
    3. If you do all that, you will produce better value for your customers, all for excellent customer experience.

    — Jeroen Boks

  • Lessons Learned From the Salesforce Outage

    Lessons Learned From the Salesforce Outage

    Everyone has bad days. Every company has been through some kind of outage due to a buggy database deployment. Even the best of the best, with highly trained staff, world-class best practices and well-thought-out processes make mistakes. On May 17, Salesforce.com had a bad day.

    What Happened?

    The company deployed a faulty database change script that broke permission settings in production and gave users read and write access to restricted data. This opened the door for an unauthorized employee to steal or tamper with the company’s data. As a result, Salesforce needed to take large parts of its infrastructure down to find and properly fix the issue. The outage lasted 15 hours, 8 minutes. According to Gartner’s cost-of-downtime formula ($5,600/minute), this outage cost approximately $5 million. Plus, since so many companies rely on Salesforce, it was a very visible and embarrassing outage. (Just take a look at #SalesforceDown and #permissiongeddon on social media.)

    Salesforce had to shut everything down because of the way databases work. It’s not as easy as pulling a single application. Who knows how many Salesforce employees worked like mad to take the whole database down, find the offending database script, and restore everything—all because of one change script. That’s not a fun way to spend a weekend.

    What Does This Tell Us?

    Historically, Salesforce customers have experienced very little disruption in service. On the day of the outage, many loyal customers were tweeting about how rock solid the service has been, and that’s impressive.

    That being said, this outage should be a wake-up call for users to realize their dependency on their platform, which has become a more integral part of how we conduct business. I’ve heard anecdotes of entire offices being unable to complete work that Friday.

    The customer reactions show that they clearly have their stuff together over at Salesforce. What this outage shows is less about any shortcomings of this company specifically; but rather that everyone has blind spots, no matter how robust the testing process is.

    Lessons for IT professionals:

    • Don’t forget the database. Unfortunately, this problem is all too common. There are countless cases of a database change script being executed in production and causing unexpected issues. This indicates that the database is often the forgotten part of the software test and release cycle. Unless companies start to seriously consider the database when it comes to change management, things like this will continue to happen.
    • Automate everything. Manual efforts fail. Humans make mistakes. Companies such as Salesforce that handle sensitive customer data should not put it on the internet unless they have automated every aspect of the system, including the database. Companies need a robust DataOps process, one that includes production-like data and automates the validation database changes.

    Lessons for end users:

    • Establish a continuity plan. Organizations that depend on systems such as Salesforce need to have a business continuity plan to continue operations if they go down. This includes syncing Salesforce tasks and calendar with Office365, Exchange or Google Apps. However, since Salesforce has become the system of record for most companies that use the technology, having a backup of the data will be very difficult—after all, the point of a company using the platform in the first place was to avoid hosting its own data.
    • Demand accountability. Additionally, users can and should demand more accountability from software vendors. This can take the form of demanding a refund, but also customers need to speak to their account manager to understand what steps Salesforce is doing to make sure this does not happen in the future. It’s 2019 and companies update software all the time without taking down their production systems at the end of a quarter. Moreover, companies also can demand that companies don’t change production systems, outside of necessary security issues, during business hours.

    The bottom line is that, while the mistakes that led to the Salesforce outage are very costly and highly visible to customers, they are also entirely preventable.

    — Robert Reeves

  • Survey Finds Reliance on APM Mainly Reactive

    Survey Finds Reliance on APM Mainly Reactive

    A survey of 358 strategic IT decision-makers in enterprise organizations across North America and Europe conducted by the market research firm GigaOm on behalf of SolarWinds, a provider of IT management tools, finds that roughly half of the respondents consider themselves proactive in their use of application performance management (APM) tools.

    That definition is based on those respondents either strongly agreeing or agreeing that their organization was employing APM tools within the context of all the following criteria:

    1. Engaged in a digital business transformation initiative.
    2. Makes use of a hybrid or multicloud computing strategy.
    3. Has a public-cloud first IT strategy.
    4. Makes use of best practices for IT operations.
    5. Line of business teams are driving technology change.

    Denny LeCompte, general manager for application management at SolarWinds, said that while significant progress is clearly being made it terms of APM adoption, it’s clear that half or more of the potential market is still wrestling with a variety of challenges that often stem from the cost and complexity associated with acquiring and employing an APM platform at scale.

    LeCompte said most of the use of APM is still reactive in that most organizations don’t actively engage an APM tool until there is an actual issue. The survey finds the primary driver for adopting APM is to fix problems (61%), followed by keeping on top of complex application environments (57%), delivering the best possible customer experience (52%) and managing costs and delivering efficient operations (34%). However, it’s worth noting that among the half of the respondents claiming to be proactive about employing APM, customer experience was the primary driver for adopting APM (61%).

    Even so, LeCompte noted reliance on APM platforms is often uneven at best. When it comes to adoption, he noted, most organizations are on a journey. Initially, the focus is on IT troubleshooting. Over time, however, customer experience with digital business processes becomes a much bigger factor. Different teams with the same organization are at different stages of that journey, he said.

    SolarWinds views the rising tide of APM awareness as the justification for jumping into the category, LeCompte said, claiming the company is committed to providing APM capabilities an IT organization is likely to require, at a fraction of the cost of rival platforms. That’s critical because many organizations have limited the number of applications they track using APM tools because of cost, he said.

    As IT environments become more complex in the age of microservices built using highly ephemeral containers, LeCompte said it’s only a matter of time before more IT organizations will need to embrace APM platforms proactively to optimize overall application performance. Individual IT administrators won’t be able to keep track of all the dependencies that might be impacting a “cloud native” application without relying on an APM platform, he noted.

    The issue now is finding a way to provide access to an APM platform that everyone on the IT team can regularly employ without breaking the IT budget.

    — Mike Vizard