People don’t often understand the complexities that come with modern software development (which is what multiplayer games development is). Testing and QA is about trying to work out all of the variables that could present themselves in the real world and try to test them. However the variations and variables are, in a cross platform multiplayer sense, seemingly infinite. Throw in the fact that it’s hard to test how something will react on a live system such as Xbox’s and this is just about the worst thing that can happen for a QA team (morale wise!), because they don’t want to have let anything slip through but there is only so much testing that is humanly possible.
They could have pushed the date back a month, or 3, or 12… the reality is that there would always be a chance of bugs. This is 2015, it’s not 1995. Games used to be released bug free (though sometimes not!) because you could reliably test all the variables, now you can’t. Gamers need to adapt to the times and realise that bugs happen…if they can only play a game for a month they may want to hang back until it’s been out a few months so those bugs can be ironed out.
Testing is what we call a “long tail” activity in the end, that is that you can sink a LOT of time in to bug testing to try and get something perfect but ultimately end up spending a lot of money achieving very little for a long time. At some point, though no gamer wants to hear it, it’s bad economy to keep on bug testing, especially when releasing the product to the wild may show up those bugs much more quickly and more reproducibly.
The main issue here is that the whole accreditation system that has to be gone through for releasing patches is chaos, the delay in being able to patch bugs is horrible, but this isn’t a problem that is caused by the devs, so shouldn’t be the target of any ire on that front.