Civil, electrical, mechanical, et. al. forms of engineering have bodies of knowledge that change over decades, possibly centuries. Software engineering has a BOK that changes every 5 years. You *can't* evolve an engineering discipline from a field that is this volatile, *unless* you deliberately restrict your software (development) choices to well-known, well-proven sub-disciplines and tooling. The "crisis", then, seems to be its volatility, much more than its craftiness.