Last month we rolled the System Automation tool into production that we have been working for last 8 months. I would rank it as a fairly complex application with integration between Various System and low level network components. Since the roll out there has been some minor cosmetic changes and feature enhancement but overall no Bugs! Yes, I mean it, not a single Issue filed on Jira with ‘Bug’ category!
I remember about 8 years ago when I started my career, Production Release was a big deal. We would often do it on the weekend, prepare for it intensively and after the release we would always work nights to fix the critical bugs that came up after release. With great joy I am feeling the wind of change of that trend. Among the 5+ release that I was involved in for last 4 years with different products in different companies, Bug free (at least major bug free) software seems to be the new Trend! Production Release has become the boring activity that someone just do in the Lunch time!
What happened? Did we hire more QA? Did we all suddenly become super programers who don’t produce any bug? No! I think what changed is the mindset of how we are working now a days. What triggered the mindset you ask? Its the agile movement. After doing Scrum/Agile for last 5 years, I am so confident to say its the best (if not only) way to build software. Agile forced us to care about the quality, craftsmanship, value of unit testing, value of functional testing, Continuous Integration, automated tests.
As we are getting more and more matured in the software development process, I can see we are getting past all the debates around best practices and growing a common consensus. I always felt software development is too much of a dynamic process and its unlikely to become as structured as the other engineering disciplines like Architecture or Civil. But may be that is not true, may be we will be just like them after 50 years ! Just my random thoughts 🙂