Insights

10 things you must do for better Digital Customer Experience (CX) – Part 2

In the first section of this two-part article, we looked at the first five must-dos for organizations looking to provide unmatched customer experience. In this section, we will explore the next set of must-dos for organizations to build better Digital Customer Experience.

6. Define CX Metrics– As per Forrester’s CX Index, 72% companies want to improve CX, but less than 1% can deliver or delivering an excellent experience.1Tracking wrong metric is one of the reason, companies cannot quantify their efforts into business gains.  

Defining CX metrics is a must-do for companies to improve their CX. The most common tracked CX metrics are Net Promoter Score (NPS), Customer Satisfaction (CSAT), Churn rate, Retention rate, Customer Lifetime Value (CLV) or Customer Effort Score (CES).

Does your organization need to track all of them? Depends, because every business is different. There are no standard metrics that will work for every organization in every industry. Customer feedback paired with digital channel usage and performance will give a holistic view of customer journey, enabling continuous improvement in digital experience.

So how do organizations select CX metrics apt for them? Select a metric that helps understand financial health and performance of business, shows employee engagement around new initiatives of Digital Experience, and communicates how more or fewer customers are engaged.

7. Continuous Improvement and Transformation– Experience economy wants brands to be on the toes all the time. This makes Continuous Improvement and Transformation part of daily business meetings. Even the most innovative companies like Netflix and Amazon are surprising customers with new features.

The latest feature of Netflix about Choose Your Own Adventure-type ending for some series shows how the streaming giant is evolving to engage customers with the platform. Before this feature, there hasn’t been a lot of engagement for customers apart from viewing. The feature of ‘choosing your own end’ also act as input to customize shows and improve recommendation engine based on viewers’ interests and personality traits determined by analysing how they choose their ending.

Continuous improvement and transformation result from continuous experiment, trying something new and if it does not work, go back to the drawing board for a fresh start. Agile technologies we discussed earlier to build modern apps give freedom to release something new, and if something goes wrong, roll-back to the previous most stable state. The best digital experience providing companies have continuous transformation as the lifeblood of innovation.

8. Employ Automation– Customers choose channels based on convenience and today ‘Digital’ is the most convenient channel. Automation of CX channels and mediums is receiving high interest from all the industries. Some common examples of using automation for CX are–

  1. Call centers use customer-telephony integration (CTI) to automate phone calls routing
  2. Website chatbots to engage with customers or sales lead.
  3. Automation of self-checkout options by online retailers
  4. Automation of banking functions using banking apps
  5. Using marketing automation tools for customer acquisition and retention

Automation can improve experiences on every digital touch point of the brand. Automation also helps companies in identifying issues and their priority, based on which they can allocate human manpower. Imagine a customer is facing a simple issue of login or checking his bank balance over the weekend, is it right for brands to keep him waiting till the next working day or is it ideal to just send him an automated message with the required details? This allows customers to get the solution and organizations can save on time and resources with automation.

9. Invest in current talent– Imagine, a frustrated customer shares his experience on twitter with the brand’s handle, receives an automated reply to share necessary details over Direct Message. Someone from the customer service gets in touch with him and he had to repeat the same issue all over again, the call then gets transferred to other executive. Even with the best of technologies and automation, the scenario is not unlikely for most of the brands.

Organizations must practice new rules of the CX game. CX has moved from transactional to relational experience altering the basics of CX. While organizations have to undergo complete cultural transformation, it becomes important for customer-facing employees to understand all digital channels and digital journeys of customers. Organizations can implement internal portal to train employees on new digital technologies and how to use them on a day-to-day basis for providing better CX.

10.Capture and act on employee feedback– Comcast’s “Elevation Process” is a great and practical example on how companies should take and act on employee feedback. No one knows your culture, product, services and even customers better than your employees.

Comcast carried out employee-driven exercise to transform the CX. The company invested in creating a learning system called “Elevations Process”.2 The system enables all the employees to identify issues interfering with providing great CX, and plausible solutions to solve them. The process combined–employee listening, machine learning systems, and an analytics tool for prioritizing the most important issues and best ideas.

The process promoted cross-functional dialogs across geographies improving conversations in the organization. These helped executives to determine issues based on severity and priority and allocate resources accordingly.

The most successful companies already embedded customer and employee feedback in their business operations. This practice is helping them in empowering employees focused on CX and produce new customer value faster.

Organizations can start initiatives of recognizing individual who set an example of providing amazing CX–either by serving customers better or providing a solution for any significant customer challenge.

Putting it all together

Organizations implementing these ten must-dos in their Digital CX plan are well on the path to deliver an unmatched experience. But there’s one thing to remember, the real work starts when organizations implement and continue to improve their strategies to drive customer centricity.

Happy CX-ing!

References:

  1. https://zoovu.com/blog/measure-customer-experience-initiatives/
  2. https://www.accenture.com/_acnmedia/pdf-70/accenture-medallia-pov-pdf-4-29jan2018-breaking-the-code.pdf
10 things you must do for better Digital Customer Experience (CX) – Part 1

Digital touch points drive business revenues in the applications era. They serve as branding and customer service mediums for increasing customer loyalty. These statements don’t sound new anymore. Numbers suggest 70% of online buying experiences are based on how the customer feels about being treated on digital channels.1 The annual total estimated cost of customers switching due to poor service is $1.6 trillion in the U.S. alone.2 This makes optimizing Customer Experience (CX) a top priority for organizations. At Qentelli, we hear it from our clients repeatedly that improving CX is the most strategic priority.

Our goal with this article is to outline the 10 most critical things businesses should do NOW to make sure they are delivering value in every customer interaction across all touch points. This article will be split into two parts. The first part will brief about first five things in achieving world-class customer experience starting from defining customer experience aspirations, organizing right team, building modern apps, delivering fast and measuring the activities to administer continuous feedback loop. We will also explore how these things contribute to customer experience. The second part will outline the next five things in achieving world-class customer experience that includes defining right customer experience metrics, continuous improvement in current practices, using automation, investing in right talent and acting on employee feedback.

