Failing fast and often may seem counterintuitive but it's a very good ethos to work to. If a bug is created but it is not spotted until it has gone live, the cost of rectifying the bug is high (it could be a completely new release), not to mention the impact it could have on your reputation and possibly your revenue. Finding bugs early on is a must. This is also a great strategy to reduce the risk of escaped defects
Test first programming is a logical answer to this issue. Test driven development (TDD) is based upon the principle of finding fault with software very early on in the process. Before code development begins, tests are written to cover the majority of the use cases the software has to cater to.
As the code is being written, these tests can be run again and again. If the code fails at this point that is a good thing as the only person impacted is the software engineer rather than your customers.
This may sound strange—especially for the managers out there — but if bugs are found at earlier stage, you should not make a big thing of it and you should not chastise people. There may be some banter around the office but nothing more.
Find the problem, find out why it happened, fix it, learn from it, and move on.
RestCase Simple API Management software helps to identify the bugs and problems at earlier stages. The integration time between developers, testers and clients is being reduced with much more efficiency thus reducing the cost of change!
One of the things that can sometimes scupper implementing engineering practices such as TDD is the size and complexity of the software platform itself. It may be a very daunting task to retrospectively implement a test suite for a software system that was not built around these principles. If this is the case then it may be wise to start small and build up.