Quality is day 2 - the day that never comes

Quality has to be baked into the decision-making process from the beginning of any effort.

We often talk a good game about making sure we improve the quality of a product or process at "some time in the future" or "in the 2nd release". We hear this a lot in the crunch period at the end of a project. The date or some features trump repeatable process or quality efforts.  The next iteration is filled with "must-have features".  Day 2 turns out to always be the next release, next quarter, or never.

Baking corner cutting into the process

Some groups just own that they will produce junk and build stabilization sprints and quality increments into their process. They schedule specific periods for additional testing and QC.  I've seen this work and I've seen it become a major anti-pattern where teams get even sloppier because they know there is a quality improvement phase.

Immediate payoff vs long term success

The top line represents the early release mentality where can iterate a few times with good results before we slow down.  Debt suppression, support, and manual processes consume larger amounts of time. It is hard to justify a work stoppage or rebuild because you will push out the next couple of iterations possibly more than they would have without the quality fix.

The bottom line describes how the first release with a quality mindset can take longer than the sprint first, quality day 2 approach.  Baked in quality and automation takes longer to set up but can deliver a more repeatable shorter cycle cadence.

It usually starts with "we just need to get this done for MVP". This is followed by "we can make it better in the next iteration".  We trade off speed for quality. We trade off manual processes against automation.  This eventually turns into a lot of extra manual work while we strive for each following iteration.  

Everyone knows this is a false economy but we do it anyway.  It feels like a version of "people work to the pay plan" where quality metrics are always one of the lowest success criteria.

The addictive nature of "quality later" comes from the way you actually accelerate your deliverables for some set of releases. Then after some period of time, you end up slowing down either because of quality issues, technical debt, or because larger portions of your time are spent handling operational problems.  

Product recalls and warranty repairs creep up.  This can be hidden because repairs or support are often in a different department from the one that cuts quality corners.  You see this even with big companies when glass roofs fly off of cars or vehicles burn down the garage they are in.

I tried to come up with something witty to say about this. The whole topic just makes me sad.

Video

Created 2022 02

Comments

Popular posts from this blog

Accelerate Storage Spaces with SSDs in Windows 10 Storage Pool tiers

Java 8 development on Linux/WSL with Visual Studio Code on Windows 10

Understanding your WSL2 RAM and swap - Changing the default 50%-25%