The best way to discover this is to ask somebody to deliver something quicker than how it was originally estimated. What is the first thing that will be given up in order to meet the deadlines; it is the detailed unit-testing. Some unit-testing will be done, but not to the level that software developers would like to. To keep the stability in this project, you cut down on the detailed unit-testing and focus more on the integration testing which is the one that matters at the end of the day. Integration testing is the testing where you discover if your module works well with the modules that other developers coded. The sooner you put focus on this the more stable the product will be for the official QA testing and ultimately for your end customer.
So what is the point that I am trying to emphasize here. It is the following:
Write code with the approach of understanding what the top integration tests you need to pass.
Do the positive and negative integration testing as you are closer to finishing up your code; this naturally requires the coordination with other developers to provide you the stubbed versions of their code if they are not ready to provide you the full functionality.
Go back into your code and make sure you do your unit-testing by having the full proof code coverage.
#softwaredevelopment #softwareengineering #developers #development #QA #quality #integration #testing #unit-testing