Agreed - there’s a lot to this - it would probably require major methodology shifts in engineering at Steinberg. I earn my living code too - more in the middle-ware space though. I have no idea if they’re practicing any kind of agile development, but I’m certain they don’t do enough test-first-design, where frameworks live around the code for unit testing.
I wanted to share a decade old anecdote, where we built one of the best test environments I’ve heard of, and it’s a model that I think would probably work very well for Steinberg.
Where upon every single checkin, the entire product was built, the installers were built, product installed, and then the final product automated to run against an “end-game” round of integration tests. This product was actually a server and client java code generation tool for web-services, including j2ME code generation for smart-phones - so the integration tests weren’t exactly trivial. The generated code was compiled on multiple platforms and then ran live interoperability tests across the internet, interfacing our own test servers and with all of the other vendor’s online test implementations of the SOAP specification. The entire checkin-build-buildinstaller-install-generate-compilegeneratedcode-run-report cycle ran several times a day, anytime anyone checked in code!
Furthermore, this team consisted of only 10 or so people working in remote locations (East Coast US, West Coast, Australia and Ireland!). Automation was the key - if a checkin broke any unit or integration tests, an shameful email with the developers name and the offending code changes was sent around the world ![]()
To get a team to this level is NOT easy - and I haven’t seen it to that degree ever since. IMHO, the hardest part is getting buy-in from team leadership and from product management. Developers gripe about having to handle so much “additional” test code, but it’s not as hard as convincing management that the extra up-front overhead on infrastructure is worth it.
Whew - sorry for the ramble… back to my code.
Dave