There are three aspects to software engineering - Minimalism, Design, Frugal Coding. Minimalism is aided by Product managers. Design is aided by Architects. Frugal Coding is aided by Project Managers. Software engineering is about getting the three parts