daily post

Delivering quickly & definition of done

By |2020-04-14T19:18:12+05:00April 14th, 2020|daily post|

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:

Top 3 KPIs for software development

By |2020-04-13T19:24:28+05:00April 13th, 2020|daily post|

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

Learn to speak and listen

By |2020-04-12T19:58:28+05:00April 12th, 2020|daily post|

Some wisdom I learned about being an effective communicator:

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


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

Assessments and interviews

By |2020-04-07T21:10:08+05:00April 8th, 2020|daily post|

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???)

Automation training & risk based testing

By |2020-04-05T20:26:58+05:00April 5th, 2020|daily post|

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

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:


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 !