1. Define CX Aspirations–The type of CX an organization wants to provide depends on the industry, customers’ digital presence and business aspirations. For some, providing better CX limits to one digital channel, while others look at transforming complete traditional business model to digital ones. Amazon is a well-known example where traditional business model is transformed to digital using technologies. There can be more scenarios how an organization is looking at redefining customer-experience. In any of the scenarios, defining CX aspirations should govern business vision to create new digital models.

2. Build Digital Experience Team–Organizations are building dedicated and well-balanced Digital Experience teams. They have realized mere online presence is no longer enough; they have to improve digital dialogs with customers. A report, Defining Digital Experience by Clicktale says more than 48 percent of brands have a Digital Experience team in place to oversee their digital strategy. 3

Digital Experience team owns the responsibility of constantly improving the digital experience as per the brand’s aspirations.

At Qentelli, we encourage clients to find Digital Champion Leader from the existing team–someone who understands business and customers to the core.

3. Build Modern, HyperAgile Apps–Enterprises need to re-think application building strategies for existing and in-progress applications. Organizations should adopt Rehost, Retire, Refactor, Reinterface and Rearchitect strategies. Leading enterprises are employing DevOps, DevSecOps, Multi-Cloud approaches, Microservices, Container Deployment to gain agility plus scalability. These approaches help organizations build minimal viable digital products in weeks, instead the old approach of waterfall culture with specifications taking years. As per IDC, by 2022, 90% of all apps will feature microservices architectures that improve the ability to design, debug, update, and leverage third-party code; 35% of all production apps will be cloud native.4

Enterprises can only deliver seamless and faster solutions for customers if they combine agile/DevOps approaches and leverage cloud-technologies such as containers and serverless computing. This makes building modern apps with cloud-native technologies a must-do for enhancing CX.

4. Adopt DevOps and DevSecOps– In experience economy, customers are always looking for more features to make their purchase easier. For example, an application with limited sign-in options can hinder experience of signing in, whether they use it or not they want options of signing in with Facebook, Google, etc. Technology accessibility has given them a lot of options to choose from. This requires organizations to release features faster than ever. 

Releasing new digital experience with secured customer journeys is a rising focus for aspiring-digital and digital-forward organizations. With the rise of sophisticated cyberattacks, organizations want to ‘release fast and secure’. According to 2017 statistics, the U.S. faced over 130 large scale, targeted breaches with that number growing by 27 percent per year. 41 percent of companies have over 1,000 sensitive files having credit card numbers and health records left unprotected.5

Matured DevOps teams can win at integrating security by abiding security principles and practices. DevSecOps requires shifting security in the early stages of software development, peer-code reviews and automation of the build processes. DevSecOps teams have also achieved success by securing applications by design.

5. Administer Continuous Feedback Loop– Competing in experience economy requires a proactive approach to listen and respond to customers’ feedback. This requires real-time monitoring of all the digital channels–social media, play store reviews, reviews websites, in-app surveys, customer service tickets and salespeople. Real-time data can reveal opportunities to improve CX strategy. This distinguishes high performing areas from the low-performing, making it clear to act on high-priority areas for CX.

A large US retail giant used text analytics to reveal insights from customer comments as part of the company’s regular planning exercise. The results prompted cross-functional discussion to identify root-cause analysis of the significant problems. With the analysis of customer feedback, they discovered the coordination gaps between product development, sales and marketing team. Armed with the new insights, they changed the reporting structure of two departments under one leader fostering better communication among teams.

Organizations excelling at Digital Experience have three main competencies that help them in closing the feedback loop for creating greater customer value–

  1. Capturing customer sentiments across all the channels
  2. Using digital intelligence to improve experience on systems of engagements
  3. Customer-centric alignment to act rapidly on customer feedback to close the loop

While organizations are continuously evolving in their ways of listening to customers, we believe convergence of systems will help in achieving new efficiencies. These are-Systems of engagements, systems of records, systems of intelligence and systems of things. 

At Qentelli, we consider three things for feedback loops–Capturing real-time data, identify and improve metrics, and closing the loop keeping end-user in mind.
Performance Test Automation – Why Does it Matter?

Quality Engineering is now being realized as a key driver in Business value generation and improving customer experience. As per Technavio’s Global Software Testing Services Market report, published in July 2018, the software testing industry will witness a significant growth during the period 2018-2022, with revenues reaching close to $68 billion by 2022. These numbers give a clear sense of the market potential and the rising importance of Quality Engineering within the IT Lifecycle.

While functional testing has always been an important part, companies are realizing that performance issues are critical to customer perception of the “Experience” in using applications. While some organizations are slower to adopt a complete performance testing strategy, they’ll quickly realize that having no strategy will negatively impact bottom line goals.

Here are a few of the ways that performance testing affects business ROI, according to Radware:

  • 51% of online shoppers in the US say that site slowness is the top reason they’d abandon a purchase.
  • Shoppers remember online wait times as being 35% longer than they actually are.
  • 2-second delay in load time during a transaction results in abandonment rates of up to 87%.
  • The total cost of abandoned shopping carts for online retailers has been estimated at more than $18 billion per year.
  • 64% of smartphone users expect pages to load in less than 4 seconds.
  • When faced with a negative mobile shopping experience, 43% of consumers will go to a competitor’s site next.

Tools for automated performance tests always have existed, from the old WinRunner to modern toolsets that can simulate global user interaction across tens of thousands of users. What is changing is how sophisticated automated performance tests are becoming and how they are being integrated in a Continuous Delivery model.

Automation in NFT

