Using AI and DevOps to streamline communications

Using AI and DevOps to streamline communications

The way in which organisations deploy enterprise technologies has undergone a shift in recent years. Today, there is a cry for more agile ways of working. But to achieve this agility, teams need to establish a communication stream that works for both the techies and non-techies, the influencers and implementers, the stakeholders and the individual. In short, the more integrated and familiar your employees are with one another, the less painful (and costly) your communication has to be.

People, then tech

Whilst digital transformation is often perceived to be technology focused, you’d be mistaken to put the onus of change wholly on your DevOps team. According to PMI’s 2018 Success in Disruptive TimesReport, 29% of failed projects mention inadequate/poor communication as the primary cause of those failures.

Part of this problem is how different departments approach work, their interest in the change and the different language they use. Then there’s the fact that many departments are so busy working towards their own goals that they lose sight of the overall needs of the business – they can’t see the forest for the trees, as it were.

Rather than throwing work over the wall for unengaged individuals to pick up, creating communication streams that encourage collaboration and demonstrate value are fundamental to delivering a successful transformation.

Take automation. If the basic challenge behind DevOps is to keep moving parts in sync to enable a fail fast, fail often approach, having a collaborative team will reduce the number of moving parts that need to be synced – simplifying the process and accelerating deployment.

The same applies for feedback loops. Software developers use a DevOps approach to quickly release apps and gather feedback on new features – and not just when applications are in production. This enables teams to have full visibility over the development of products, testing as they build and releasing more rapidly with more confidence.

How is Artificial Intelligence (AI) strengthening DevOps Programs?

One of AI’s greatest strengths is that it can flex its intelligent, data-grabbing fingers a whole lot quicker than the average Joe. Not only does this help automate the extraction of knowledge from vast amounts of data at pace, it consolidates data from multiple sources, centralising data and granting teams a way of searching data pragmatically.

It also offers a greater degree of flexibility. Take Cloud tools as an example. There are so many different pathways of how to approach Cloud / implement the appropriate tools that whilst you might feel you know the best way to approach something, there is every chance a better alternative exists. And this is where AI comes into its own. Intuitive by design, AI can collate hundreds of thousands of examples, spot anomalies in this data and then recommend best practice based on what others have done. This intelligence offers a more holistic view and gives insights far beyond your companies’ four walls.

“It’s one thing to understand what’s happening, and it’s another to decide what to do. We see people turning to AI to help optimise their decision-making as the intelligence AI provides enables businesses to have a more holistic view over the data whilst remaining specific to the problem the business is trying to solve”

 Babak Takand, ML Specialist & DevOps Consultant at ECS Digital 

How is AI helping to streamline communications?

As touched on above, communication and feedback are two of the biggest challenges when it comes to moving to a DevOps methodology. Ideally, you need to be setting up channels that can revise workflows on the fly. Automated technology, chatbots and other systems enhanced with intelligence and learning abilities, are capable of doing just that, enabling communication streams to be simplified and more proactive.

As the communication streams begin to become slicker, businesses can begin to apply more pressure on their DevOps process with the confidence that the agility and tools in place will make it go faster than humans could go on their own.

Ultimately, tools are there to help you identify problems and to add flexibility to your system. Teams trained in these tools – like ECS Digital – are then on hand to train individuals on how to use these systems and adapt them to how things operate.

For those of us knee deep in sci-fi media, the utopia would be to invert this internally, so the system adapts to how you want your tech to work automatically. In other words, if you are wanting to use a specific DevOps tools, you could voice / code what it is you want to achieve, and the AI tool will have a good enough understanding that it will identify your needs and set it up for. Failing that, it will generate a set of steps you need to take to instead.

Leading by example

At ECS Digital, we are putting our tools where our mouth is.

For the past year, as part of our R&D initiative in AI and machine learning, we have been looking at what we can extract from our own internal communications, and utilise that knowledge to enhance our internal processes by looking at popular topics, reoccurring sentiments, and monitoring issues being flagged by individuals / teams. Using various tools – from nature language processing, visualisation, sentiment analysis and traditional analytics – we have the ability to capture the data we need totake a more proactive stance when it comes to problem solving.

Whilst the data is anonymised, the picture it paints is specific to the business and most importantly, it’s honest, meaning ECS Digital has greater visibility over the business communications to help it improve.

We have also begun trialling an automatic assistant for one our clients, introducing a fully automated tool that monitors the reaction of people and maps pathways in conversation. These insights are already helping to improve the customer journey. By flagging pain points and enabling the team to rework the available conversational pathways, our client is truly leveraging the power of AI to align their offerings with what the customer expects.

How can you leverage AI to streamline your communications?

You can’t have intelligence without data, and you can’t have data without formalising how you collect that information from various input streams.

Data collection is a fundamental part of DevOps and requires creating structure around your data collection pipeline.By creating structure, you are enabling the process to be repeated again and again and again, creating the perfect environment for an AI or Machine Learning tool to read your data and generate insights.

In the words of Babak: “As part of your DevOps experience, you will have information that is being submitted left, right, and centre. How you collect this data, how you store it, how you keep it, how you look it, that is important – make your data collection process uniform”.

ECS Digital can help you formalise that structure.

