A new very remarkable bug in Xamarin for VS 2015/2017 came out this week regarding some weird locking for PCL dlls that the team is addressing now as seen in this bugzilla thread https://bugzilla.xamarin.com/show_bug.cgi?id=56275
And this kept me thinking, this is so bad, how is it possible that a new release fails QA in a so basic scenario (maybe of the most basics) of compiling any project to see how the new release works. And as you can see from the long thread this happens to every machine and the workarounds may or not, work depending of the setup. Also, yes there is rage, and is justified, because this should not ever have hit the stable channel, even worse, take so long to fix, verify and release to developers creating performance and delay issues, we have enough annoyances in VS/Xamarin already we have to deal with everyday!
This happens in a big name like Microsoft, with critical technology that a lot of people relies on, and this happens way more often in the field with smaller companies. It is worrying that QA practices are left for the last, even though there are so many tools and theory available to manage QA properly (and I’m not sure if bugzilla helps them much)
QA should be part of any software process and should happen early and often, even if it’s annoying to find and fix bugs, but we are supposed to be creating quality stuff, rising the expectations (and money with it), and as developers adopt good practices of software engineering, not just fast code everything and reuse prebuilt stuff.
We should improve at every project and learn from others collectively. We should be known as people who are expected to build quality software from release 1 or at least try, and not let the world expect to have to wait for some time until something is “stable enough”. This is related a lot to how a client perceives time needed to develop something of quality, and more often than not, developers seem forced to reduce time estimates and QA resources in order to meet deadlines creating a perception that quality is luxury that should not be invested in early since it will have to be fixed later, this later fixing is money lose for both sides for certain.
A lot of people can do quick and dirty bad code, a few can engineer sustainable solutions. What kind do you want to be?