Daily Posts2018-05-15T15:19:35+05:00
1404, 2020

Delivering quickly & definition of done

By |April 14th, 2020|

Releasing quickly and with less toil / effort allows you to:

1. Get feedback from customers quickly

2. Improves your product quality

3. Helps you earn more money, fast..

To start on this ‘cultural’ change, include all the right things in your DoD – Definition of Done.

And this should be the effect:

1304, 2020

Top 3 KPIs for software development

By |April 13th, 2020|

The ultimate KPIs for software development?

Here are the top 3 I feel are important:

1. Defects from production – Severity and quantity.
– This should be the end goal that should matter.
– Most of the other quality KPIs like automation coverage % etc. are not the end goal,
– They are how good you are following ‘a process’, which may or may not achieve in the ultimate goal.

2. Mean bug identification time
– Average time taken to report bugs after code commit.
– This does not mean just JIRA tickets raised as bugs, automation results showing failures giving feedback too are included.
– This will capture how quickly we are giving feedback on code changes, which is a significant part of driving costs down.

3. Release cadence
– How quickly do we release a feature, starting from conceptualization till deployment into production.
– This should include all the lead time across all processes.
– The company that masters to speed this process will win, since they can adapt and change quickly looking at how customers respond.

There can be many other KPIs, I personally want to care about only these 3.

#RedefiningSoftwreQuality #DevOps #KPI #Automation

1204, 2020

Learn to speak and listen

By |April 12th, 2020|

Some wisdom I learned about being an effective communicator:

Speak in such a way that others love to listen to you.

And

Listen in such a way that others love to speak to you.

Learning to speak is relatively easy. Learning to listen well is harder, and is more important.

In case your wondering, vital skill for improving your product quality..

#RedefiningSoftwareQuality #Communication #Collaboration

804, 2020

Assessments and interviews

By |April 8th, 2020|

Assessing skills of individuals is required. Be it academics, interviews, courses / certifications and so on.

IMHO most assessments are not optimally designed which creates a lot of problems…

My biggest issue: assessments are designed not based on what is practically done on a day to day basis, instead on theoretical, trick questions which are far from practical application.

Most of the time, that’s because perhaps these theory-based ones are easy to design and ensure you’ve ‘read’ the text.

I don’t endorse this even for academics, but in interviews especially I think these are just nonsense.

Judge the person on what practical value they will bring, or value they have delivered before.

Oh, BTW, I add test like ‘codility’ in this category too (when was the last time you needed to solve O(N Log N) for work???)

504, 2020

Automation training & risk based testing

By |April 5th, 2020|

In an automation training program I put together, introduced folks to learn about risk based testing.

While there is a lot that can be said about it, here are two main types of risk assessments:

Inside out risks:

– Look at how different components across your tech stack interact with each other

– Walk through the control structure (#STPA could be good tool) and highlight risks

Outside in risks:

– How your customer sees your application, from the outside in, the behavior of the application

– This is what usually testers are more focused on

It’s important for automation engineers to be good testers first, and therefore practice ‘testing well’

I am also perturbed when testers are unwilling to do ‘inside out’ risk assessment, IMHO mostly that’s due to lack of willingness to get into technical details.

Reference links in comments

#RSQ #Testing #RiskBasedTesting #RBT

Risk based testing: https://www.satisfice.com/download/heuristic-risk-based-software-testing

STPA: http://psas.scripts.mit.edu/home/wp-content/uploads/2014/03/Systems-Theoretic-Process-Analysis-STPA-v9-v2-san.pdf

304, 2020

Mobility data & COVID19

By |April 3rd, 2020|

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

2903, 2020

Transformation and Waste

By |March 29th, 2020|

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

2803, 2020

Feature slicing across the tech stack

By |March 28th, 2020|

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

2403, 2020

Change agents and transformation

By |March 24th, 2020|

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

2103, 2020

Stay positive

By |March 21st, 2020|

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 !

1903, 2020

Importance of computing basics

By |March 19th, 2020|

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

1803, 2020

BDD Workshop main points

By |March 18th, 2020|

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

903, 2020

Transformation starts at the top

By |March 9th, 2020|

‘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

303, 2020

BDD Workshop Main Points

By |March 3rd, 2020|

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

2902, 2020

Don’t shoehorn DevOps everywhere

By |February 29th, 2020|

It might seem common wisdom for every software product should be able to deliver at a daily / weekly cadence,

However the Gartern’s Pace layered application strategy would beg to differ.

Some products require a lot of experimentation and rapid adaptation according to the changing surroundings.

However for other products being precise and efficient are far more important.

And that’s in a nutshell what the PACE layered strategy talks about, and divides software products in three types:
– Systems of innovation (revolutionary product)
– System of differentiation (improved product)
– Systems of records (efficient & legacy product)

#RSQ #ProductStrategy #DevOps

2602, 2020

KPIs & Stats

By |February 26th, 2020|

Engineers usually dislike talking about KPIs and stats, you hardly see any useful ones

Managers mostly want to talk about just stats and KPIs, and feel they are all valuable..

IMHO KPIs & stats are required to take decisions based on objective data, so they are needed

However understanding that stats don’t give you the whole story is vital

To engineers I say: better you come up with a stat, or someone with no clue of what you do will come up with one

To management I say, use KPIs & stats, but do factor in qualitative measures and listen to your engineers, not everything can fit on a spreadsheet.

#RSQ #RedefiningSoftwareQuality #KPIs #Transformation

1902, 2020

API Automation Learning Path Summary

By |February 19th, 2020|

The summary of Automation learning paths I designed over the past few months.

API Learning path – Beginner level:

> Testing fundamentals
– BDD
– Risk based testing
– Test strategy fundamentals

> Programming
– Basic Java

> Technical knowledge
– How do APIs work
– JSON & XML structures
– Swagger fundamentals

> How and why of automation
– How to do automation the right way

> Automation tools
– Rest Assured
– Basic API framework

Each course has online content or a workshop designed along with assessment material.

#RSQ #Automation #Training

1302, 2020

Be ready to learn and be Hands on

By |February 13th, 2020|

If your in IT, you have to be open to learning ALL THE TIME.

Was reminded of this while developing an app in PowerApps today,

For a massive training program, was trying to figure out a more intuitive way to do registrations,

After few days of searching couldn’t find anything in-house I could use, had three options:

1) Use whatever mechanism we have even if it’s shitty, 2) wait on some one to get free and do it or 3) do it myself.

