Quality in a bottle
Years ago, I designed and developed a “bottling system” simulation. Back then, object-oriented programming was a revolution on IT. That software was simulating a bottling process involving a vat with liquid in a particular pH (acidity or alkalinity of a solution – chemistry jargon!). In a nutshell, as the vat level was dropping and the new liquid was added in, it was necessary to control the solution’s pH as the liquid ending on the bottles should have for instance pH equals 7.5 (7 is neutral pH). In reality, a bit of tolerance was expected though.
The reason I brought all this to my mind, and the reason I wrote this script eventually, is an analogy I lately thought. If the filled bottle is the shippable product and its liquid is the software whose quality matters and satisfies the consumer, what is the vat, the raw liquid that is constantly filling the vat, and the pH control mechanism. Well, isn’t it obvious?
The vat seems to be the software process. It needs to constantly be filled with new requirements, change requests, new resources, design ideas, bugs, etc. and as the software is being released, vat’s level drops. Then new content comes in, resources move around, requirements change, management processes come up-to-date and all that affects the software that is going to be released.
Apparently, the analogy here is that pH control reflects Quality Assurance. It is always of high importance to mind quality. There is no destination and it is an endless journey. In Atos, we carry long experience and expertise with delivering products of top quality. Our products are among the favorites in several domains and have been awarded for their extended feature set, amazing capabilities, outstanding performance, and stability along with vibrant user experience taking into consideration accessibility aspects, to name a few.
As mentioned earlier though, caring for Quality never ends. In my opinion, the following bullets are also great gatekeepers to assure quality further.
- While designing, mind your customer wishes or market trends, if necessary. Designing along with planning might be the hardest part of software development. If errors in that phase occur, they may be carried over to the end-product, and corrections at that point are going to be costly and cause unaccepted delays.
- While developing (coding) the software, mind that it is not a race against the time but a bet for achieving the highest possible robustness. Eliminate technical dept, invest in stability and the results will be surprisingly good.
- Embrace Release Management to secure proper planning, controlled content, and regular stable deliveries. Jointly with Continues Integration and Continues Delivery (CI/CD), Release Management plays a vital role in monitoring the wide software development and quality assurance process evaluating risks and managing changes.
- Finally, adopt DevOps paradigm. It is a modern corporate culture that encourages accountability from software engineers to operations specialists for what is running on the field. This will lead to effectively manage product resilience.
Handling quality effectively will result in an even better reputation and higher trust. After putting the best quality on the bottle, it is time to invest in advancing to new technologies, innovate and invent the new big thing!