The three little pigs, or how to produce quality software
The original fairy tale, with which you are surely familiar, will help me explain a very simple, but far from obvious, concept: how to produce quality software.
The story goes that…
The three little pigs, who left home one day to seek their fortune out in the world, were the protagonists of our bedtime stories. And today they are still the custodians of a fundamental moral.
Let me refresh your memory.
These three brothers spotted a big bad wolf on their way and decided to split up, so that each of them could build a shelter for themselves.
The first pig, the laziest one, went to a farmer to ask for some straw to build a hut. He did not work long: our new homeowner laid down under a tree and immediately fell asleep.
The second pig went to a lumberjack to ask for some wood to build a shack. He couldn't wait to play with a frog and so he built his house in a hurry.
The third pig, the wisest one, went to a bricklayer to ask for bricks and concrete: he had to work long and hard to get a nice, solid and safe house.
Meanwhile, the famous big bad wolf was still wandering in search of its succulent preys. With his powerful puff he managed to tear down the straw hut and the wooden shack and the two short-sighted little pigs were forced to seek shelter in their older brother’s brick house.
In front of such a solid and beautiful house, the wolf did not lose heart and kept blowing, convinced that he could destroy it too. But shortly after, he got out of breath and the brick house was still firmly stuck to the ground. His attempt of sliding down the chimney didn't work either.
The villain was therefore put to flight and the three brothers were finally able to celebrate.
The three little pigs are programmers
What does the tale of the three little pigs have to do with software development?
During summer holidays, I got to spend a lot of time with my son and I had the opportunity to savour this fairy tale for the first time as an adult.
While reading the simple words of a children's book, I realised that the lessons that can be learned from them can easily be compared to software development.
What do I mean? I'll explain right away.
Basically the fairy tale teaches us that only hard work and perseverance will bring us the desired results in the end.
So these are the three software development little pigs.
The first little pig developed his software in a very short time and using low quality CMS, without a bit of previous analysis. The wolf can quickly find bugs and break the software in no time.
The second little pig developed his software using good tools but, hurrying to get through it, he didn't write any tests. The wolf, with little effort, manages to break the software and ruin the little pig’s day.
The third little pig developed his software by creating a backlog, using professional tools, a team of professionals, writing tests for each feature and building an automatic and strong delivery process. The wolf just can't break the software, not even sliding down the chimney.
The three little pigs thus end up using their older and wiser brother's software.
What is the moral?
Each story has its moral, even the one of the three programmer little pigs.
The heart of the matter is that you need time and resources to deliver quality software: a product, capable of doing exactly what you expect or what your customers need, goes through different work phases to which you have to devote the right number of hours and a fair amount of money.
And I would also add the right process.
If working correctly and with an adequate budget to support the project is necessary, it is also true that by applying an appropriate mindset and a clear and agile working method, you considerably reduce resource waste, both in terms of time and money.
In short, we aim to be the third little pig, the one who gets his hands dirty with concrete and bricks. And maybe even places a flower pot on the balcony.