Ended up learning PowerApps and building a crude version of the app in a day

Could have easily said, we don’t have a solution, let’s just call it quits

Instead I learned something new, enjoyed it, and made others life easier to get the training

Bottom line, if your in IT, always be ready to learn and work hands on.

#QsDaily #Learning #Coding

1002, 2020

Testing synergies across the customer journey

By |February 10th, 2020|

A major lacking in large software enterprises is:

Lack of a holistic test strategy across the customer journey

Scrum teams are mostly thinking within their small box,

Worried about getting just the next story out the door, and I don’t blame them. That’s what they are judged on.

But to stitch all that together and build synergies between teams should be a prime objective of testers

The customer does not care about what happened with one story

The customer deals with the complete end product, which is a conglomerate of multiple products with many stories

Let’s not be penny wise pound foolish and ignore investing in the big picture.

#QsDaily #Testing #TestStrategy #TestingAcumen #RSQ #RedefiningSoftwareQuality

902, 2020

Designing Test Automation Training

By |February 9th, 2020|

Busy designing an automation training program, here are the six main areas:

1. Testing Acumen
2. Programming fundamentals
3. Learning the tech stack
4. Building automation enablers
5. CI / DevOps basics
6. Automation tools and framework design

Drop any of these, and you wouldn’t have people who can build useful automation practices.

I know that’s a lot to do and to prepare, but that’s just me. Mr. Perfectionist.

I want anyone that goes through the training should be self sufficient.

602, 2020

Test data for Big Data projects

By |February 6th, 2020|

Got a great question in my talk’s Q&A at the #AutomationGuild 2020 :

How to create test data for #BigData projects?

Generally there are three types of ‘test data management’ you want to focus,

1. Mocks / stubs
2. Generate synthetic test data
3. Masked production data

For big data, the most important one is masked production data.

You would also need to create synthetic data too, but will not be enough to see if the model is working properly or not

So make an effort to get masked production data to have greater confidence in your data pipeline and data models.

#QsDaily #BigData #TestData #Testing

102, 2020

Disliking long written test cases

By |February 1st, 2020|

Over the years I’ve started to dislike writing formal and long test cases

We need test cases, but written in a better way..

Traditionally we write them detailing each step along the way,

The idea was even if someone is not a domain expert can use them, or to make sure we don’t miss a step and know what exactly was tested

These monster documents become shackles: time consuming to write, a nightmare to update

Instead I prefer writing the ‘test scenario’ in brief with the most important check / validation over a full blown detailed list of steps

Also, importantly, using mind maps instead of test case management tools / documents

One does sacrifice the details this way, but makes things much quicker

Also provides a great holistic view of the many test types / scenarios

#QsDaily #Testing #TestCaseWriting #LeanThinking

3001, 2020

Automation Engineers to follow 2020

By |January 30th, 2020|

I’ve always believed living a life bigger than yourself.

Thank you Joe Colantonio ⚙️for adding me to the top 28 Test automation engineers to follow in 2020.

My vision since 2013 has been “Redefining Software Quality”

I believe testers and testing practices need to evolve considerably to deliver value to businesses

Instead of trying to shoe horn ‘our way’ of how we do things into what people do,

We should develop skills and practices that support the industry’s needs of today.

IMHO there are three values which will help us get there:

– Technological Excellence

– Testing Acumen

– Business Value

#RedefiningSoftwareQuality #RSQ #Automation #Testing #TestersGoingTechnical

2801, 2020

Three types of test data to manage

By |January 28th, 2020|

Test data management for automation is not just adding some fields in cucumber…

Test data management can include:

– Developing & using mocks for running low level tests in the pipeline

– Data creation & cleaning on the fly (more here: http://bit.ly/QS_tdc)

– Using masked production data & refresh it on a regular cadence (for exploratory / behavioral tests)

For all three, the data generation, storage and usage techniques are going to be very different.

And if you are working in a large enterprise, you most probably will need ALL THREE

P.S.

No one said automation is easy..

#QsDaily #Automation #TestData

2601, 2020

Data quality across the pipeline

By |January 26th, 2020|

Before any analytics can run on data, sometimes a number of ETL (Extract, Transform, Load) processes happen.

Data might pass through a series of data engineering / ETL processes to make it fit for purpose and categorized as needed

Quality across this process is all about ‘Data Quality.

I’ll explain the concept further and talk at length about how to check data quality in the upcoming #AutomationGuild

https://lnkd.in/fMp9Quf

#QsDaily #Automation #BigData #DataPipelines

Load More Posts