Let's bake some cookies

Iryna Suprun
2 min readFeb 8, 2022
Photo by Charles Deluvio on Unsplash

Imagine that you are managing the factory that produces cookies. The cookie boxes often have nails and hair in them, the box itself is very hard to open and often cuts customers fingers. These cookies taste horrible and are often undercooked or overcooked. There are plenty of customers complaints about cookies' quality.

You know that the recipe is bad, that factory floors are dirty, and nobody follows the baking process, moreover, each shift does its own unique thing. Staff does not wash their hands and does not wear a toque or any uniform at all. The ingredients are often spoiled because they are left in the middle of the baking floor as people cannot decide whose job it is to put them away. The communications with suppliers are broken, so there are delivery delays and underestimating/overestimating how much of butter and flour you need. The cherry on top — the team was never trained to make cookies after the factory was converted to the cookie factory from a candy factory.

The logical thing to improve the quality of cookies would be to start cleaning the floors daily, make everybody wash their hands, and wear a fresh uniform. In addition, you will need to train the team. You will need to establish clear baking processes everyone follows. You will need to fix the supply chain, define everybody's responsibilities, and maybe even change the recipe. Each thing will improve the quality a little bit, but only when all of them are done together we will get great cookies that customers will love.

Imagine if instead, you decided that you just add more thermometers in ovens to measure baking temperature with more precision. Then, being surprised that nothing improved, make the quality team taste cookies more often — before baking, after baking, and after packing. At the same time, you ignore all the concerns brought by the quality team and the customers because you need to make more cookies, change their shape and invest in advertising. Cookies meanwhile are shipped to the stores no matter what.

Sounds insane? If so why do we use such an approach when we build software? We add more testing and slapping monitoring on top and act surprised that it does not work. Only a continuous systematic approach to all aspects of building software can fix the quality. We need to have a good architecture, design, clear processes and standards, code hygiene, and in addition, not instead, testing and monitoring.

There is no magic bullet or one thing we can fix to get a free quality ride for life. Quality requires consistent investment and continuous efforts no matter what you do — baking cookies or building software.

--

--

Iryna Suprun

I started testing in 2007, and cannot stop since then. Software hates me and never works as expected, so I guess I was born to be a QA.