If design is bad, designer failed.
A programmer is not a developer. He is just a programmer. The people who mastermind the requirements and the purpose of the software are the developers. So we should never ask a programmer to develop our software. We should only ask him to program it.
Software engineering should not be a craft but an industry. Industry is more efficient than crafting. If you like crafting more than industry, welcome to year 1700.
People are not encouraged to be Morts though they should be. Instead you are left alone to cope with things, because of the lack of good organizational structure. Therefore you need your best einsteinical skills to survive in an environment of half chaos. But instead of that, people should be encouraged to be Morts, even helped to be Morts. Not weak Morts, but powerful Morts. When you have streamlined processes, your Mort is more efficient than 10 Einsteins in a crap company.
Software engineering tools should support all the aspects of software engineering. But the tools should also divide the aspects so, that it is easy to distinguish what functions belong to which aspect.
A programmer should not have all the functions of software engineering tool in front of him - only the functions that are required to program the software. Likewise, a designer should see only the functions that are needed to design the software. And what comes to creating a good architecture for software, the software engineering tools should again display only the aspect of software architecture.
If I am a programmer and start a SET, I don’t want to see myriad possibilities from all of the fields of the industry. I just want to do my job as a programmer. But if I am an architect, I want to really see what goes into that aspect. If I am an architect, I don’t want to just open an plain old IDE an start coding.
But asked more concretely: Who creates for example new graphical user interface widgets? The programmer, designer, architect, Mort, Elvis, or Einstein? The answer is that all of them make their own share of the job. The architect creates the overall frameworks for creating new widgets, the designer designs the widgets, and finally the programmer programs the widget. Then the Mort uses the widget for lots of simple applications, the Elvis uses the Widget for many complex applications, and the Einstein uses the widget for some scientifical applications.
There are Morts, Elvises, and Einsteins at all levels of software engineering. Still the engineering process should be as simple as possible, but not simpler, plus the process should take into account and divide all the aspects of the field. The simplicity draws the process towards Morts while creating new room for all of us to think more like Einstein.