I really wanted to post a poll but apparently I don't have enough karma. =|<p>Curious what processes/techniques software companies use to make sure their codebase and by extension product remain good quality. Stuff like extensive code reviews, comprehensive unit tests, manual testing, pair programming, etc. - or do you just move fast and break stuff?
I know I'm old school, but having a set period for QA is just as important as having a spec. I always avoid having the coders test their own code, otherwise that's like having a writer proofread their own copy.
We use a three prong attack that has really boosted our code quality:<p>1. Automated unit tests AND behavior driven tests (outside-in testing)<p>2. Having the code checked by another developer by doing a code review or pair programming<p>3. Week of hardening where the code is tested by the project manager/business analyst/QA person<p>I really think that helps to cover all bases. Clients sometimes think it's overkill but it's much easier to fix a bug the earlier it's caught.