There is a huge overlap between good software design and secure systems, you can enable both by thinking about threats early and including threat modelling as part of your design process.
Forget for a moment test cases, code coverage, functional specs ... if someone asked you to describe the behaviour of your system (or a part of the system), could you describe it in a few minutes?
A developer creating code and throwing it over the wall. Satisfied his code is great, the developer moves onto another story card, task or project, that developer has put this code far out of their mind - it's someone else's problem now.