In software it never works like that. Costs more to build it with contractors and then because you get rid of the contractors support is done by people unfamiliar with the code so support costs more, upgrades cost more because new contractors need time to learn the codebase or the old contractors charge more because they know the codebase.