Automated testing of functional requirements is common, but it is rare in the NFT world. The challenge that most companies face is the difficulty of automation in NFT. More often than not, automating the entire process of NFT is usually left out of the scope of CI/CD. The reason is usually the complexity and width of large-scale NFT. At some point, the test scenario becomes so heavy that the only way forward is to run the tests manually.

QA teams have been advocating for NFT to be performed using automation tools to test the ‘system/application’ under different scenarios. The aim is to be able to equate the tests to real-world scenario. For example, increasing the load on all the CPU cores on which the application is running and checking the performance of the application under such a scenario. To facilitate a real end-to-end automation, including non-functional testing, teams need to focus on developing specific point solutions to avoid manual interventions.

In an environment where tests are rerun frequently, QA automation can be a reasonable investment. Often used as part of a continuous integration process, as well as an agile software development approach, test automation can help test the whole product at every iteration, with minimum effort and quick turn-around time. And as the trend continues to gain wider adoption, according to a survey, 86 percent of companies have the intent to apply automation in their testing processes.

Why Performance Test Automation

Quick and effective: Executed by special software tools, automated testing requires significantly less time and effort.

Better long-term ROI: While requiring some upfront investment, automation proves to be more cost-efficient in the long run.

Transparent and meticulous: Automation gives better transparency, collaboration and visibility the team.

Integrating Performance tests in CI/CD Pipeline

Both functional and non-functional testing are critical parts of the software development lifecycle. Most companies do not face a problem in implementing appropriate automated functional testing within a CI/CD process, but, implementing automated performance tests can be demanding.

Non-functional tests such as performance tests have limitations when it comes to running it within CI/CD process. These tests are specifically sensitive to the details of the runtime environment. For a performance test to be reliable, the infrastructure in which the tests run must be consistently appropriate. Some NFR tests require that the runtime environment is specially provisioned to support the purpose of the tests. However, the environment is not the only limitation when it comes to running such tests under CI/CD. These tests’ execution time is also an impediment, in addition to the cost involved.

Despite the challenges, CI/CD can support reliable, automated performance tests when a level-based approach is taken. However, there will still be times when parts of the automated non-functional testing will need to take place outside the CI/CD pipeline. In such a scenario, companies can opt for cloud-based testing service that provides the automation testing tools, software, and reporting capabilities, necessary to perform stringent, long-running tests on a pay-as-you-go basis. Using a cloud-based service can be economical, while providing the hardware needed along with the runtime capacity required.

When conducting performance tests in a continuous-integration environment, testers must design test cases with a minimum run or execution time. When the execution time is short, the test accuracy is susceptible to small fluctuations. Dynamic architecture validation helps identify potential changes in performance and in the internal processing of application cases. This includes the analysis of response times, changes in the execution of database statements, and an examination of remoting calls and object allocations.

It is not possible to extrapolate results from the continuous-integration environment to later production-stage implementation. The point is to streamline load testing by identifying possible performance issues earlier in development, thereby making the overall testing process more agile. Moreover, it is important to have a realistic approach towards understanding the company’s technical stakeholders and the contributors about the limitations of automating performance testing in the CI/CD process. For a successful automation, companies need to chart out the difference between performance and functional testing. They also need to create a level-based test plan, which can determine the layers in application stack most suitable for automated performance testing. For most part, functional tests can be automated without hurdles, while automating performance tests poses a tougher challenge. However, this difficulty can be mitigated when a level-based approach is taken.

Creating a Level-Based Test Plan for Automated Performance Testing

The trick to automating performance testing in a meaningful manner is to take a level-based approach. Level-based performance testing is a process by which automated performance tests are executed on components at various levels of the technology stack. Performance testing, particularly automated performance testing, is best done in an isolated manner at each level of the stack. Each level in the stack refers to different components/modules of the application, APIs, web services and DB-specific tests.

Running short automated test performance scripts against various levels of the technology stack is a more realistic approach than a top-level assault on the system overall. There are just too many parts in play to be adequately accommodated by a single, high-level approach to performance test automation. Performance testing using a level-based approach allows for a good deal of automation testing.

An end-to-end business flow specific Performance Test Strategy that runs a sequence of these component level tests is still critical to test the overall response of the application, but testing components at the early stages (shift-left approach) can reduce the testing time and help in early detection of performance issues.

To conclude, whether a company goes cloud, hybrid, or keeps its performance testing infrastructure in-house, the important thing is to make performance testing – from level-based testing focused on isolated components to full scale pre-release, regression testing – an essential part of the company’s automated QA testing process, within and beyond the Continuous Integration/Continuous Deployment pipeline.

Secrets of starting and running a successful DevOps Program

‘Software is eating the world’ said Marc Andreessen, a confidant of global corporate giants.

‘Say no more!’ said the leaders of businesses across industries.

In no time, every software company started adopting various development methodologies to build better software (with bigger appetite maybe) and release faster. DevOps is one of the well-known adoptions and claimed to be a revolutionary one at it. While everyone is trying to take notes and simulate the efforts of first-generation digital adventurers, not everyone is ending up nearly as successful as them. Where is it going wrong? A lot of market and entrepreneurial experts say it’s the direction of transformation and we can’t agree more. So, let’s look at the control centric as well as self-managed structures and transformation models to try and assess their effectiveness over DevOps adoption.

Top-Down Transformation:

Business owners have realized the on-going shift from hardware-based to a software-based economy. The digital era is forcing them to transform everything from culture to business operational models. To lead a living and breathing agile enterprise, delivering quality software and motivated workforce is very important.

We helped an organization that was trying to get their teams to adopt DevOps. A detailed Discovery process, with confidential feedback from the teams on the ground, revealed that while the leadership had provided necessary investment, they were trying to push a specific Cloud-based DevOps platform. But the engineering teams felt that the tech stack currently in use would not align well with this platform.

