“The cost of fixing a bug in a shipped, live software product is hundreds of times higher than fixing it during the development phase.”