A little over a year ago I blogged about what we were doing about Delphi quality which, at that time, largely focused on improving people processes like creating a Quality Architect position, scheduling frequent quality reviews and creating a quality “report card”. Those things were all very effective at turning the quality of the product around quickly which I believe is evident in the quality of BDS 2006.
Recently, the attention has been on the actual bits rather than the people. We’ve revamped our entire build process moving from standard makefiles to MSBuild. We’re using CruiseControl.NET to manage the build process triggering a build when there are changes to the source repository. When the build completes a Zombie (our internal UI automation framework) test suite is executed to ensure that basic functionality of the IDE is working correctly and lastly the status of the build is reported out to R&D using CCTray which is a Windows tray application that indicates the current status of the build (success, broken, building, or offline).
We’re now in the process of moving the CruiseControl server which currently runs on a lowly Dell box to a VM running on a VMWare ESX server that way we can quickly restore it to a “fresh known state” avoiding the typical bit rot Windows boxes tend to suffer. Additionally, we’re working to chain our integration build machine to automatically build an install and multiple QA automation VM’s to install and launch existing test suites all using CruiseControl. Like they used to say on the A-Team, I love it when a plan comes together!