Embarking on parallel development introduces a number of risks over an above those that are encountered during single threaded development. Key risks are listed below:
· Change regression. This occurs when an application is undergoing two sets of parallel changes and the some of the changes that are applied to the first release are missed out of latter releases and hence causing the code to regress. In a development support scenario this occurs when some maintenance support changes are applied to the live system and missed out of the future development release. When the future development release is applied to live the maintenance support changes are lost.
· Release cross-over. This occurs when changes targeted for a release accidentally appear in another. At best this results in the early introduction of new functionality, at worst this results in a complete failure in one or more of the releases due to a mismatch in code baselines.
· Most organisations embark on parallel development to speed up development. In certain cases parallel development may actually slow down development because parallel development introduces the need to apply and test changes separately to each parallel release.