We conducted a workshop with leadership and walked them through our tailored Transformation model. The “how” was then left to the CTO, Architects and project teams to decide, since the leadership was mainly concerned about business agility than the technology.

Bottom-Up Transformation:

Many best-selling business transformation books and articles are promoting an emerging new paradigm of self-managed, egalitarian organizations. But, does it work for DevOps transformation? The concept of a teal organization is interesting, but it isn’t practiced widely for a reason. Broad-based local performance improvement certainly brings a fresh perspective of solving problems, but it has a potential threat with inconsistent implementation and varied performance objectives.

Our vote goes to ‘Cross-functional Core Process’

For a sustainable change, everyone must buy-in the ‘Why’ and be involved while coming up with a ‘How’. Being the new buzzword of IT industry, the adoption of DevOps comes with many conjectures and assumptions. While the top and bottom camps try to win the steering end of transformation journey, the rest of the organization in middle gets pressurized and the core objective is compromised often.

In Cross-functional transformation, core process gets redesigned to link activities, functions, and information in new ways to achieve Transformational goals. What’s ideal is leadership announcing the intent, setting direction and establishing constraints, while the teams are empowered to operate within those constraints. There is no question of either, it must be both.

To achieve the promised land of Agility, if you chose the path of DevOps, make sure your adoption plan follows these principles of transformation drafted based on our experience.

  • The objective is ‘Performance’. Faster cycles, faster failures, faster feedback, everything is to (should be) better the performance consistently. The leaders need motivate the employees, take informed decisions, quantify the potential benefits, and maintain transparency with their core teams.
  • Strategy and Structure is NOT out of fashion. As we said earlier, self-managed teams might get temporary freedom but there is no promise of continuous improvement there. Transformation efforts are done better with viable economic and organizational structures.
  • People matter! We, at Qentelli firmly believe that people can make or break any company during transformation. It is important to hand-pick the right skills and building high-performing teams is necessary.
  • Automate the configurations, the change and the deployment process.
  • Focus is essential. Nothing can be fixed with ‘Fix everything at once’ attitude. Whether it’s the structural conflicts from top-down or procedural complications from bottom-up, the respective personal must prioritize the issues based on their possible consequences.
  • Process is nearly useless without values. Building performance-oriented workforce can’t be built with rigid hierarchies focussing on procedures instead of results. The leaders must clearly communicate the value they’d like to embrace and how are they linked to performance to the employees.

Business scaling consultant and Executive coach Lex Sisney says, ‘behind every high-performing, bottom-up, self-managed, seemingly egalitarian company, there is a well-run top-bottom hierarchal organization’. DevOps adoption is not a cure-all but it sure can enable continuous delivery, continuous feedback, bring in a cultural shift at workplace and most importantly improve customer experience and positively effect the delivered value. Talk to our DevOps experts to know what’s the safest way to transform the way you produce software before its too late.

DevSecOps – Challenges at Scale

Over the past few years, we have seen organizations of every size and industry trying to adopt, scale, and mature in their DevOps practices. While DevOps adoption is still on a rise, malicious attacks on application are also growing, and every other organization is facing data breach1. An American multinational hospitality company faced a major breach exposing data of up to 50 million guests to the hackers. The breach costed $123 million in costs between fines and court-related expenses with loss of brand reputation.2

As per the 5th annual DevSecOps community survey 2018, 33% organizations suffered with breaches from open source vulnerabilities or web application in last 12 months, a rise of 121 percent since the survey started in 2014.3 Another report by 2019 Verizon on Data Breach Investigations, there was a noticeable shift in financially motivated crime (80 percent), with 35 percent of all breaches occurring as a result of human error.4 In another two years cybercrime will near approx. $6 trillion of damages.

The numbers are large and can any lapse in security can result into major revenue losses or brands going out of business. The risks of relaxed security practices are real, immediate, and very costly. This puts application and technology leaders under pressure to implement security practices and scale them for enterprise-wide adoption. This blog post will cover three major challenges in adopting and scaling DevSecOps and how to overcome those challenges during the shift to DevSecOps.

Challenges at Scale

1. Security at the pace of Development – With DevOps, development cycles have reduced, and features are released frequently for delivering customer-value. With the traditional waterfall releases, security was considered late in the cycle. But with the rise of breaches and speed of releases, security needs to match the pace of development.

Speed is the core tenet of DevSecOps, and Automation is the way to achieve it. In Continuous Integration/Continuous Deployment (CI-CD) environment, the speed of pushing code matters above all. For this, organizations have to make security part of the CI-CD flow. CI-CD pipelines must include the automation of all security tests and integration of static application security testing (SAST) on nightly builds. Teams can customize SAST scans to scan the high-priority code changes to keep up with the daily code changes. Also, teams must include dynamic application security testing (DAST) into development lifecycle. Automation of security testing in the software development decreases the chances of pushing bad code in the production.

The second thing is to manage automating security processes for open-source vulnerabilities. As per a security audit report, 84% of breaches occur on the application layer. And, open source components comprise 60-80% of the code base, this makes managing open-source vulnerabilities crucial for DevSecOps teams.

Teams can avoid open-source vulnerabilities with structured open source adoption process. An open-source policy with detailed steps with approved licenses to use and vendors to adopt will help developers. Automated open-source code approval workflow will eliminate the chances of potential security vulnerability. Using right open-source vulnerabilities aggregators help in final build analysis before it gets pushed into production.

2. Shifting security left in the SDLC – Security principles apply to overall organization and not just to security engineering teams. Organizations must adopt it as a shared responsibility.

Shifting security left means considering security in the DevOps pipeline to ensure faster resolution of issues. Before you build the DevSecOps pipeline, conducting a threat risk analysis to determine the type and level of threats, impact of an attacker gaining highest privileges on the application/system running the application, determining the type of data that the application stores is one of the most important considerations. So how does it look like in practice?

