Abstract: The ?rst and most important step in solving any problem is understanding the problem well enough to create e?ective solutions. To this end, several software-related space- craft accidents were studied to determine common systemic factors. Although the details in each accident were di?erent, very similar factors related to ?aws in the safety culture, the management and organization, and technical de?ciencies were identi?ed. These factors include complacency and discounting of software risk, di?usion of responsibility and authority, limited communication channelsand poor information ?ow, inadequate system and software engineering (poor or missing speci?cations, unnecessary complexity and software functionality, software reuse without appropriate safety analysis, violation of basic safety engineering practices in the digital components), inadequate review activities, ine?ective system safety engineering, ?awed test and simulation environments, and inadequate human factors engineering. Each of these factors is discussed along with some recommendations on how to eliminate them in future projects.