Yesterday I was at a CIO forum and one of the presentations was about Enterprise Architecture Planning within the West Australian State Government. They were pushing the idea that government departments should work together as a single organisation rather than as separate and sometimes competing entities and they used the phrase:
Reuse before buy before build.
I think that's great.
If there is existing software that you or another department has developed or have already licensed, or there is open source software available use that first.
Only if reuse is not possible, then look at buying an off the shelf solution.
Finally, if there is no existing open source solution and no off the shelf solution, then develop a new solution.