Good software architecture is the most important defense against incidental complexity in software designs, but good architecting skills are not common.- NASA Study on Flight Software Complexity