It's unfortunate because as I see it, most scientific software is universally awful. It suffers from poor usability, poor maintainability, poor stability. Whole swaths of software are abandoned because they were someone's PhD thesis and that person has since moved on. Another commenter here is right: version control, bug tracking, testing, etc... are all luxuries that are seldom employed.
Shameless plug: If you're a hacker and interested in this stuff and want to help, we're always looking for contributors for our open source biomedical data discovery framework: http://harvest.research.chop.edu/ We're trying hard to not do all the things I listed above.
Many of these scientists are not using version control. They don't have proper websites for their software. The codebases are a mess, and the software is very buggy. This is all low-hanging fruit that most software developers will be able to fix (if the scientists whose code it is are amenable to those fixes - many times they are not).
To be clear: none of this is properly incentivized by the funders, so there's not much selection for this behavior.