Product Owners must decompose higher-level user stories into specific features with security requirements and tasks. Developers to follow The Open Web Application Security Project (OWASP) security principles. The comprehensive list of OWASP principles reduces the chances of breaches and cyber-attacks. Mature teams can use STRIDE/DREAS threat risk modelling ways to come up with ways of defending potential ways of cyber-threats. IT Managers play an important role in application security from an operations perspective of assessing current and future technology architecture for vulnerabilities, weaknesses for updates and improvements. Security engineering teams must focus on overall architecture and development for security-first design, code hygiene, security test integrations and configuration.

3. Managing False Positives –Managing false positives is a trifold problem and there’s no defined approach of tackling them. Identifying false positives, pin-pointing individual false positive and scaling the process throughout the enterprise. This takes a lot of time for limited number of security engineers working for all the applications.

False positives come in large numbers; even large-sized teams face difficulty in managing them. Security engineering teams must address false positives for highly critical applications impacting customer experience. For optimal management of false positives, narrow the base rules in the tool sets, and identify patterns with fixed and new set rules. This will help teams in identifying which rule is giving more false positives and find out the right combination to minimize false positives.

Teams must adopt multi-tool approach to look at the number of false positives generated by them. Because every tool has its own technique of determining false positive such as signature patterns, behavioural detections, etc. Multi-tool approach helps in detecting individual false negatives that gets buried in the noise of false positives. Scaling management of false positives to an enterprise-level will take time. As teams become familiar with the application, they can create new rules to reduce the number of false positives and might end up with minimum false positives.

Conclusion

Organizations must understand the importance of adopting security practices for convenient and personalized experiences, they are curating for customers. C-suite must champion the culture of tighter communication between security engineering and development teams to drive security requirements in DevOps processes. Enable development teams with skills and tools to develop automated deployment pipeline with tight security checkpoints and robust feedback loop. Invest in new tools and technologies to create combination of multiple tools that can assess all the aspects of application. Contact us to improve cyber security practices throughout the enterprise.

Adapting the CI-CD Methodology to Your Organization

Every Organization today is embarking on a DevOps Initiative to accelerate delivery of Business value by IT. However, 75% of such initiatives are reported as ‘failed’ or ‘not as successful as expected’, by a recent report from Gartner. Our experience over multiple engagements enabling DevOps for large organizations showed us that teams are trying to adapt DevOps too fast too soon.

Building an all-inclusive delivery pipeline is most likely to fail if it is done all by ourselves at gunpoint. It needs a strategic approach of learning, adoption, and implementation.

Multiple Organization change models exist that use proven principles and strategies to bring in sustainable change. While the nomenclature differs in those models, the underlying principles can be distilled into 3 steps. In this article, we use an ancient Japanese martial art training concept called Shu-Ha-Ri, helps novices progress from basics to mastery and finally innovation.

In this article, we take a deeper dive into how this model can help organizations introduce change, especially to IT teams who are born skeptics!

SHU (Imitation): A survey done by a popular cloud management platform says 78% of the organizations fail to get DevOps right. The reasons are distinct from culture to uncertainty of technology adoption to unplanned workloads. Setting unrealistic goals weighs down the enthusiasm of talents. Most of the senior practitioners and a lot of leaders who’ve successfully adopted and executed CI-CD pipelines into their software production advocate ‘Do what the book says’ way to avoid pitfalls. Following the agile manifesto and mimicking the proved methodologies of DevOps adoption will trim down the chances of failure and provides a springboard to the contributing teams to understand the basics, get comfortable with the transition and innovate as its needed.

There was a time where HP LaserJet Firmware Group was doing only 2 releases per year and majority of the developer’s time was being spent on importing existing firmware into products. As a result, though they had about 700 developers across the globe, they hardly had any time to write any new features. That is when they’ve decided to follow Toyota’s ‘stop the line’ culture to improve quality, eliminated code branching and stepped into testing automation. Their commits per day have increased from 1 to 100+ and their percentage of time spent on writing new features have improved from 5% to 40%.

HA (Assimilation): This is the stage where nascent teams break shells and become proficient. The prime drivers of transformation of the enterprises shall observe the results of the aforementioned practices, turn those outcomes into insights which shall help them to move beyond the repetitive exercises. The leaders must encourage their practitioners to break the rules and start experimenting. This rehearsal shall shape the values and principles that may drive the forthcoming operations. This will be the perfect time to introduce tailored Quality Engineering practices.

While new-age FinTech companies are disrupting the traditional banking services, Lloyds Banking Group (whose history dates back to 1765) came out of its comfort zone and proved no company is too old to implement and develop its own DevOps model. They managed to bring new applications into market that comply with government regulations. They claimed to ‘Remove waste from the processes’, stabilized testing environments, automated repetitive tasks and even brought in 3rd party DevOps tools to strengthen their CI-CD pipeline.

RI (Innovation): Although following the safe methodologies and leveraging third-party solutions is working out just fine to support the Continuous Delivery efforts, no one wants to be a mechanistic grease monkey in a world where progression happens only with innovation. That’s the cue to bring in what Martin Fowler calls it a ‘Pragmatic Scrum’ which adapts to the styles and situations of individual teams and contributors, then culminates in true Agility in approaching projects, challenges, and the process itself. By the time teams reach this phase, they should be guardedly optimistic, contain home-grown talents, timely innovate, co-create the process, and accomplish their own rules.

There are many businesses who managed to build top-notch CI-CD pipelines, yet Netflix is a story worth saying again. The world’s largest video streaming company had struggled with Digital Transformation, followed the book of SAFe, tried what their contemporaries are doing, learnt lessons from their results, borrowed technologies, built their own and constantly bettering them with every chance they get. Post cloud migration, when Quantity was challenged by Quality, they’ve decided to build an army to interrupt random instances with no warning only to improve their reliability, security, resiliency and recoverability. That bold move shook the IT world and now many other companies are using the open source Simian Army to improve the quality of CI-CD pipeline.

