The jargon for this practice is multiversion programming.  Its based on the idea that different people will make different errors when implementing a design.  However, in practice we find that errors are actually moderately or even strongly correlated between different programmers.  So this practice is rather uncommon.