Ineffective management. Technology fragmentation - many technology platforms, configuration methods, programming languages, repository types, delivery methods, build systems, etc.. Documentation was sparse, and usually out of date or incorrect. Knowledge was tribal, and almost exclusively transferred verbally. Tall ivory towers surrounded by large moats. Difficult or impossible to grok it all.