One step at a time

Its never too late to take a step towards quicker time to market, efficient data utilization, faster operational procedure, better customer experience, and ultimately strengthening the business to be more sustainable. But as they say, one step at a time! The key is to listen to your customer and act accordingly. The leaders must nurture a test-and-learn culture to consistently optimize services and adopt Agile processes to focus on rapid prototyping and quick release cycles.

Still have questions about what can be the right strategy to bring in CI-CD into your IT? Our DevOps experts can tailor-made a strategy for you.

Hard Won Lessons in Digital Transformation

One of the key actions we do regularly with each of our customers and internally is to conduct Retrospectives – to critically understand the original problem, target solution and the journey so far. These retrospectives help us do course corrections and sometimes, even shelve the original plan!

In this article, we present you with a few key lessons distilled from our Retrospectives and experiences, in the hope that these will help in your Digital Transformation plans.

Culture is the key element of Digital Transformation and Leaders own it

Although this phrase is overused, but the meaning holds relevance. You revamp technology stack, adopt DevOps tools and technologies, improve your delivery practices, but the needle doesn’t seem to move! That’s because underneath all of the hype, your teams don’t change their fundamental habits and ways of working. You can’t expect to hold a townhall, walk through a presentation and expect the organization to shift.

Changing the culture is hard, but leaders need to show the way every day – by constantly talking to the teams, understand their challenges, provide trainings and investments, changing the performance and incentive structures and most importantly showing why the change is important for the organization and how it benefits them too!

In one case, we helped the client appoint a Chief Digital Officer (CDO) to drive the enterprise-wide Digital Transformations.

In short, Culture emerges as the most important part of Digital Transformation journey, while digital winners approach culture with creating sub-units or identifying change agents to drive culture transformation, laggards leave it with the mails – ‘We are on a Digital Journey’.

I came to see, in my time at IBM, that culture isn’t just one aspect of the game, it is the game. In the end, an organization is nothing more than the collective capacity of its people to create value.

Gerstner, Jr., Former CEO of IBM
IT Strategy = Business Strategy

The old generation IT was as a cost-centre, especially in industries where core business is not IT. These opinions were busted when the new generation IT gave rise to business models such as Netflix, Amazon, Uber. Digital native companies are already well-equipped with digital capabilities and technologies. To compete with them, non-digital organizations must integrate new-generation IT and technologies with their legacy systems.

Increasingly, even the non-IT Enterprises have adopted a vision of “IT as the Platform for Delivering our Capabilities”. To achieve this vision, organizations are investing in IT in a big way in the following areas:

  • Cloud-Native Applications for rapid Development, release and easy maintenance
  • Increasing adoption of DevOps, Automation and Agile
  • Modernizing legacy systems
  • Piloting use cases of AI, Blockchain, IoT

One of our Star client’s business model is to digitalize orthodontist industry with 3D printing and Digital Manufacturing using cutting edge software impressed us. In their initial conversations with us, they briefed us how their Digital Business Strategy is driving IT investments. Their ground-breaking tele-dentistry platform and vertically integrated, direct-to-consumer business model provides affordable, convenient and premium dentistry experience. Their rapid expansion in terms of geographic presence and revenue growth meant that they had to significantly upscale their IT Application Delivery and Operations process.

We helped in establishing a DevOps based Enterprise Delivery Pipeline that included Product Management, Engineering staff, Infrastructure and Operations teams. The Engineering transformation accelerated the pace at which IT could bring new markets online, resulting in a significant upsurge in Revenue.

An IT Strategy that truly aligns with Business Strategy and Goals can act as a significant force multiplier for the Business!

Measure and Adapt

In a third company, we were pleasantly surprised to see the DevOps tools and advanced CI/CD practices our client, a premier global valuation and corporate finance advisor was using. However, the leadership was not seeing direct benefits of the improvements. A quick Assessment showed that they did not have right metrics and data to demonstrate success and find issues in the pipeline. As a result, they continued with some practices that were not helping them, such as running every build through a Security Analysis product which did not provide the right results and slowed down the entire pipeline.

A comprehensive Measurement Program was designed using Business Metrics as the starting point and deriving Engineering/Operational metrics from it. The metrics were designed to measure system performance and not individual performance. A Lifecycle Intelligence Dashboard was built to get visibility into the metrics captured on an hourly basis. Feedback loops were built into the process through this Dashboard that the team could drill down to find and resolve bottlenecks.

When a measure becomes a target, it ceases to be a good measure

Automate, Automate, Automate

Another Client of ours was struggling with low morale, lengthy times to get things done, broken manual processes and reliance on a few superheroes. Out of these, the biggest Technical debt was in Automating Testing. Their software had hundreds of combinations for each workflow, so manual testing was getting to the point of being unmanageable and expensive.

We introduced a tried-and-tested QA Automation Framework that quickly helps clients achieve incremental benefits of DevOps with Advanced Automation and improving customer interaction by improving existing digital touch points or creating new ones. We augmented our Automation framework with our AI bot to quickly identify areas of change, tests that were really required and generate necessary test data. Test Environments were containerized with different configurations and tests were run in parallel, sometimes using hundreds of test agents running in parallel.

DevOps requires Continuous testing to augment Continuous Planning, Continuous Development and Continuous Integration.

Transformation is not a destination, it is a journey

An industry player in Loyalty Management Solutions turned to us for help in Digital Transformation of their Loyalty Management Platform to improve the user-experience and simplify development and customization of the platform. The engagement is a good example of how Digital Transformation is an ongoing process.

