The complexity of modern software and Apps makes assumptions about quality particularly dangerous. Even the most skilled, agile dev team can make mistakes – and these can survive (or be magnified by) multiple iterations.
Rather than seeing QA as a hindrance, developers need to see testers as collaborators in a shared endeavour. Mistakes that are found in the early stages of development can typically be fixed without adding significantly to the overall project timeframe.
Equally, testing can replicate the user experience – before it goes live. By the time that ‘real users’ (that is, paying customers) start using the software, you will have gained excellent insights into how your software will function in real-world scenarios and how it interacts with other products and devices.