   Programming Methods - "Parallel Development"
  Are there any existing software development processes that involve a sort of parallel development scheme?I don't mean "parallel" as in the low-level implementation details such as multithreading, but "parallel" as in multiple separate implementations of (hopefully) orthogonal components that can be switched in and out. This in turn could be used to test out different combinations of certain module implementations.Does anyone know of software or setups that can do this?The only one I can think of right now is a set of versioning specfic to the modules... It would enforce a sort of orthogonality, or allow for a free-flowing change in implementation if a programmer what's to add the versioning across different models...   
  You might find this article interesting.Granularity of reusability and software packages. It touches on the issues you mentioned.   