Quality is not free. You have to assign big part of your project budget to QA activities. I believe most efficient way to deliver high quality software products is to move QA as early as possible in the software development process.
My vision of software development process consists then:
- extensive automated unit testing run by every developer
- working continuous integration machinery (with simple integration-level tests to track big regressions)
- static analysis when possible
- continuous: for every bug from QA: process change = f(bug) to prevent them in a future
- maximize and automate information flow in whole system (development, QA, customer, production (!))
Aplikacja.info is a small software development company that uses above methods.