When we asked one of our clients in Loyalty Management Business “What single word best describes the business landscape in your industry?” We got a single word response: Evolving and Transforming. We drove a matrix ranking their solution to the counterparts and explained as they are evolving and transforming their platform, competitors are doing the same.

We started the discovery phase to outline the solution for the client. We started with business objectives of providing superior User Experience with Self-Service portal and introducing Loyalty-As-A-Service (LaaS) as a key feature. For achieving these business objectives, we recommended embracing CI/CD and API-first approaches to product deployments. But, as we explored more solutions in the industry, we found competitors are offering Advanced Analytics, AI, Gamification and Big Data solutions in the product.

We learned that organizations cannot reach the goal of the Digital Transformation as there are new features/solutions emerging in the market challenging the status quo of the existing ones. Once an organization feel it has completed the first phase of Digital Transformation, it’s the time to look at the internal processes, competitive landscape, customer expectations and refine the processes to make them more efficient.

Organizations must continuously evolve their offerings and services for competing in the digital world. A Customer-Experience focused strategy, right technology partner and exploring continuum of the latest technologies is the way to evolve current digital capabilities. The goal post of Digital Transformation keeps on shifting with the rapidly evolving expectations of digital customers.

Conclusion –

Digital Transformation needs a combination of Leadership, Cultural Changes, a motivated workforce and Technology excellence to succeed. In this article, we have tried to tell some of our stories about our experiences.

If you have your stories to share or you want to create new stories with us, we are here to listen. Contact us and we can co-create success for you.

Test Automation in the age of microservices – Strategies and Challenges

Microservices have been gaining traction across industries and are poised to see a stronger adoption rate in the years to come. Across sectors, many companies are aiming to achieve better enterprise agility and bring in a system more efficient than the traditional monolithic architecture. With organizations such as Amazon, Apple, Google, and Netflix scaling their microservices, the acceptance and implementation of it has grown and has compelled other players to emulate the model.

As companies look to decouple domain-level problems, API gateways see strong adoption across sectors. An API Gateway is a reverse proxy that exposes microservices as APIs. As the name implies, it acts as a “gatekeeper” between clients and microservices. Typical features of an API Gateway include the ability to authenticate requests, enforce security policies, load balance between backend services and throttle them if necessary.

While it may seem like a perfect answer to do away with monolithic systems, IT solutions need to be more modular and independent. As a result, microservices will need to co-exist with the traditional architectures and interact with the existing processes. Moreover, it will also need to be in sync with compliance imperatives for best results. To simply put, with organizations having numerous other architectural patterns already deployed, doing away with the traditional system completely may lead to a new set of challenges. In order to tame the complexities and manage the speed and flexibility of microservices, the API strategy makes for the best solution.

Test Automation in microservices and its challenges

With microservices becoming a critical part of Enterprise Architects, applications implementing them will need to be tested to ensure that the services are fully functional and are orchestrated as per business requirements.

As per the “Automation Testing Market by Technology, Testing Type, Service, Endpoint Interface and Region – Global Forecast to 2023” report published in 2018, the global automation testing market size is expected to grow from USD 8.52 billion in 2018 to USD 19.27 billion by 2023, at CAGR of 17.7% during the forecast period.

The increasing adoption of mobile devices and technologies, increasing adoption of the DevOps methodology, and transforming testing by digital transformation, are some of the factors driving the automation testing market. Moreover, manual tests are time-consuming and not full-proof. With most teams favoring automated tests in a CI-CD pipeline, the Test Strategy must use an Automation-first approach. However, microservices bring certain unique challenges to the Testing team – we articulate some of them from our real-life experiences:

Skilled resources: The primary challenge for automation testing is the lack of skilled resource. Most organizations struggle to set up QA teams that have the right skills to write automation scripts. The test automation frameworks that enterprises employ require testers with the skills to compose test scripts using various scripting languages and frameworks.

Tracing the problem: Automated tests are tools that are used to identify errors. Being able to trace back the to where the applications business logic failed is a mammoth task. using behavior-driven development could be a possible solution to refer to business-readable language that tells the business which requirement the automated script is testing.

Scaling test environments: QA teams usually don’t keep into consideration, the possibility of scalability issues while introducing test automation. The challenge arises when the need to rapidly make provision for the differing test environments that automated testing requires, scale them up, run the tests, tear them down, and do it all again just as fast if you’re not testing in the cloud. On premises, teams typically have a limited number of environments they can use, which means fewer tests they can deploy at any given time. As a result, testing takes much longer.

Too many UI tests: CSS and XPath locations in the UI change often. If QA teams target attributes like these in automated tests, it can lead to false positives and continued maintenance when the changes weaken or break the tests. Hence, the bottom-up strategy is vital that demands a unit level testing of APIs, which makes the testing more consistent.

Lack of transparency: Test automation can lack visibility when different teams are using different, disconnected automation strategies. For teams that work remotely, using different test automation frameworks, getting insights on the total testing quality can become challenging.

Adapting to the culture shifting: Adopting test automation requires a culture shift, an evolution of behavior and thinking. Often, team members and stakeholders look at throwing tools at a problem, which doesn’t fix the underlying mindset.

Strategies for successful test automation

These were just a list of some challenges that come in the way of a successful test automation of microservices. But to be able to overcome the challenges and to ensure that the results meet expectation, the most recommended is Mike Cohn’s Testing Pyramid, which takes a bottom-up approach for a quantitative analysis of how much automation effort is required at each stage of the testing lifecycle.

GU TESTS 2@2x-8

Let’s look at some approaches for how to approach automated testing.

Unit Testing: This is an internal testing service and is the largest in number and size. It is also the fastest and cheapest to automate.

Component Testing: Contract testing should treat each service as a black box and all the services must be called independently and their responses must be verified. When assured of the results, the longevity of the accuracy increases, also making way for seamless new additions to the existing systems.

