Confidence Fosters Effectiveness

Software developers can only be effective to the extent that they are confident.

Continuous Release
When the certainty of successful production releases is not always 100% a team may tend to hold back a bit and not push for the release. Who would really want to rush into a release knowing that there is always a few days of stressful issues after the release. By using automation and releasing often this stress level will go away and that mental energy spent worrying and that physical time spent fixing will be able to be spent on finding the right solutions to problems.

Testing and Coverage
Not knowing the impact of a code change can have far reaching affects on the team. You will not only feel like you’re playing wack a mole with software bugs but you will also not be inclined to make the best architectural decisions. Who would want to refactor a hunk of code when there’s no way to tell what the impact will be, you may end up fixing a bug in the code that is treated as expected behavior by the users of the code. The importance of automated testing is not only to meet some methodology standard but is really to install confidence, allow easier and less impacting changes, and to remove wasted time and energy from the process.