With over 15 years’ experience delivering successful digital transformations, ECS Digital can help you deliver better products faster through the adoption of DevOps, agile ways of working and modern software delivery tools. Talk to the team today to find out how we can help you leverage AI to streamline your communication streams.

Want to read more? Check out our ‘Why you need to embrace AI in your software testing’ blog here.

Babak TakandUsing AI and DevOps to streamline communications
read more
Why you need to embrace AI in your software testing

Why you need to embrace AI in your software testing

Testing is changing.

Automated software testing has boosted efficiency in major businesses, reduced time to market, and positively impacted the quality of delivered product for companies who’ve embraced it. But automation was just the beginning. Now there’s another step to take: Artificial Intelligence (AI).

Integrating the power and flexibility of AI into automated testing accelerates the process, further improving delivered product. Choosing not to implement AI – in a market where competitors are almost certainly finding an edge in doing so – means a real risk of falling behind or even becoming obsolete.

Software systems are escalating in complexity. Data volumes are increasing exponentially.  Software needs to be developed in a way which cleverly accommodates future demands. These things all mean that AI will one day not be an enhancement, but a necessity in automated testing.

What is Artificial Intelligence?

AI covers a very broad range of concepts. It reaches all the way from simple reactionary systems – possible in a few lines of code – to full-fledged and hugely complex examples like driverless cars. As a general definition, an AI system will exhibit any number of behaviours that we consider intelligent. These typically include the capacity to learn, adapt to new situations, and make optimal decisions.

While there are futuristic views of AI, which present it as a self-aware entity that will render the human element obsolete, these are rather far from fruition. The pragmatic direction in which AI is developed, is as yet another tool which increases the ability, speed, accuracy and overall efficiency of the human process – A new generation of intelligent tools complements human intelligence, and makes our technology more flexible.

Many business sectors have already applied AI to their major processes to great effect. A good example is Amazon, which has completely rebuilt its business around AI systems. Some of these are the product in themselves – the Alexa assistant, for instance – while others power a back end which sells more, reduces errors, and works more efficiently. Market intelligence firm Tractica predicts that AI-influenced trading revenue will rise from $643.7 million in 2016 to $36.8 billion in 2025. AI is here, and it’s making a difference.

Machine Learning (ML) is a very promising discipline of AI which has been tried and tested in various applications within the industry, as it can be used to make predictions, detect trends and irregularities, by using statistical methods to extrapolate new information out of data, which is then used in various decision making processes.

The advancements in processing power, as well as the availability and exponential increase in the size of data, have resulted in an unprecedented increase in popularity of ML. Already a large number of data-driven companies have integrated machine learning into their business processes which can be found at the heart of retail, financial as well as social media companies.

Why test with AI?

There may be no better application for AI than in enhancing automated testing. AI-led testing can bring to light issues earlier as it analyses data as it goes – helping companies find solutions faster and reducing the burden on human testers.

Testing is never a one-time process: A set of test scenarios has to be executed at each development iteration throughout the lifecycle of any software, with the number of test scenarios increasing with each new added functionality.

Automated testing has greatly increased the effectiveness and speed of software testing, by removing the need for a human tester to repeat the exact same tests, with the added benefit of having test scenarios expressed in a consistent and formal manner. The limitations of automated testing arise from two key factors:

  • The clockwork nature of automation does not always allow sufficient flexibility to accommodate software with dynamic content and features
  • Test development often relies on the intuition and skill of the developer, and requires a good understanding of the System Under Test (SUT).

The introduction of artificial intelligence can greatly reduce the effort and complexity in analysis and implementation associated with software testing, as well as the quality of the tests by leveraging the ability of a tester to analyse a SUT.

Fuzzy logic is a technology that has found application in situations where the effectiveness of conventional types of logic is limited, and can be found at the core of many AI technologies. Its strong potential in testing is due to the ability of fuzzy logic to produce valuable results in problems riddled with uncertainty and ambiguity.

AI augmented software testing can result in improved test quality, faster delivery, and an end to clockwork testing. Most importantly this analytic and data-driven approach has the potential to change the nature of the automated software testing process altogether.

Things to consider

Like any process improvement, the benefits of AI have an allure that makes it tempting to jump in immediately. Not embracing AI means the potential of your business taking a back seat whilst you watch your competitors soar.  There’s no doubt that it’s an essential move, but it’s one that needs to be handled with care. The way AI is applied to testing processes must be systematic and intelligent in itself.

AI cannot solve every problem. Instead, it is important to discover and analyse those problems it can solve, and to understand the requirements and impact that introducing AI into your systems will have.

Rush into implementation without proper research and consideration, and you could end up investing time and money into a solution which is not appropriate for your business. Fail to invest in the proper training and documentation, and you risk your testers losing touch or using the new technology incorrectly. For AI to improve automated testing, it needs to be fully understood.

ECS Digital’s QA team has long been working with and developing AI processes to augment automated testing. Its internal AI group have also been educating staff and promoting good development practices throughout the company.

As both AI users and consultants, ECS Digital are uniquely placed to inform our clients on the right way to implement AI in their testing processes. AI doesn’t come off the shelf – it needs to be tailor made to suit you.

ECS Digital have the expertise and experience to advise exactly how integrating AI and automation can help your business and can recommend the solution that best fits your needs.

Get in touch to discuss how you can revolutionise your testing process.

Babak TakandWhy you need to embrace AI in your software testing
read more