Mohamed will be presenting the following session
  • Mohamed Yusuf

    Mohamed Yusuf / Bhargav Murarisetty - Continuous Monitoring Combined with Continuous Testing in Agile/DevOps delivery models

    20 Mins
    Experience Report

    We are aware of the continuous monitoring of various data intensive systems and services across cloud platforms and on-premise settings. However, when it comes to continuous monitoring in alignment with continuous testing of visually heavy live streaming applications, we are left with the fewer options especially in the open source space.

    In an attempt to address the challenges around these areas, we've had to build ImageVision for detecting various types of visual anomalies for the sensor and time-series based live streaming applications. In the context of Agile and DevOps centric delivery models, the purpose and premise of ImageVision gains significance.

    Code based conventional open-source automation tools are not sufficient to address the deeper 
    challenges of modern hi-tech digital transformation systems that include, but not limited to Edge, cloud and container computing and plenty of visual plotting of sensor data streaming in real-time among others.

    Based on my research and exploration, I observed that it's unlikely to find even off-the-shelf commercial tools to address the complex automation requirements of detection of visual anomalies in real-time plotting of sensor data streaming that I've addressed in my projects with ImageVision.

    Also, the open source automation tools can be better complemented and extended with the integration of visual automation tool like ImageVision to add more flexibility and versatility.

    ImageVision is a multi-purpose in-house visual automation tool. It's not meant for replacement of code based automation tools, but it's definitely extending and complementing greatly the traditional code based automation approaches. Even it has proved to be an absolute mandatory in fulfilling the needs of extremely complex visual anomaly detection scenarios and also in many of the complex and tricky UI interactions where the code based automation approaches have been failing to meet the expectations disgracefully.

    Listed below various purposes and the features of the tool.

    1. Detect various types of anomalies in visual plotting of stream of  sensor  data points in real time in a fast paced agile delivery model, which otherwise would be impossible to detect.
    2. Continuous testing combined with continuous monitoring for tracking anomalies in dev/test/staging envs.
    3. Perform any type of complex automation interactions as if a real human user would do within the visual plotting regions/widgets or on any part of the target region of the screen/image
    4. Capture any web element as an image for further automation actions
    5. Compare sets of baseline and runtime images with each other using sophisticated computer vision algorithms
    6. Plenty of configurations that offer degrees of flexibility to apply the algorithms as a group or individually and in any order of applying them
    7. Potentially offering UI and platform agnostic E2E visual automation capabilities
    8. Apply image processing techniques on the basis of configurations including ignoring certain regions of images during grab and compare operations
    9.  Comprising three core modules : Image Grab, Image Compare, and Image Interact. Image Interact module is internally      named Actionize
    10. Currently, addressing three major anomalous conditions in real time mode: I. data gap in the plotting of data or no plotting for certain amount of time or no plotting continuously or intermittently, II. occurrence of hang issue in the plotting - again continuously or intermittently, III. occurrence of visually flickering effect in the plotting
    11. Pretty easy to integrate and use within automation test flows - just one single API call with configurations would carry out all the required tasks and actions
    12. Modules can either be run independently or as a sequence of dependent chain based on the tasks or workflows
    13. Json format reports each for image grab, compare, interactions, and each anomalous condition
    14. The user API set or TDK(Test Development Kit) that invokes the backend engine has been built with TypeScript and JavaScript. A group of backend engines each for unique purpose that carry out the actual tasks and actions has been built with python and computer vision libraries
1. What got you started/interested in modern software development methods?

1. Test Driven Development

2. The authentic and the evolving spirit of the flavors and combinations of Agile and DevOps

3. Rapid prototyping

2. What do you think is the biggest challenge faced by the software product engineering community today?

1. Fast evolving markets and business models and accordingly keeping pace with customers' pain points

2. Product-market fit

3. Product engineering centered around hardware/firmware

4. Managing between profitability, innovation, and customer success and experience

5. Scalability, performance and usability across the end-to-end spectrum of product systems

3. What do you think are the most exciting developments in software product engineering today?

1. Cloud-driven products and platforms,

2. Rightly-curated continuous delivery and deployment pipelines with kubernetes clusters,

3. The power and the numerous use cases of edge/IoT/sensor based live streaming product space for various verticals,

4. The derivatives of AI and associated analytics in various phases of product engineering and in product and operations monitoring

4. Why did you choose the topic(s) you will be speaking about at the conference?

My ambition to accelerate quality in quality engineering space with decline in effort and time. Quality engineering aspects founded on traditional methodologies are bottlenecks in DevOps settings. It's my small attempt to  experiment, manage and remove these barriers however possible - at least a bit to begin with. 

Quality in itself is tech agnostic. Why not build a complimentary tech agnostic UI automation solution with natural human emulation in interactions that adds plenty of versatility to the existing tool stack ?

Fascinated to have a touch of AI in every possible area of my work. In this case Computer Vision techniques.

The obvious reason that almost no known tools possess the continuous monitoring capabilities  to detect and report any custom defined types of visual anomalies on live stream/time series based real time visual streaming  applications in the open source space in the context of quality engineering.

Any forms and formats that contribute to the advancements and sophistication to the quality engineering practices. 

5. What are some of the key takeaways from your session(s) at Agile India?

Excellent and rare deeper insights, thought-provoking analysis, views and contra-views of various dimensions of tech, tech platforms and models, people, processes, practices, myths, popular and unpopular beliefs, industries and markets, delivery models and value-chains by experts from various backgrounds. A pure quality content-driven event and can't miss to be part of.

6. Which sessions are you particularly looking forward to attending at Agile India this year?

My watchlist is somewhat long :):

1. Fixing the Ultimate Legacy System : You

2. Outcome-based Product Planning

3. Cloud Adoption Patterns

4. 50 Shades of retrospective - Your guide to continuous improvement

5. Data informed Transformation: Improving Performance of Agile Teams using Statistical Analysis

6. Self-governing teams through SoFA (Sociocracy for All)

7. Retrospect Yourself

8. Fluid Scaling Technology: When you want to go FAST!

9. Strategy maps - a visualisation practice to connect your roadmaps to the bigger picture

10. Software Engineering Management at Scale with the Theory of Constraints

11. Predictably agile

12. Agile Data Warehousing (DW)/Business Intelligence (BI): Addressing the Hard Problems

13. If you buy it, we'll build it - combining google design sprints and pretotypes

14. Workshop: Agile Coaching Ethics – Making them real

15. Repair SAFe® while continuing operations – Theory of Constraints

16. Data Quality: the holy grail for a Data Fluent Organization

17. Speed Matters: Client Side Performance Improvement Tips & Tricks

7. Any personal remarks/message you want to share with the software community?

We've been hearing this popular statement for decades: “Software is eating the world”. Interestingly, in the recent years the more pragmatic rephrase is that software is eating the software that's eating the world.  The matrix of speed and varieties of tech innovations is keeping us in awe and constantly throwing us into the infinite deep space of the tech universe.

I think we as humans and players being part of these extremely fast-paced evolutions are at times challenged by these massive evolutions around us especially to retain, reshape and sharpen some of our fundamental human traits.

Noting that we are required to reset, refresh, restart more frequently than ever before to be able to retain the traits with sharpness and not easily overwhelmed and get lost with the unstoppable advancements. Focus on our energy, purpose and curiosity are the prominent propellants and the biggest foundational assets that can continue to work wonders in various dimensions of our tech life and life at large.