Integration Testing: It is a must to perform verification of all independently tested services. Service calls must be made with integration to external services, including error and success cases. Integration testing ensures that the system is working seamlessly and that the dependencies between the services are as expected.

End-To-End Testing/API Testing: As the name suggests, end-to-end testing verifies that the entire process flows work correctly, including all service and database integration.

Additionally, there are several non-functional tests that requires equal attention. While functional testing helps in ensuring smooth performance of all the major functions, nonfunctional testing helps in assuring the reliability and security of the application.

Performance Testing: This not only evaluates the performance of the software, but it also ensures that the response time aligns with the desired time. Performance testing is carried out as a part of integration testing as well.

Load Testing: Load testing is carried out to check whether the system can sustain the pressure or load of many users accessing the application at a time. The production load is replicated in the test environment to get the accurate results by load testing.

Stress Testing: Stress testing is conducted to push the application beyond its capabilities to observe how it reacts. Contrary to load testing where maximum capacity of load is generated, stress testing is conducted where the load which is generated is more than the application can manage.

Improvement in software architecture has led to fundamental changes in the way applications are designed and tested. Teams working on testing applications need to constantly educate themselves and stay informed on the latest tools and strategies. Here are the most popular test automation tools that teams across organizations are using to get best results.

Hoverfly: Simulate API latency and failures.

Vagrant: Build and maintain portable virtual software development environments.

Pact: Frameworks consumer-driven contracts testing.

Apiary: An API documentation tool.

API Blueprint: Design and prototype APIs.

Swagger: Design and prototype APIs.

While there is a gamut of tools to choose from, there is no single-stop solution for automated testing. Testers must evaluate all the available options to make sure that the tool in consideration meets all the criteria for testing. Microservices are the next big thing in the IT solutions’ market but to be able to adopt the technology and implement the changes is more challenging than it appears to the naked eye. A skilled team equipped with the right tools is critical to ensure that a complex system architecture built on microservices can deliver the functionality, scalability and performance that business needs.

Make your smart contracts really smart – A look at building intelligent smart contracts
Smart-Contract@2x-100 (1)

Smart Contracts are one of the most popular applications of Blockchain technology. As Wikipedia says, a smart contract is a computer protocol intended to facilitate, verify, or enforce the negotiation or performance of a contract digitally. Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible.

Smart Contracts are nothing sort of Smart as they are just pieces of code incorporating business logic and rule-engine to execute them. In this article we will explore what are the limitations in adoption of Smart Contracts and how AI can bridge the gap to make the adoption faster.

Before moving further, let us have a common understanding on how Smart Contracts work?

How Smart Contracts work

Let’s take an example of implementing Smart Contracts for the supply chain. Logistics and freight solutions involve a lot of paper-based contracts–there are high chances of stealing and losing them. The smart contracts can avoid this by providing secure, transparent digital version to all the parties involved–sender, receiver, intermediaries, customers, logistics partners, etc. Smart Contracts store business legalities and terms & conditions as codes.

  1. Transactions – Two parties (X-seller and Y-buyer) separated geographically want to trade some goods with each other. They involved a third party as a logistics partner to deliver the good under certain conditions of date of dispatch, date of receiving, damage/theft, if any. All these legal conditions go as the code in the Smart Contracts. The code executes the terms in pre-defined ways and doesn’t have the nuances of human languages. In simple words, If Y receives an order on the date, then initiate the transaction of XXX amount to the account XXX.
  2. Block – Once Y receives the order under the decided conditions, he triggers the transactions through Smart Contracts instead purchase orders or invoices, etc. Blockchain receives this code in an encrypted way via distributed network of ledgers.
  3. Verification – Once all the computers verify the transactions with an agreed consensus mechanism and on achieving more than 50% consensus, contract verifies the transactions.
  4. Hash – Each of this block is time stamped with a cryptographic hash and reference to previous hash, removing the chance of any manipulation or tampering.
  5. Execution – The agreed amount moves from Y’s account to X’s account.

While the process looks simple, Smart Contracts are tough to implement and still in an infancy state. As they are still maturing, they come with potential disadvantages of security breaches, execution flaws, immature coding practices and language. The lack of international regulations on smart contracts further leave the parties at a possibility of running into legal disputes.

Smart Contracts Adoption
Are they ready for adoption in highly distributed and large-scale organizations?

While some theories suggest that they are ready for enterprise-wide adoption and will achieve maturity with more organized efforts towards it, some negate adopting them. The very first challenge of adopting Smart Contracts for enterprise level is limited manpower available for coding and managing them. Enterprises need all-inclusive engineering capabilities to code, manage, secure and test Smart Contracts for developing secure solution. This requires heavy investment in hiring engineers with right skills and proficient in languages like Solidity (one of the widely used Smart Contracts language).

The second area of concern is security in form of end-point vulnerabilities, public and private key security and vendor risks associated with Blockchain. Experts believe that Smart Contracts are the most vulnerable points for security breaches, cyberattacks and technology failures. Organizations have to implement adequate testing measures to prepare for these risks before implementing Smart Contracts.

The Evolution of ‘Testing’

Over the last few decades, the art and craft of Software Development have followed the Darwinian principles of Evolution. From being an activity to ‘check if the software works’, to ‘find out when it doesn’t work’ to the current thinking of ‘anticipate failures and prevent them’, Testing has grown in importance within the lifecycle of software application development. Testers are no longer people who simply click buttons on a screen, but write frameworks, test scaffolds, code automated tasks, setup and manage environments and do everything that is traditionally associated with Developers and Technical staff.

Quality Engineering is the new mantra, where QA teams work side-by-side with developers in the trenches, engineering quality into the product from the start, preventing many defects from occurring and being detected. If you would like to move to this level of maturity, get in touch with us and we’ll set up some time for you with our experts to see how we can help you.