The integration of separately developed software elements is often one of the biggest risks in software-intensive, software-dependent projects. Whilst some of these elements are specifically developed for the new system, others are frequently (parts of) legacy systems or general purpose off-the-shelf (OTS) components, military or commercial (MOTS or COTS), acquired from external software manufacturers. The latter two are commonly reused in new projects, often with substantial degree of modification in order to meet the new set of requirements. The assembly of these system components is typically done in one of the last stages of the development process – the system integration phase. Problems found late in software development are often disproportionately costly both in terms of time and money.