alikhalid

About Ali Khalid

This author has not yet filled in any details.
So far Ali Khalid has created 325 blog entries.

Mobility data & COVID19

By |2020-04-03T19:46:42+05:00April 3rd, 2020|daily post|

Learn to generate, find and use data. For instance, this report from google:

https://www.google.com/covid19/mobility/

This data can be useful for a number of industries / organizations.

For governments, they can use it to find correlations between new COVID19 cases and mobility patterns across regions and to build policies to phase out lock downs slowly

Similarly for testers, having patterns of failures / issues of bugs from production & automation runs can be extremely useful to concentrate efforts on specific areas.

Case in point, data is the new currency – Generate it, find it and USE IT

#RedefiningSoftwareQuality #BigData #COVID19

Transformation and Waste

By |2020-03-29T19:26:30+05:00March 29th, 2020|daily post|

IT transformation projects might follow different models, and might have slightly different goals,

But at heart of each of them is : Eliminating WASTE.

I feel WASTE is not just a software development problem, but a challenge in everyone’s daily lives

It’s a bigger problem in software development for sure,

And hence number of practices evolved over decades to eliminate this waste.

– TQM / Lean manufacturing: Invest only on what’s required, do it right the first time (And a bunch of other stuff)
– Agile & scrum: To focus / develop what’s important
– DevOps: Develop enablers to push deployment faster
– Agile frameworks: To make organizations leaner

So if your transformation project isn’t ‘ACTUALLY’ eliminating waste, you are missing something.

#RedefiningSoftwareQuality #Agile #Lean #DevOps #EliminateWaste

Feature slicing across the tech stack

By |2020-03-28T20:06:11+05:00March 28th, 2020|daily post|

In BDD workshops I briefly talk about feature slicing. In a nutshell:

Slice features so every feature should be deployable independently.

For this to happen, slice you features ‘across’ the tech stack, NOT ‘along’ the tech stack. (See attached images)

This is a common mistake, and seems easier to work that way.

For instance, develop the UI first, then the back end / business logic.

The problem here, your not deploying quickly / in small chunks.

Might as well call this waterfall development, because then that’s what this becomes..

#RedefiningSoftwareQuality #Agile #FeatureSlicing #AgileTransformation

Change agents and transformation

By |2020-03-24T19:19:36+05:00March 24th, 2020|daily post|

Developing change agents in an org transformation is crucial.

Few important things to consider when doing this:

1. Competency:
Change agents should be competent / an expert in the relevant field. This might seem obvious, you’d be surprised how many times I’ve seen this being violated

2. Drive:
– It’s not uncommon to have resentment and a very pessimistic view about the change.
– Your change agents need to be positive and energetic personalities. (BTW Most people with the right motivation can cultivate this)

3. Clarity:
– The goals and vision should be clearly ‘demonstrated’ to them, not just explained in slides.
– Living, breathing, practicing management demonstrating the change gives clarity

Any kind of transformation is not easy, but if any entity does not adapt / change, will die out eventually.

#RedefiningSoftwareQuality #QualityTransformation #Transformation

Stay positive

By |2020-03-21T20:01:27+05:00March 21st, 2020|daily post|

Situation for many businesses is becoming desperate

In such times, it’s very important to stay positive:

1. Try not to feed on doom and gloom news and look on the bright side
2. All of us might have things we have been putting off to do, which can be done now
3. Be compassionate to others. It’s a stressful time for all

This will end eventually and things will get back to normal.

Tough times don’t last, but tough teams do…

Avoid taking decisions which will impact you far after things go back to normal !

Importance of computing basics

By |2020-03-19T19:20:41+05:00March 19th, 2020|daily post|

While teaching a Java class yesterday I realized something:

Years ago, we didn’t have a lot of platforms to help develop code quickly.

People learning to code back then had to understand fundamental concepts in detail to develop an application

As things have advanced, platforms have emerged which a lot of heavy lifting for you.

That makes writing code quick and easy, however I feel students then lack fundamental concepts

This creates challenges when they have to debug programs

Some programming concepts might not seem like important to write code, but help a lot with developing and debugging programs.

#RedefiningSoftwareQuality #Automation #Training #LearningToCode

BDD Workshop main points

By |2020-03-18T19:11:50+05:00March 18th, 2020|daily post|

BDD workshop is the first course in the automation training I put together,

Here are few of the important points I try to drum in:

1. BDD is NOT just cucumber. I always ask how many people know cucumber, depending I spend time on them ‘unlearning’ that first.

2. How come people end up having different understanding of what is to be implemented

3. How does the three-amigo session help bridge this gap

4. How to do example mapping and difference between rules and examples

5. A quick brief on feature slicing

6. The best way to specify something is to describe how to test it

We do a few group exercises to instill the message across the 2.5 – 3 hour workshop, these are just some of the points.

#RedefiningSoftwareQuality #BehaviorDrivenDevelopment #BDD #Testing

OnlineTestConf 2019 – Big data & how to test it

By |2020-03-14T01:16:27+05:00March 14th, 2020|Uncategorized|

The subject of Big data fascinates people and businesses. While this might be just a buzz word, big data is immensely helpful to unearth important information and in the 21st century, information is power.

In this post, I’ll summarize my talk at the OnlineTestConf2019 titled “Why we call it big data and how to test it”. The talk was also recorded and can be watched on YouTube here.

An intro to big data

I start with talking about little bit history of Big data and what factors fueled growth and innovation in this industry.
Next we put ‘Big’ into perspective to help in understand the sheer size of data and the challenge it poses to process it.

Defining Big data

When would a project classify as big data? Is it only the size of data? This slide explains the different ways we tried to classify it and the most common method used.

The Hadoop platform

Hadoop is the most widely used big data platform which is also open source. I talk about it’s widely used MapReduce process and different products within like HDFS, HBase and HiveQL.

The Data Pipeline

All we are doing in a big data project is collect data from different sources, hash it up into meaningful big tables and generate insights from it. There are three main phases you might have in a big data project.

Testing stages

At the end we quickly skim through the different type of tests we perform across the pipeline. At each stage, depending on the type of activities being performed, the type of tests will be different.

Due to lack of time I couldn’t go into details of the Quality Dimensions and sample tests of these dimensions across the pipeline. My talk at the AutomationGuild 2020 explains that in more detail.

Summary

Katjya did a very good sketch summarizing the talk she mentioned in her tweet.

Transformation starts at the top

By |2020-03-09T20:07:41+05:00March 9th, 2020|daily post|

‘Sometimes we are the problem, and need to change ourselves’ – This should be the corner stone of every transformation

Transformation projects usually are more focused around technology and ways of working

While that’s important, the willingness to change, especially at the management layer is vital

Black death of childbed case in point, for decades doctors refused they were the cause of deaths and kept on looking for other reasons (more in linked video)

Transformation starts at the top, and results will trickle down.

Will be speaking about IT transformation at #AgileTestingDays-US in June

#RedefiningSoftwareQuality #Transformation #Leadership

BDD Workshop Main Points

By |2020-03-03T20:25:04+05:00March 3rd, 2020|daily post|

Few important things I stressed on while delivering a BDD / Three Amigo session workshop today:

Cycle of BDD
1. Collaboration to clarify system behavior
2. Formulation of behavior in business terminology
3. AT THE END, Automate documented behavior – WHERE POSSIBLE!

BDD != Cucumber !!

Write stories in the format: As a if I do , I should see

Slice your stories vertically, each story should have an action and corresponding behavior

Write stories, rules & examples clearly, so someone can understand it even 6 months later

#RSQ #BDD #ThreeAmigoSession #Agile #TestAutomation